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 数据集
   192   193   194   195   196   197   198   199   200   201   202