Page 190 - 《软件学报》2021年第12期
P. 190
3854 Journal of Software 软件学报 Vol.32, No.12, December 2021
如联邦迁移学习 [15] 、联邦强化学习 [16] 、联邦安全树 [17] 等.Yurochkin 等人 [18] 提出了贝叶斯无参联邦框架,通过实
验证明了效率上的有效性,模型压缩比更低.Liu 等人 [19] 提出一种迁移交叉验证机制的联邦学习,能够为联邦内
的设备模型带来性能提升;他们还提出灵活可拓展的方法,为神经网络模型提供额外的同态加密功能.Zhuo 等
人 [20] 提出一种新的联邦强化学习方法,为每台设备构建新的 Q 网络,解决了构建高质量的策略难度大的问题;
更新本地模型时对信息使用高斯差分保护,提升了用户的隐私保护能力.Kewei 等人 [21] 提出一个联邦提升树系
统,可以让多个机构共同参与学习,可以有效地提升分类准确率,同时让用户对自己的数据有更多的控制权.也
有学者在联邦学习中引入其他算法,并对联邦学习效率问题进行研究.Sharma 等人 [22] 提出一种隐私保护树的
Boosting 系统,能够在精度上与非隐私保护的算法保持一致.Ghosh 等人 [23] 提出了一种离群对抗方法,将所有节
点和异常的设备一起考虑,解决了鲁棒异质优化问题,并给出了分析误差的下界.虽然联邦学习能够解决数据隐
私问题,但随着用户数据量和模型复杂度的增加,存在着模型参数多和移动端通信开销大等问题.学者们希望使
得通信负载与模型大小无关,只与输出大小有关.将教师模型中的知识迁移到学生模型中,降低复杂度的同时仍
能保持较好的预测精度,知识蒸馏便是这样一种知识迁移的方法.
1.2 知识蒸馏
Hinton 等人 [24] 提出了知识蒸馏,将教师网络相关的软目标作为损失函数的一部分,以诱导学生网络的训练,
实现知识迁移.Yim 等人 [25] 使用矩阵来刻画层与层之间的特征关系,然后用 L2 损失函数去减少教师模型和学生
模型之间的差异,并让学生模型学到这种手段,而不仅仅是利用目标损失函数进行知识的迁移.Heo 等人 [26] 利用
对抗攻击策略将基准类样本转为目标类样本,对抗生成的样本诱导学生网络的训练,从而有效提升学生网络对
决策边界的鉴别能力.但硬标签会导致模型产生过拟合现象,对此,Yang 等人 [27] 提出了一个更合理的方法,并没
有去计算所有类的额外损失,而是挑选了几个具有最高置信度分数的类来软化标签,提高模型的泛化性能.
近些年,有学者提出将联邦学习和知识蒸馏结合起来.Jeong 等人 [10] 提出了一种分布式模型联邦蒸馏训练
算法,能够有效解决用户通信开销大的问题.采用生成对抗网络生成数据,解决用户生成的数据样本非独立同分
布的问题.Han 等人 [28] 提出一种保护隐私的联邦强化蒸馏框架,由事先设置的状态和策略组成,通过交换每台设
备的策略值,从而共同训练本地模型,解决了代理隐私泄露问题.然而这些方法在解决非独立同分布问题上主要
采用生成对抗网络或强化学习的方法将非独立同分布数据转为独立同分布数据,在实际应用中复杂性较大.
针对前述文献和方法的不足,尤其是因联邦学习回传梯度参数的方法参数多、计算量大、模型训练过程无
法自适应调节学习率、蒸馏算法训练速度慢等问题,本文在第 2 节提出并详细描述一种基于注意力机制的联邦
蒸馏推荐方法.
2 一种基于注意力联邦蒸馏的推荐方法(AFD)
2.1 符号定义
推荐系统中通常包括召回和排序两个阶段:召回阶段对历史数据用协同过滤或其他召回算法召回一批候
选 Item 列表,排序阶段对每个用户的候选 Item 列表进行 CTR(click-through rate)预测,最后选取排序靠前 Top-n
的 Item 作为推荐结果.
假设整个系统包含设备集 K(共|K|台设备),每台设备包含 Item 特征和用户特征,则设备 k(k∈K)中的用户特
k
k
k
k
征为 U ,Item 特征为 I .r 为第 k 台设备上的特征总数.X 为设备 k 的本地数据,y 为设备 k 的本地数据对应的标
k
签,p 为设备 k 上的本地数据对应的学生模型预测结果.E 为全局训练轮数,t 为所有数据的标签值(t∈T,T 为标签
k
集).S 为联邦中心收集到的设备 k 的 Logits 向量集合(本文的 Logits 向量皆为经过 softmax 操作后的归一化的
/k
向量值),即为学生模型;S 为除去设备 k 后其他设备的 Logits, S / k 为教师模型,为除去设备 k 后其他设备的 Logits
平均值.本文提出方法所使用的主要符号定义见表 1.