Adversarial Collaborative Neural Network for Robust Recommendation翻译

ABSTRACT
大多数基于神经网络(NN)的推荐技术主要集中在提高整体性能,例如 hit ratio for top-N recommendation(前N推荐的命中率),用户的反馈是被视为事实。 在实际应用中,那些反馈可能受到不完善用户行为的污染,这对稳健推荐方法的设计提出了挑战。一些方法将人为噪声应用于输入数据更有效地训练网络(例如,the collaborative denoising auto-encoder(协作化自动编码器))。 但是,这种噪声是随机产生的。 在这项工作中,我们提出了一个一般的对抗性训练框架基于NN的推荐模型,改进了两种模型稳健性和整体性能。我们采用我们的方法在协同自动编码器模型上,并在三个公共数据集上,表明对抗训练和基于NN的模型的组合优于最具竞争力的最先进的推荐方法。
1 INTRODUCTION
大多数现代推荐系统将用户的反馈视为的基本事实,这在现实生活中可能并非如此。 例如,给出显示评级分数的用户可能会被他的错误操作污染,导致在不可预测的自然噪音中,影响推荐质量。 在以前的工作中,一些方法管理过滤掉数据中的噪声反馈[1]。 另一些依靠算法/模型来处理这样的反馈,例如,添加额外的预测模型中的偏置项并破坏输入数据,使得模型被迫学习健壮的参数,已知作为去噪自动编码器(DAE)。 在最近的一项工作中,作者对基于MF的贝叶斯算法施加了对抗性噪音的个性化排名(MF-BPR)模型,导致一种方法称为对抗矩阵分解(AMF),以改善
模型的稳健性。与上述工作不同,本文着重于利用深度神经网络结合对抗训练。由于采用了 非线性变换,与AMF方法中那样,没有基本的性能限制。主要贡献如下:
- 我们基于NN提出了一种新颖的对抗性训练框架。并且我们为非线性模型优化设计了一个minimax游戏。经过深入调查,我们讨论了对抗性噪声对模型非线性的影响,采用我们的 协同去噪自动编码器方法(CDAE)模型,基于此我们提出两种不同的模型,对抗性协同自动编码器(ACAE)和一种增强的,称为细粒ACAE(FG-ACAE)。
- 我们在性能和稳健性方面取得了显着进步,通过对三个不同的数据集进行标准实验,同时使用ACAE和FG-ACAE。结果表明,我们的方法可以胜过竞争激烈的最先进的推荐模型。
2 PROPOSED METHOD
在本节中,我们将介绍所提方法的详细信息。我们定义对抗性噪声作为模型参数扰动来最大化整体损失函数:

.................................................................................................(1)
其中ε控制噪声水平,∥·∥表示L2范数,Θ是模型参数。受[2]中快速梯度法的启发,方程(1)的解决方案近似为:

上述噪声进一步在minimax游戏训练过程中的对手因素中被应用。 一般情况下, 噪声可以通过多种途径添加, 进而导致一种通用的损失函数:

.................................................(3)
其中lossORG表示没有对抗训练的原始模型的损失函数。 Θ是模型参数的集合,S是添加噪声方式的总数。 λi控制来自第i个源的噪声影响。 Ni表示来自源i的噪声。 然后,我们在修改后的CDAE模型上应用我们的框架,我们在其中删除损坏的输入数据并插入噪声混合层,从而产生一个我们称之为 协同自动编码器(CAE)的模型。我们注意到混合层的激活功能被设置为标识。

我们注意到混合层的激活功能被设置为标识。为了确定如何插入噪声,进行了噪声影响的初步实验。为简洁起见,我们只在此给出结论。 当在编码器或解码器上添加权重时,对抗性噪声会产生更多不利影响。这可以通过编码器或者解码器权重中的条目数远大于其他位置的条目数来解释,例如用户嵌入P.A直接的方式是仅将噪声添加到具有最显着影响的那些位置。因此,通过仅在编码器/解码器权重上添加噪声并将所有其他噪声源设置为零,我们得出ACAE模型。然而,ACAE仅利用一个参数ε来控制所有噪声源,从对抗训练中获益更多,我们进一步以细粒度方式插入噪声。
如图1所示,噪声项是使用不同的系数分别控制的,因此对于那些受对抗性噪声影响较小的位置,应该应用较大的噪声系数。此外,我们在第一个隐藏层上连接两个额外的噪声向量,然后使用全连接层(fully-connected layer)来混合噪声。我们称这种模型为细粒ACAE(FG-ACAE)。我们注意到在FG-ACAE中,ε仍然有效,作为一般的噪声水平控制。我们定义:

考虑到输入数据具有双重特性, 为了实现分类目标采用交叉熵损失函数:

将这些条件插入公式(3)得到以下损失函数:

..............................................(4)
其中y表示预测评级,αi表示噪声系数,Ni表示附加的对抗性噪声,λi控制对抗正则化强度,γ控制L2正则化强度,W1,W2,b1,b2是编码器/解码器权重和偏差, P是用户嵌入矩阵。 W3是噪声混合层的权重矩阵。对于ACEC来说,s=2,
ai=1(i=1,2)。而对于FG-ACAE,s=5,ai通过不断调整以获得最佳性能。应用对抗训练程序涉及两个主要阶段:(1)预训练修改后的CAE以获得最佳Θ; (2)通过迭代最大化(方程(1))并最小化损失(方程(3))来重新训练上述模型。 算法1给出了训练过程,我们采用小批量梯度下降进行优化。 使用正态分布初始化所有权重,并将所有偏差设置为零。 使用零初始化噪声项并根据等式(2)更新。
—————————————————————————————————————————————————————
算法1:(FG-)ACAE的训练算法
—————————————————————————————————————————————————————
算法1:(FG-)ACAE的训练算法。
Input:训练数据集:用户U,项目I,评级Y,正则系数λis,噪声系数αis,L2正则化器γ,一般噪声强度ε,学习率η,批量大小B:模型参数:Θ
//预训练
用正态分布初始化参数集Θ;while 未达到训练前的收敛条件 do:
从U中随机抽取尺寸为B的小批量U';
**更新每批次的Θ:

**
end
//对抗训练
使用预训练值初始化参数集Θ
while 不满足对抗训练收敛条件 do:
从U中随机抽取大小为B的小批量U';
**

表1:数据集统计信息

- CiaoDVDs数据集来源于[3]。 在该集合中,默认用户的评分采用等差级数形式(1-5分)。随后,在[7]之后阶段,则采用了二元化处理方法:将评分超过3分的部分标记为1分(即给予正面评价),其余则标记为0分(即不给予正面评价)。这一做法旨在消除同一用户在同一时间点对相同作品产生重复评分的影响,并将所有相关评分类别合并至最早出现的时间点。
- MovieLens数据集被广泛应用于推荐系统研究及实际应用中。 本研究选取了其中规模达1百万条记录的子集[5](即MovieLens-1M),并假设用户评分范围是从1分到5分(满分)。我们采用了与CiaoDVD项目相同的预处理手段来获得二元化评分数据。
- FilmTrust数据集则源自FilmTrust网站的数据抓取结果[4]。 其评分体系采用小数区间表示法(最低分为0.5分、最高分为4分)。基于此特点,在转换成二元化评分时的做法是:当原始评分为超过2分时,则标记为"正面评价";反之,则标记为"负面评价"。

