Page 195 - 《软件学报》2021年第12期
P. 195
谌明 等:一种基于注意力联邦蒸馏的推荐方法 3859
值;而当一个用户有多个非零特征时,重点特征的权重值反而难以取得较高的得分.本文方法将得到的搜索矩阵
Q 做矩阵变换,首先将权重系数矩阵由[b,1,r]转为[b×r,1],再利用矩阵乘法将结果与[1,m]相乘得到[b×r,m],再将
权重系数矩阵转为[b,m,r].其中,m 为新增加的 Attention 的维度.对于每个特征,有 m 个等长于 r 的 Attention 值,
变换后矩阵的大小由[b,1,r]变为[b,m,r],从而增加 Attention 的维度 m,促使不同的 Attention 关注不同的部分,减
少了因召回商品数量不同造成的影响.通过求均值,将[b,m,r]变为[b,1,r],得到 Attention 值 a i ,再根据权重系数对
V i 进行加权求和,得到搜索矩阵 Q 的 Attention 值.具体如下:
Attention (,Q K , )V = ∑ r aV (9)
i i i= 1 i i
虽然特征 Attention 编码能够丰富编码信息,提升模型精度,但由于增加了特征维度,可能会降低模型的训练
速度.最后,本文提出一种分段自适应学习率训练策略,通过切换不同的优化器来加快模型收敛速度.
2.5 分段自适应学习率策略
目前,已有文献实证发现:在联邦学习及分布式训练中,Adam 等基于动量的优化方法会直接影响到联邦学
习的效果.尤其在非独立同分布(non-IID)数据下,本地设备模型的更新方向可能与全局模型差别较大,从而造成
全局模型效果下降 [33,34] .同时,推荐系统是一个复杂的非线性结构,属于非凸问题,存在很多局部最优点 [35] .
Bottou等人指出:SGD虽然可以加快训练速度,但因为 SGD更新比较频繁,会造成严重的震荡陷入局部最优
解 [36,37] .联邦学习需要在典型的异构数据的情况下,通过全局数据优化每台设备上的模型,因此需要一种快速、
能适应稀疏和异构分布数据的优化策略.Gao 等人提出了多种自适应方法来缩放梯度,解决了在数据稀疏的情
况下存在性能差的问题,但仅仅通过平均梯度平方值的方法无法提升收敛速度 [38,39] .Shazeer 等人提出了一种分
段调整学习率方法,采用分段训练的方式,在不损失精度的情况下提升了训练速度,但需要根据经验来选择切换
的时机和切换后的学习率 [40,41] .
针对以上问题,本文基于 Wang 等人的工作 [38] ,提出了一种分段自适应学习率优化方法,该方法的主要创新
点为:1) 优化梯度下降过程,改进动量的计算方法,解决正相关性带来的收敛困难问题;2) 让算法在训练过程中
自动由 Adam 无缝转换到 SGD 的混合优化策略,从而保留两种优化算法的各自优势,大幅缩短联合损失函数的
收敛时间,并且保证了模型的准确性.
本地设备学生模型的目标函数为最小化联合损失(见公式(3)),即 minGL,ω为学生模型参数(如神经网络模
型中的 Weights,Bias 等),则在时刻 z 目标函数关于模型参数的梯度 R z 为
R z =∇GL (10)
在基于动量的优化算法中,动量表示参数在参数空间移动的方向和速率.目标函数关于参数的梯度二阶动
2
量等价于当前所有梯度值的平方和.目标函数关于模型参数的一阶动量 m z 和二阶动量 V z 分别为 R z 和 R 的指
z
数移动平均.二阶动量 V z 通过除以 V 实现对 R z 尺度的缩放控制,反映了梯度下降的速率.但在 Adam 算法中,
z
动量的计算本质上为动量 V z 与梯度 R z 的正相关性计算,会导致大梯度的影响减弱,小梯度的影响增强,最终会让
收敛变得困难.本文假设过去时刻的参数梯度相互独立,因此可以利用过去 q 时刻的参数梯度 R z−q 计算 V z ,而无
需引入相关性计算.具体地,该策略从最近的 q 时刻的参数梯度中选择一个最优值,即:
φ (R z q− 2 ) = max{R 2 z q− ,R 2 z q− + 1 ,...,R 2 z } (11)
为解决上面讨论的正相关性计算带来的收敛困难问题,本文提出了优化后的二阶动量计算方法:
V = μ V (1 μ − ) (Rφ + 2 ) (12)
z 1 zq− 1 z q−
其中,μ 1 为权重参数.公式(12)使用最近 q 时刻的最优梯度代替当前梯度,避免了计算二阶动量所需的相关性计
算.同样地,一阶动量的计算也可去相关性,即:在计算一阶动量时,也利用最近 q 时刻的参数梯度来更新 m z .具体
如下:
∑ z μ 2 R i
=−
m = iz q (13)
∑ iz q μ 2
z
z
=−