Page 197 - 《软件学报》2021年第12期
P. 197
谌明 等:一种基于注意力联邦蒸馏的推荐方法 3861
实验过程中,对原始数据进行去噪和脱敏处理,采用交叉验证的方式,将训练集和测试集分成 4 份,并分发到 4 台
模拟设备,模拟联邦实际应用场景,每台设备上的数据相互独立.
为了对比不同联邦推荐算法的推荐准确率,我们将本文提出的基于注意力联邦蒸馏的推荐算法 AFD 结合
卷积神经网络(CNN)与结合联邦学习的其他 3 种推荐算法进行对比实验,这 3 种推荐算法包括:
(1) FWD:联邦学习(FedAvg)结合 Wide&Deep 算法 [44] ;
(2) FDIN:联邦学习(FedAvg)结合深度兴趣网络(DIN)算法 [45] ;
(3) FD+CNN:联邦蒸馏算法 [10] 结合卷积神经网络.AFD+CNN 方法在不使用本文提出的 3 个策略的情况
下等价于 FD+CNN.
AFD 与以上 3 个模型的对比见表 4.
Table 4 Comparisons between AFD and baselines
表 4 AFD 算法和基准模型对比
算法 注意力机制 联邦学习算法 蒸馏机制 自适应学习率
AFD+CNN √ √ √ √
FD+CNN × √ × ×
FWD × √ × ×
FDIN √ √ × ×
本文模型及实验使用 Tensorflow 实现,并且在 Nvidia GeForce GTX 1080Ti GPU 上进行实验.AFD 及 3 种方
法的实验设置如下.
(1) AFD+CNN:attention 的维度 m 设为 32.网络层参数设置,CNN 层数为 5,隐藏层的大小 hidden_units 设
为 128,两个卷积核为[64,64],最大池化层为[64,1],3 个全连接层为 120,60 和 2;
(2) FWD:Deep 部分全连接层为 128,64 和 2;
(3) FDIN:隐藏层单元数为 32,全连接层为 80,40 和 2;
(4) FD+CNN:CNN 层数为 5,2 个卷积层,1 个最大池化层,2 个全连接层.
3.2 评价指标
本文采用如下指标作为实验结果的评价指标.
• Time:模型迭代指定轮数运行的时间;
• Loss:模型损失函数(为与其他模型统一,AFD 评估学生模型原始损失,而非联合损失);
• AUC:ROC 曲线下面积,用来反映分类器的分类能力;
• ACC:准确率,表示分类正确的样本数占样本总数的比例;
• NDCG(normalized discounted cumulative gain):归一化折损累积增益;
• MAE(mean average error):评估算法推荐质量的指标,通过计算实际分值与预测分值的差异,来衡量推
荐是否准确.
3.3 实验结果及分析
• 实验 1:不同联邦推荐算法下的精度实验.
在两个数据集上的准备率对比结果如图 2 所示,结果表明,本文提出的 AFD 算法准确率高于其他 3 种基准
方法.在 Movielens 数据集上,AFD 算法的平均准确率最高达到了 0.84,FDIN 的准确率高于 FD 和 FWD 算法.在
Level2 数据集上,AFD 算法的准确率达到 0.92 左右,FD+CNN 的准确率为 0.81 左右,FWD 准确率仅为 0.67 左右,
FDIN 约为 0.83 左右,AFD 相比不使用本文提出的 3 个策略的 FD+CNN 算法在准确率上提升了 13%.可以看出:
FD+CNN在使用联邦蒸馏机制后,模型精度与 FDIN相当.FDIN由于使用了 Attention机制,总体精度优于除 AFD
外的其他方法.
表 5 为 4 台设备中的 MAE 及全局模型的 MAE.由表 5 可以看出:由于数据分布情况不同,4 台设备中模型
精度有较大差别.同一设备,FWD 误差值最大,FDIN 和 FD 算法 MAE 均小于 FWD 算法.在 Movielens 数据集