赞
踩
最近阅读了一篇CVPR上关于联邦学习的文章(将对比学习的思想融入到联邦学习中),作者是新加坡国立大学的Qinbin Li(博士生,导师 何炳胜),Bingsheng He(何炳胜教授,导师 宋晓东)以及加州大学伯克利分校的Dawn Song(宋晓东教授,论文总引用量7万+)。
- 论文一作个人主页: https://qinbinli.com
- 论文链接:CVPR版本,Arxiv版本
- 代码:https://github.com/QinbinLi/MOON
- 会议:CVPR 2021
CVPR作为计算机视觉领域的顶级会议(CCF-A),目前有4篇联邦学习相关的论文
- Multi-Institutional Collaborations for Improving Deep Learning-Based Magnetic Resonance Image Reconstruction Using Federated Learning
- Model-Contrastive Federated Learning
- FedDG: Federated Domain Generalization on Medical Image Segmentation via Episodic Learning in Continuous Frequency Space
- Soteria: Provable Defense Against Privacy Leakage in Federated Learning From Representation Perspective
今天要介绍的就是其中一篇论文《Model-Contrastive Federated Learning》
简单来说,作者在本地模型训练的时候加了个model-contrastive loss,使得在Non-IID的图片数据集上训练的联邦学习模型效果很好。
本文主要针对客户端本地训练阶段进行了改进(说白了就是加了个loss)。
对比学习的基本想法是同类相聚,异类相离
从不同的图像获得的表征应该相互远离,从相同的图像获得的表征应该彼此靠近
上图来自blog
这个想法是凭直觉获知的,但是已经被证明效果很好
SimCLR是对比学习中经典的方法。
每次采样N=128张图片,对这128张图片做两次augmentation,所以输入图片数量其实是256,然后把同一张图片的两个augmentation当作一对正样本 x i x_i xi, x j x_j xj,计算 l ( i , j ) l(i,j) l(i,j)时, i i i是锚点,分子是正样本对 ( x i , x j ) (x_i,x_j) (xi,xj),分母是正样本对 ( x i , x j ) (x_i,x_j) (xi,xj) + 2N-2个负样本对 ( x i , x k ) (x_i,x_k) (xi,xk),其中 k ≠ i , j k\neq i, j k=i,j
常用NT-Xent loss(the normalized temperature-scaled cross entropy loss)
l
i
,
j
=
−
log
exp
(
sim
(
x
i
,
x
j
)
/
τ
)
∑
k
=
1
2
N
I
[
k
≠
i
]
exp
(
sim
(
x
i
,
x
k
)
/
τ
)
l_{i, j}=-\log \frac{\exp \left(\operatorname{sim}\left(x_{i}, x_{j}\right) / \tau\right)}{\sum_{k=1}^{2 N} \mathbb{I}_{[k \neq i]} \exp \left(\operatorname{sim}\left(x_{i}, x_{k}\right) / \tau\right)}
li,j=−log∑k=12NI[k=i]exp(sim(xi,xk)/τ)exp(sim(xi,xj)/τ)
SimCLR伪代码 paper
本文基于这样一个直观的想法来解决Non-IID问题:
the model trained on the whole dataset is able to extract a better feature representation than the model trained on a skewed subset.
作者在CIFAR-10做了个实验,来验证他的这种直觉。
做法:用t-SNE可视化训练好的CNN模型在测试集上获得的隐藏层的表征向量。
通过T-SNE可视化表征向量,证实了如下观点:全局模型应该要比本地模型的性能好(全局模型能学到一个更好的表征),因此在non-iid的场景下,我们应该控制这种drift以及处理好由全局模型和本地模型学到的表征。
Since there is always drift in local training and the global model learns a better representation than the local model, MOON aims to decrease the distance between the representation learned by the local model and the representation learned by the global model, and increase the distance between the representation learned by the local model and the representation learned by the previous local model.
MOON在本地训练阶段,会有三个表征(representation)
With model weight w w w, R w ( ⋅ ) R_w(·) Rw(⋅) to denote the network before the output layer (i.e., R w ( x ) R_w (x) Rw(x) is the mapped representation vector of input x).
我们的目标是让 z z z靠近 z glob z_{\text {glob }} zglob (固定),让 z z z远离 z prev z_{\text {prev}} zprev(固定)。
我们的本地模型训练时的loss有两部分组成:传统的交叉熵损失 l s u p \mathcal{l}_{sup} lsup以及本文提出的model-contrastive loss( l c o n \mathcal{l}_{con} lcon)
类似对比学习中的NT-Xent loss,我们定义model-contrastive loss
ℓ
con
=
−
log
exp
(
sim
(
z
,
z
glob
)
/
τ
)
exp
(
sim
(
z
,
z
glob
)
/
τ
)
+
exp
(
sim
(
z
,
z
prev
)
/
τ
)
\ell_{\text {con }}=-\log \frac{\exp \left(\operatorname{sim}\left(z, z_{\text {glob }}\right) / \tau\right)}{\exp \left(\operatorname{sim}\left(z, z_{\text {glob }}\right) / \tau\right)+\exp \left(\operatorname{sim}\left(z, z_{\text {prev }}\right) / \tau\right)}
ℓcon =−logexp(sim(z,zglob )/τ)+exp(sim(z,zprev )/τ)exp(sim(z,zglob )/τ)
其中
τ
\tau
τ为温度系数,分子是正样本对
(
z
,
z
glob
)
(z, z_{\text {glob}})
(z,zglob),分母是正样本对
(
z
,
z
glob
)
(z, z_{\text {glob}})
(z,zglob)+负样本对
(
z
,
z
prev
)
(z, z_{\text {prev}})
(z,zprev)
MOON的优化目标(loss)如下:
ℓ
=
ℓ
sup
(
w
i
t
;
(
x
,
y
)
)
+
μ
ℓ
con
(
w
i
t
;
w
i
t
−
1
;
w
t
;
x
)
\ell=\ell_{\text {sup }}\left(w_{i}^{t} ;(x, y)\right)+\mu \ell_{\text {con }}\left(w_{i}^{t} ; w_{i}^{t-1} ; w^{t} ; x\right)
ℓ=ℓsup (wit;(x,y))+μℓcon (wit;wit−1;wt;x)
The network has three components: a base encoder, a projection head, and an output layer.
和FedAvg相比,MOON只在客户端本地训练过程中添加了 l c o n l_{con} lcon项
作者还对比了下SimCLR和MOON框架
作者还提到,理想情况下(IID),全局模型和本地模型训练得到的表征应该是一样好的,那么 l c o n l_{con} lcon是一个常数,此时会得到FedAvg一样的效果。在这种意义上,MOON比FedAvg更具鲁棒性(能处理Non-IID的情况)
Image classification datasets:CIFAR-10, CIFAR-100, and Tiny-Imagenet
作者通过实验展示了在数据集Non-IID的情况下FedProx,SCAFFOLD这些方法应用到图片数据集的效果会大打折扣,甚至和FedAvg一样差。
SOLO表示每个客户端只利用自己本地数据训练模型
本文从对比学习中常用的NT-Xent loss中获得灵感,提出了联邦模型对比学习MOON。
一句话总结:作者在联邦学习本地模型训练的时候加了个model-contrastive loss,使得在Non-IID的图片数据集上训练的联邦学习模型效果很好。
嘿嘿,完结撒花❀
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。