Federated Learning with Personalization Layers

发布时间:2023年12月18日

针对数据统计异质性——>提出基于基础+个性化层的深度前馈神经网络联合训练方法FEDPER

数据异质性所带来具体的挑战:

不同客户端的有效数据分布可能在参与的设备之间(可能有数百万台)差异很大。

这种统计异质性可能会损害机器学习训练算法在个性化、推荐、欺诈检测等应用中的性能,因为传统的机器学习训练算法是为可以严格控制数据分区的中央或分布式计算环境设计的

研究个性化设置作为深度前馈神经网络联邦学习中统计异质性来源的影响

现有的研究不能处理这类问题的具体原因:

(1)个性化模型必须在不同的用户之间有所不同,以便能够预测相似测试数据的不同标签。联邦学习是学习一个全局模型,并在每个客户端本地有效地复制它。

(2)每个用户的训练样本数量不足以单独训练单个ML模型。因此,需要一些沟通和协作来利用人群的智慧。然而,协同过滤算法可能不适用,因为它们需要不同用户评价的项目之间有相当大的重叠。

针对数据异构提出,为解决server端模型不能处理本地用户的个性化问题。比如相同的数据在不同的用户客户端上面接收不同的标签

贡献:

1、将深度学习模型视为基础层+个性化层来捕获联邦学习中的个性化方面

训练算法包括通过联邦平均(或其变体)训练的基础层和仅通过随机梯度下降(或其变体)从局部数据训练的个性化层。

证明了不受联邦平均(FEDAvG)过程影响的个性化层可以帮助对抗统计异质性的不良影响。

图1:提议的联邦个性化方法的图形视图。
所有用户设备共享一组具有相同权重(蓝色)的基础层,并具有不同的个性化层,可以潜在地适应个人数据。基础层与参数服务器共享,而个性化层则由每个设备保持私有。

?所有用户设备共享相同的基础层(蓝色层),并具有独特的个性化层(红、绿、黄层),构成深度前馈神经网络模型。

2、通过比较标准的联邦学习设置与我们的联邦个性化方法的性能来证明标准的联邦学习设置非常不适合个性化任务,其中包括两个数据集:(a)非相同分区的CIFAR-10/CIFAR-100数据集(b) Ren et al.(2017)的FLICKR-AES数据集。

标准联邦学习在FLICKR-AES数据集上的失败在定性和定量上与它在非相同分区上的糟糕表现有很大的不同CIFAR-100 数据集。

FedPer 先在全局数据上训练基础层,再在本地数据上训练个性化层,避免了联邦迁移学习需要重训练的问题。

“基础+个性化层”概念:

“基础+个性化层”概念用于联邦深度学习,有效地学习不同重叠的局部模型,以更好地捕获统计异质性。该方法扩展了的原始范围联邦学习就是训练一个全局模型并在所有用户设备上复制它。

“基础+个性化层”结构基于拆分原则,是在完全不同的数据集和更小的数据量分布上进行激励和评估的。

基础层权重矩阵:

基础层权重矩阵通常是在深度学习中的卷积神经网络(CNN)中使用的概念。在这种网络中,"基础层"通常指的是靠近输入层的卷积层,它们通过滤波器提取图像的特征。权重矩阵则是指网络中用于转换输入数据的矩阵,它包含了网络在学习过程中学到的权重。

在卷积神经网络中,基础层的权重矩阵是用来定义卷积核的,这些卷积核可以提取图像的不同特征。每个卷积核是一个小的矩阵,它在图像上滑动(进行卷积操作),以提取局部特征。因此,基础层的权重矩阵就是所有卷积核的集合。
在训练过程中,网络会通过反向传播算法来更新这些权重,以达到更好的特征提取效果。权重矩阵的元素是网络参数,它们决定了网络的学习能力和特定任务的表现。

基础层权重矩阵是卷积神经网络中用于特征提取的卷积核集合,它包含了网络在学习过程中调整的参数。这些参数的调整目标是优化网络在特定任务上的表现,如分类、检测或分割等。

算法:

提出的个性化联邦训练算法FEDPER通过算法1和算法2进行描述。

算法2中详细描述了FEDPER服务器组件的步骤,算法1中描述了第j个客户端的步骤。

服务器使用基于FEDAVG的方法来全局训练基础层,而每个客户端使用SGD风格的算法在本地(在连续的全局聚合之间)更新其基础层和个性化层。

以下假设:

(a)数据集在全局聚合的任何客户端不会改变

(b) b和e在客户和全局聚合不变

(c)每个客户端使用SGD更新全局聚合

(d) N用户设备在整个训练过程中十分活跃

WP是个性化参数,放在WB层的后面。更新只更新WB参数,不更新本地的WP参数,这样可以保持个性化的预测。

实验模型架构:

模型架构:ResNet-34和MobileNet-v1系列的卷积神经网络,通过多次组合各自的基本块来构建

ResNet-34和MobileNet-v1分别有16个和11个基本块。ResNet的基本块是由2个卷积层和一个残差连接组成的残差块,而MobileNet的基本块由一个深度卷积层和一个点向卷积层组成

以基本块为单位描绘基础层和个性化层

ResNet-34
ResNet-34是基于残差网络(ResNet)的变体,其核心思想是通过引入残差学习单元(Residual Unit)来解决深层网络训练中的梯度消失和梯度爆炸问题。这种网络结构使得神经网络可以加深,而不会因为深度增加而出现训练困难或性能退化的问题。


ResNet-34的结构特点如下:
深度:ResNet-34包含了34个卷积层,相对于其他ResNet模型(如ResNet-18、ResNet-50等)来说,层数更多,可以提取更复杂的特征。
残差单元:每个残差单元内部包含几个卷积层,并有一个跨层连接(shortcut connection),它允许单元的输入直接加到输出上。
恒等映射:通过学习输入与输出之间的残差映射(即输出减去输入),而不是直接学习输出,使得网络更易于优化。
性能:在ImageNet等大规模数据集上预训练后,ResNet-34可以达到较高的准确率,同时在其他图像识别任务中进行迁移学习也能取得良好效果。

MobileNet-v1
MobileNet-v1是Google提出的一种针对移动和边缘设备优化的卷积神经网络架构,它的设计目标是平衡计算效率和模型性能。MobileNet-v1采用了深度可分离卷积(Depthwise Separable Convolution)和宽度乘数(width multiplier)等关键技术,以减少模型的复杂度和计算量。


MobileNet-v1的结构特点如下:
深度可分离卷积:它采用了一种新的卷积操作,称为深度可分离卷积。这种卷积操作将传统的卷积分解为两个独立的卷积层,即深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)。深度卷积层用于在空间上独立地处理每个通道,逐点卷积层用于将深度卷积的输出通道进行组合。这种卷积操作可以减少模型的参数数量和计算量,同时保持较高的模型性能。
宽度乘数:MobileNet-v1允许用户通过宽度乘数(width multiplier)来调整模型的宽度。宽度乘数决定了模型中每个卷积层的输出通道数,通过调整宽度乘数可以在性能和计算之间进行权衡。较小的宽度乘数会减少模型的参数数量和计算量,但可能会导致性能下降;较大的宽度乘数则会提高模型性能,但计算成本也会增加。
轻量级:MobileNet-v1的结构在保持较高准确率的同时,参数数量和计算量都相对较少,特别适合在移动和嵌入式设备上部署。

ResNet-34和MobileNet-v1在以下几个方面有所不同:
设计哲学:ResNet-34的设计是为了解决深层网络训练的难题,而MobileNet-v1的设计是为了在有限的计算资源下实现高效的模型运算。
复杂度:ResNet-34的结构较为复杂,参数数量较多,而MobileNet-v1通过深度可分离卷积减少了模型的复杂度。
应用场景:ResNet-34更适用于需要高精度的图像识别任务,而MobileNet-v1则更适合移动和边缘计算设备。

参考:

【1】FedPer(Federated Learning with Personalization Layers) - 知乎 (zhihu.com)

1、其实层与层之间的参数不是都需要上传,也不是都需要更新的,进行更细规模的区分,从而选择性的上传、更新,可以从某种程度上保存个性化的参数,也能够获取全局模型的参数。获取的全局模型的参数,可以聚合多个模型的参数,从而在小的数据量的情况下,仍然可以得到较好的训练结果。

2、值得思考的一点是:为什么选择了个性化的层在基础层的后面而不是前面呢?在神经网络中,偏后面的层是更general的细节,偏前面的层是更spesific的细节。学习个性化的不应该是spesific的细节会有更多的不一样吗?难道是因为最后和分类层相邻,和最后类别判定强相关,所以才选择了后面的层?如果颠倒一下会怎么样?

文章来源:https://blog.csdn.net/weixin_62646577/article/details/134982602
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。