Ditto论文阅读笔记
Posted LeoJarvis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ditto论文阅读笔记相关的知识,希望对你有一定的参考价值。
《Ditto: Fair and Robust Federated Learning Through Personalization》这篇文章的作者之一Virginia Smith于2017年提出了Federated Multi-Task Learning用于实现个性化联邦学习。这篇文章提出的Ditto算法也是基于联邦多任务学习的个性化方法,目的在于同时提升联邦学习中的公平性和鲁棒性。
FL公平性和鲁棒性的定义
公平性:不同设备的本地模型具有相同性能
鲁棒性:具体指拜占庭鲁棒性,即恶意节点可以给服务器发送任意更新来破坏训练阶段。常见的三类比较常见的训练阶段攻击:
存在的问题:
之前的研究只单独考虑公平性或者鲁棒性,并且提高公平性会以牺牲鲁棒性为代价。而提高鲁棒性的方法可能会过滤掉一些罕见但又有价值的更新参数,从而降低了不公平。简单讲就是目前还没有一种有效方法能同时提升公平性和鲁棒性。
这篇文章的作者提出数据异构性是导致这一问题的而主要原因,并提出用应用多任务学习(多任务学习内在原理可以很自然的同时提升公平性和鲁棒性)
Ditto
Ditto的全局目标函数
Ditto的全局目标是对参与训练的本地模型的聚合,可以应用目前所有的聚合方法,如FedAvg,FedProx等。式中
F
k
F_k
Fk(w)是本地目标函数,G(·)是聚合函数。
Ditto的本地目标函数
Ditto新定义的本地目标函数其实就是在原始的本地目标函数的基础上加上一个正则项,其中
v
k
v_k
vk是设备k的个性化模型,
w
∗
w^*
w∗是全局模型。实际上文章的重点就在于这个超参数λ,也是λ实现了能够同时提升鲁棒性和公平性。具体为什么可以看后面的分析。
Ditto算法框架
Ditto的伪代码如Algorithm 1所示。需要注意的是设备训练的本地模型是通过加上正则化项的目标函数,而传给服务器的更新参数则是不加正则化项的。
正如前面说的Sever aggregates可以应用目前任何聚合算法,文章以FedAvg为例给出了伪代码如Algorithm 2所示
粉色标记部分就是文章所做的主要研究,可以看到,除了聚合函数可以随意选择外,主要的特点在于往加入了原先的本地目标函数加上了一个正则化项,为什么这么简单就能同时满足鲁棒性和公平性呢?
正则化项的作用
由于恶意节点会破环全局模型的训练,所以单纯将全局模型应用于各异构性设备的效果可能会非常糟糕;而良性节点单纯依靠本地的少量数据又无法训练出较好的模型。Ditto通过超参数λ在个性化模型和全局模型之间做trade-off。λ越大,个性化模型 v k v_k vk越接近全局模型w,λ越小,个性化模型 v k v_k vk越偏离受毒害的全局模型w。各设备通过调整λ的值在全局模型和本地模型之间找到适合自己的个性化模型。这样就可以同时提升鲁棒性和公平性。
实验
实验设置
数据集使用的是常规的联邦学习数据集,包括图像数据集和文本数据集,模型包括凸模型和非凸模型。
鲁棒性实验
测试Ditto在不同比例的恶意节点下的鲁棒性,比较对象为其他鲁棒性算法。
鲁棒性评价指标:良性节点在测试集的平均准确率
公平性实验
将Ditto与近期提出的公平性联邦学习算法TERM进行实验对比
公平性评价指标:良性节点在测试集的平均准确率
Ditto,FedProx,L2GD
前面总结过FedProx,L2GD这两个算法。这三个算法都是在聚合全局模型的基础上加入一个正则化项
其中FedProx算法是通过γ不等式动态控制每个节点在每轮通信下的更新次数;
L2GD算法是通过概率p控制节点训练/服务器聚合,并且分两次进行GD更新,一次是在节点训练的时候,一次是在服务器聚合后;
Ditto算法是通过在原处的本地目标函数中加上一个正则项,再继续优化本地模型,最后传给服务器的是没有加正则项的优化参数更新,实现了Local和Global两不耽误。
此外,FedProx和L2GD算法正则项的参数是固定的,Ditto的正则参数是动态调整的。正则项中节点模型减去的项也有所差别,FedProx是减去上一轮的全局模型,L2GD减去所有节点模型的平均值,Ditto减去全局最优模型。
参考
https://zhuanlan.zhihu.com/p/372772592
https://zhuanlan.zhihu.com/p/375761132
以上是关于Ditto论文阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章
SurfaceDefectsDetectionBasedonAdaptiveMultiscaleImageCollectionandConvolutionalNeuralNetworks-论文阅读笔记