文章基本信息
作者:
- 唐晓岚(首都师范大学信息工程学院)
- 梁煜婷(首都师范大学信息工程学院)
- 陈文龙(首都师范大学信息工程学院,通讯作者,电子邮件:chenwenlong@cnu.edu.cn )
机构:
- 首都师范大学信息工程学院
- 期刊:《计算机研究与发展》(CCF A)
- 收稿日期:2023年10月31日
- 发表日期:2024年5月24日
- 解决问题:针对非独立同分布数据,提出一种多阶段联邦学习机制,解决数据收集和隐私保护问题
- 贡献:
- 提出了三阶段联邦学习机制(FedWO)
- 设计了模型传输控制策略
- 实验验证了方案的可行性
- 文章链接:面向非独立同分布数据的车联网多阶段联邦学习机制
- 代码:暂无
摘要
摘要部分说明由于车联网环境下数据安全的重要性,使用联邦学习来保护用户隐私,然后使用联邦学习存在下面的问题:
- 车联网环境下,多台车辆采集的数据通常是非独立同分布数据(non-IID),传统的联邦学习算法在non-IID数据中效果不够好。
所以本文提出了FedWO,一种面向non-IID数据的车联网多阶段联邦学习机制。该机制分为3个阶段:
- 第1阶段采用联邦平均算法,使得全局模型快速达到一个基本的模型准确度。
- 第2阶段采用联邦加权多方计算,依据各车辆的数据特性计算其在全局模型中的权重,聚合后得到性能更优的全局模型,同时使用传输控制策略,减少模型传输带来的通信开销。
- 第3阶段为个性化计算阶段,车辆利用各自的数据进行个性化学习,微调本地模型,获得与本地数据更匹配的模型
结论
结论部分作者再次说明本文解决的问题是:
本文提出了一种面向非独立同分布数据(non-IID) 数据的多阶段联邦学习机制 FedWO,旨在解决联邦 学习参与方本地数据不均衡的情况下,联邦学习中模 型不收敛的问题.
并再次简单介绍了FedWO的三个阶段的作用,最后展望未来,提升联邦学习模型的可解释性和优化联邦学习的传输控制以适应不同类型的网络环境是未来的研究方向。
引言
引言部分作者解释了什么是车联网、介绍了联邦学习,并提出了目前联邦学习遇到的非独立同分布数据的问题即模型聚合过程慢,全局模型性能差等问题。最后简单介绍了文章提出的多阶段联邦学习机制FedWO
相关工作
相关工作部分作者主要介绍了下面几个方面的相关内容:
- 联邦学习在各个领域的应用
- 联邦学习在车联网边缘计算的协同决策
- 联邦学习在自动驾驶领域的应用
FedWO
整体示意图如下:
阶段1:联邦平均多方计算阶段
作者简单介绍了四种经典联邦学习方法:FedAvg、FedProx、SCAFFOLD和FedNova之间的特点与区别,即
FedAvg通过对各方的模型权重求平均来计算全局模型;FedProx在FedAvg的基础上增加了1个正则化项,以减少由于数据异质性带来的不稳定性;SCAFFOLD使用控制变量减少客户端和全局模型之间的差异,算法实现更复杂,计算和存储开销更大;FedNova利用2阶优化方法和自适应正则化技术提高收敛速度和性能,实现相对复杂,需要精确控制不同客户端的更新步数。
因为在FedWO中第一阶段是为了尽快建立一个基本稳定且有效的全局模型,为了速度,作者采用了FedAvg作为第一阶段的方法。
ω
t
=
ω
t
−
1
−
∑
k
=
1
N
1
N
η
∇
F
k
(
ω
t
)
\omega^t=\omega^{t-1}-\sum_{k=1}^{N}\frac{1}{N}\eta\nabla F_{k}(\omega^{t})
ωt=ωt−1−∑k=1NN1η∇Fk(ωt)
其中N是参与联邦学习的车辆数,
η
\eta
η是本地模型学习率,
∇
F
k
(
ω
t
)
\nabla F_{k}(\omega^{t})
∇Fk(ωt)是第t轮车辆
v
k
v_k
vk的本地模型损失函数。
阶段2:联邦加权多方计算阶段
因为使用FedAvg无法解决non-IID的问题,所以在第二阶段对不同车辆的本地模型权重进行重新分配。权重的取值取决于三个因素:
- 模型的准确率
- 数据集的丰富程度
- 数据集的大小
公式为:
ω
t
=
ω
t
−
1
−
∑
k
=
1
N
(
α
A
k
t
A
+
β
D
S
k
t
D
S
+
γ
D
Q
k
t
D
Q
)
η
∇
F
k
(
ω
t
)
\omega^{t}=\omega^{t-1}-\sum_{k=1}^{N}(\alpha\frac{A_{k}^{t}}{A}+\beta \frac{DS_{k}^{t}}{DS}+\gamma \frac{DQ_{k}^{t}}{DQ})\eta\nabla F_{k}(\omega^{t})
ωt=ωt−1−∑k=1N(αAAkt+βDSDSkt+γDQDQkt)η∇Fk(ωt)
其中
A
k
t
A_{k}^{t}
Akt是第t轮车辆
v
k
v_k
vk的本地模型准确度,A是全部车辆中最大的本地模型准确度,
D
S
k
t
DS_{k}^{t}
DSkt是第t轮车辆
v
k
v_k
vk本地训练的数据丰富程度,
D
S
DS
DS是全部车辆综合的数据丰富程度,
D
Q
k
t
DQ_{k}^{t}
DQkt是第t轮车辆
v
k
v_k
vk本地训练的数据量,
D
Q
DQ
DQ是全部车辆的总数据量,权重权重0 ≤ 𝛼, 𝛽, 𝛾 ≤ 1且𝛼 + 𝛽 + 𝛾 = 1.
传输控制策略
在阶段2中,作者还提出了一种传输控制策略,通过两个维度选择参与联邦学习的车辆,来减少传输开销:
- 维度1:车辆本地模型的上传
- 维度2:路边单元的模型下发
车辆本地模型的选择性上传
核心思想就是如果本轮的本地模型参数与上一轮的模型参数差别较大,说明学习到了新的知识所以需要上传,反之则不需要上传。作者使用了L2范数来衡量这个差异:
d
i
f
f
k
t
=
(
ω
k
t
−
ω
t
−
1
)
2
diff_{k}^{t}=\sqrt{(\omega_{k}^{t}-\omega^{t-1})^{2}}
diffkt=(ωkt−ωt−1)2
服务器端全局模型的选择性下发
若车辆 v k v_k vk在第t轮中上传了本地模型,并且其在全局模型聚合中的权重较大,即 α A k t A + β D S k t D S + γ D Q k t D Q > φ \alpha\frac{A_{k}^{t}}{A}+\beta \frac{DS_{k}^{t}}{DS}+\gamma \frac{DQ_{k}^{t}}{DQ}>\varphi αAAkt+βDSDSkt+γDQDQkt>φ,其中 φ \varphi φ是一个超参数。则认为该轮的全局模型与车辆 v k v_k vk的本地模型相似的可能性较大,那么路边单元就不向该车辆发送第t轮的全局聚合模型,从而节省传输开销。
最后,为了保证本地模型和全局模型的一致性,设置2项规则:
- 在每一轮迭代中,每辆车至少参与模型参数的上传或下载其中之一,不允许车辆在同一轮次中完全不参与服务器交互。
- 若在t轮中,路边单元没有向车辆 v k v_k vk分发全局模型,那么在第 t + 1 t+1 t+1轮,该车辆必须主动参与本地模型参数的上传。
这两个规则确保了联邦加权多方计算过程中的平稳进行,同时提升了车辆和路边单元之间的计算效率。
阶段3:个性化计算阶段
为了解决传统联邦无法捕捉到某一特定数据源不同于其他数据源的独特数据特征,可能导致无法进一步优化这个特定的本地模型,甚至造成模型的性能下降,所以第三阶段是使用本地数据特征对模型进行微调,从而更好地适应本地数据分布。
为 了解决这一问题,当车辆 v k v_k vk使用全局模型训练的性能 有所下降时,本文建议车辆不再参与联邦学习,进入 个性化计算阶段.
在前 2 个阶段的联邦学习中,车辆已经对模 型进行多轮训练,卷积层已经学到了足够的特征表示, 而全连接层更关注于如何将这些特征映射到最终的 输出.此阶段的模型微调只训练全连接层不仅可以进 一步提升模型准确度,还可以减少训练的参数,节省 计算资源和训练时间.
模型微调策略只重新训练全连接层。
实验
-
数据集:State Farm Distracted Driver Detection | Kaggle,该数据集是由车内摄像头采集到的驾驶员状态图像,展现了驾驶过程中出现的驾驶分心情况,包括10种类别
-
模型:VGG16、Iception、ResNet50
-
输入尺寸:224*224
-
实验设置:从数据集中选择了5个驾驶员的相关数据进行实验。并且对比了三个模型后,选择了收敛速度最快、准确率最高的VGG16作为最终的实验模型。
部分实验结果:
(PS:文章还给设置了很多实验,这里就不全部贴出来,感兴趣的读者可以自行查看原文。实验部分作者讲得非常详细,包括实验中的问题以及自己的思路都写得很完整,交代得很清楚。)