联邦类增量学习

FCIL

联邦类增量学习

已经参与联邦学习的用户经常可能收到新的类别,但是考虑到每个用户自己设备的存储空间有限,很难对其收集到的所有类别都保存下足够数量的数据。这种情况会导致联邦学习模型对于旧类数据的性能遇到严重的灾难性遗忘。

全局-局部遗忘补偿(GLFC)模型,同时从global和local 俩个角度出发,尽可能的减弱灾难性遗忘,使联邦学习最终可训练一个全局增量模型。

  1. 为了解决由于local client的类别不平衡导致的local forgetting,我们设计了一个class-aware gradient compensation loss和一个class-semantic relation distillation loss来平衡旧类的遗忘并保证跨任务的类间关系一致性。
  2. 为了解决各用户之间非独立同分布类别不平衡带来的global forgetting,我们提出了一个代理服务器,它会选择最好的旧全局模型来辅助各个用户的本地训练。
  3. 为了保护代理服务器和用户间通信的隐私安全性,我们提出了一种基于梯度的prototype sample通信机制。从本地客户端收集新类的扰动原型样本,然后利用它们来监测全局模型的性能,以选择最佳模型。

交叉熵是指俩个分布之间的距离,距离越小,分布越接近

二元交叉熵损失函数常被用来处理二分类问题,公式如下:
二元交叉熵数学表达式
y i y_i yi 是标签1或0,即二分类的是或不是, p ( y i ) p(y_i) p(yi) 可以理解为对应真实标签 y i y_i yi 的预测标签值。

KL散度
联邦类增量学习_第1张图片

FCIL的目标是通过与全局中央服务器 S G S_G SG 通信本地模型参数,有效地训练全局模型参数,连续学习新类,同时在隐私保护的要求下缓解对旧类的灾难性遗忘。

从第一个增量任务开始,所有客户端都需要通过等式计算其私有训练数据的平均熵。(7)在每个全局轮开始时,并遵循iCaRL[37]更新其示例存储器 M l M_l Ml 。对于每一轮全局训练,中央服务器 S G S_G SG 随机选择一组本地客户端进行本地训练。之后,当所选择的客户端通过任务转移检测策略识别新类时,它们将构建这些新类的扰动原型样本,并通过基于原型梯度的通信机制将相应的梯度共享给代理服务器 S P S_P SP 。在接收到这些梯度后, S P S_P SP 重建这些原型样本,并利用它们来选择最佳全局模型 θ t \theta_t θt,直到下次收集梯度为止。在接收到这些梯度后, S P S_P SP 重建这些原型样本,并利用它们来选择最佳全局模型 θ t \theta^t θt ,直到下次收集梯度为止。从第二个任务(t=2)开始, S P S_P SP 将向选定的客户端分发上一个和当前任务的最佳模型(即 θ t − 1 \theta^{t-1} θt1 θ t \theta^t θt)。然后,第l个客户端使用 θ t − 1 \theta^{t-1} θt1作为其 θ l t − 1 \theta^{t-1}_l θlt1,通过优化loss来更新当前局部模型 θ l r , t \theta_l^{r,t} θlr,t ,当它没有通过任务转移检测检测到新类时。否则,它使用 θ t \theta^t θt来训练当前的局部模型 θ l r , t \theta_l^{r,t} θlr,t。最后, S G S_G SG聚合更新的局部模型 θ l r , t \theta_l^{r,t} θlr,t,得到下一个全局模型 θ l r + 1 , t \theta_l^{r+1,t} θlr+1,t

实验

为了与FCIL设置中的基线类增量学习方法[1,11,17,37,43,49]进行公平比较,我们遵循[37,49]提出的相同协议来设置增量任务,使用从iCaRL[37]生成的相同类顺序,并使用相同的主干(即ResNet18[15])作为分类模型[2]。学习率为2.0的SGD优化器用于训练所有模型。对于所有流任务,每个客户端的示例存储器M1被设置为2000。使用仅具有4层的浅LeNet[23]作为网络Γ。我们使用学习率为0.1的SGD优化器为本地客户端构建扰动样本,同时使用学习率1.0的L-BFGS优化器为代理服务器重构原型样本。

在第一个增量任务中,我们将本地客户端的数量初始化为30,当学习任务连续到达时,引入10个额外的新本地客户端。在每一轮全球培训中,我们随机选择10位客户进行20epoch本地培训。每个客户端从其可见任务的标签空间中随机接收60%的类。我们用3个随机种子(2021、2022、2023)进行了3次实验,并报告了平均结果

联邦类增量学习_第2张图片

你可能感兴趣的:(学习)