定向对抗推荐系统
原论文:Directional Adversarial Training for Recommender Systems
一.结构框架:
1.引入APR:
问题:对抗性训练主要成就在计算机视觉(CV)领域,很难直接将其应用于推荐系统。
原因:因为输入数据是离散的和主要由高维单热向量(例如,对于用户和项)表示,它们不同于图像域中的连续值。
问题:直接向离散值添加噪声是不合理的.
原因:因为它将改变输入示例的原始语义。
方法:APR将对抗式训练应用到推荐系统中,通过极大极小博弈来干扰用户和项目的嵌入。
(对抗性训练通过在模型是在训练过程中对输入空间进行随机扰动,它是提高深度学习模型泛化能力的有效方法,一种正则化方法来提高泛化性能以及防止深度学习模型过度拟合。)
APR成功地将对抗式训练应用到推荐系统中,通过极大极小博弈来干扰用户和项目的嵌入。
最大方向扰动可能会移动嵌入示例x向量接近具有不同标签(不同示例)甚至不存在示例的示例,不能保持原来的语义信息 在隐藏在用户-项目交互中,并没有充分利用对抗性训练对推荐系统的优势。
如图一所示,。
忽略了推荐系统中的协同信号,无法捕捉到数据分布的平滑性。协同信号揭示了用户和物品之间的行为相似性,是构建推荐系统的关键。
2.因此,改进算法,提出DAT,通过明确地注入协作信号到扰动过程中。
也就是说,在适当的限制下,用户和项目都会在嵌入空间中被其相似的邻居扰动,进而解决问题。
APR, 通过在嵌入空间中添加扰动,将对敌训练扩展到推荐系统中朝着能够最大化损失函数的方向。
( 为了简单起见,我们将这种扰动策略称为最大方向)
图一:直观素描说明定向对抗性训练的过程。
图一解释:
(1)观察到的与用户有交互作用的项目在白色圆圈区域中
(2)而在大圆圈中的其他项目是不可观察的 d项目(黄色圈)。
(3)圈外无意义
对抗性训练的基本策略是输入 例x,它将保持相同的标签为x和对抗性的例子xadv扰动从x在训练期间。 这使得模型可以考虑x周围更多看不见的空间,从而鼓励loca 相似实例之间的l平滑性,进一步将模型推向更好的泛化[23]。
如图一(a)所示,为APR的训练过程,最大方向扰动可能会移动嵌入示例x向量接近具有不同标签(不同示例)甚至不存在示例的示例。
图一(b)为DAT训练过程,如图一(b)所示通过定向的扰动回事实例x的嵌入向量,靠近与其本身更相近的例。这样,相似例子的信息就会在彼此之间流动,将协同信号显式地注入到对抗的学习过程中。
图二:
图二解释:
(1)用户最接近的10个邻居。
(2)数字表示用户的ID。
(3)蓝色表示对抗训练前的最近邻。
(4)橙色表示添加扰动后的最近的新邻居
我们通过图二中的初步实验给出了一个详细的例子。
图二(a)显示了ID16用户的原始Top-10最近邻
图二(b)显示了在嵌入空间中添加最大方向扰动后的Top-10最近邻。
作为我们可以看到,在最大方向扰动下,Top-10最近邻有很大的变化。
这意味着当前的最大方向策略不能保持原来的语义信息 在隐藏在用户-项目交互中,并没有充分利用对抗性训练对推荐系统的优势。
举例:比如淘宝买东西一个用户u对物品i只看不买,这就是一种行为信息,通过APR我们得到的扰动u1可能与u不相似,并且相差特别远,
通过DAT我们得到的扰动u1会与u很相似进而迷惑判别器的判断。
DAT的引入以及扰动策略
我们通过对扰动方向施加适当的限制来解决这个问题,我们称之为定向对抗性训练(DAT)。
我们将一个例子x扰动到嵌入空间中的另一个x’ ,一个权重w被设置为控制x向x0的距离, DAT引入了一个额外的对抗性损失,使得训练过程发挥了极小极大的博弈:
权重w将通过最大化贝叶斯个性化排名(BPR)损失[24]来计算;
接下来,对模型进行训练,以最小化BPR损失和DAT损失。
考虑产生更多的效果 在协同滤波(CF)推荐系统中,通过引导扰动方向与关键协作信号进行有效嵌入。
直觉是具有相似行为的用户w 我们对物品表现出类似的偏好。
图一(b)说明了我们的方向扰动策略。 给定一个用户u,我们根据预先训练的模型参数,使它对嵌入空间中的Top-K最近邻进行扰动。
意思是在小圆中,观察到的项目I和未观察到的项目j的扰动方向将被扰动到小圆中的其他观察项目和大圆中的未观察项目。
这样,类似例子的信息就会在彼此之间流动,这明确地将协作信号注入到对抗性学习过程中。
图二(c)显示了前10名 在添加我们的方向扰动后,用户16的最近邻居,这与原来的方向扰动更相干。
总结论文内容:
通过初步实验研究了现有对抗性训练方法在推荐中的局限性。
提出了一种新的技术,定向对抗性训练(DAT),通过限制扰动方向,并将协作信号显式编码到对抗性学习过程中。
演示了DAT在广义矩阵因式分解(GMF)[15]上的应用,从而得到了该方法-定向对抗性训练广义矩阵化(DAGMF)。
GMF是广义矩阵分解的简写(generalized matrix factorization model) ,它模型具体描述为用户隐空间向量与物品隐空间向量的点积,然后进行加权和输出。
进行实验 在三个公共数据集上验证DAT对推荐系统的有效性。 具体来说,DAGMF在HR(命中率)和NDCG(归一化折扣Cu)上都有显著的改善 多项增益)指标与最先进的模型相比。
三.推导(以手写推到为准,截图中的推导有小问题):
简要过程
通过最大化贝叶斯个性化排名(BPR)损失[来计算权重w;然后,对模型进行训练,使BPR损失和DAT损失最小化。
考虑在协同过滤推荐系统中利用关键的协同信号来引导扰动方向,从而产生更有效的嵌入。直觉上,具有相似行为的用户会对物品表现出相似的偏好。
定义问题(设前提)
形式上:
我们表示有一组m用户,U={u1,u2,…,um}
一组n项,i={i1,i1,…,in}和稀疏矩阵R×n
如果用户u有i,则表示的R中的条目(u,i)为:
若u,i之间有相互作用则表示为为 R(ui)=1
在基于模型的推荐系统中,输入由两个特征向量v(u,U)和v(i,I)组成,分别描述用户u和项目i。
输入向量是一个二进制稀疏向量,通过一个one-hot编码用户或项目的身份。
在输入的上方是嵌入层,它将 one-hot 稀疏特征向量---->密集的嵌入向量。 之后,用户或项目将由密集向量表示,也称为嵌入向量(embedding vector)
开始
1.onehot编码转变成密集的embbeding
用户和项嵌入向量将被输入到交互函数中 去 预测分数的潜在向量。 然后让rcui表示用户u在i项上的预测偏好得分。 推荐系统中rcui的计算制定如下:
①f(·)是交互函数( the interaction function),建模用户对项目I的偏好,Θf是它的参数。
②我们定义P = {pu}(u∈U)为用户的嵌入矩阵,Q = {qi}(i∈I)为项目的嵌入矩阵。令
④ 输入由两个特征向量v(u,U)和v(i,I)组成组成,分别描述用户u和项目i
GMF表示:
该公式是GMF算法
① 其中φ1是用户与项目嵌入向量之间的内积,
② ⊙一般是同或符号,相同为1,但是这里的意思是向量或者矩阵的内积
③ φx和φout是GMF的第x层和输出MLP层。(GMF算法得到的偏好分数)
引入BPR
此处不多讲
构造对抗正则项并应用到BPR
对抗性训练是[12]提出的一种新的正则化方法,以提高分类器模型在CV域中的鲁棒性。
与CV领域不同,[22]在CV领域应用对抗性训练 NLP域不再增加输入空间的扰动。 他们在嵌入层中加入对抗性扰动,并认为这种方法是有效的正则化,以防止过拟合提高泛化性能。
与语言处理类似,**APR[14]通过干扰表示用户和项目的嵌入向量,引入MF-BPR中的对抗性训练** Ms。
在本文中,我们希望在深度学习模型GMF中扩展APR,**只在嵌入层即AGMF中施加扰动。**
对抗性训练GMF(AGMF)的体系结构)------->我们介绍了DAGMF方法(这是DAT与GMF相结合的实例化) --------> 选择的策略 详细讨论了扰动的方向。
结合GMF与DAT
计算第i项中用户u的预测偏好分数:
解释:
这篇张不适合打特殊符号,需要单独开一篇,截图省事
对抗性扰动旨在最大化推荐模型的目标函数。 因此,我们将其定义如下:
解释:
在上述方程中得到 ∆ adv_ 估计是很难的。 因为目标函数和神经网络涉及复杂的操作。 因此,[12]提出了一种快速梯度符号的逼近方法,通过对∆周围的目标函数进行线性化。表示如下:
现在, 构造对抗正则项并应用到BPR上
图3:模型GMF中应用定向对抗性训练的框架。
DAT
只有考虑到推荐模型嵌入空间中向最大方向的扰动,才能将一些噪声信息带入训练过程。
因此,建议DAT对抗性培训,以解决这一问题,以更好地应用对抗性培训在推荐系统。
我们方法的直觉是嵌入空间中的扰动方向将限制在现有嵌入空间中的其他例子上,而不是最坏的扰动方向,这样我们就可以将协作信号集成到训练过程中。 在运行中 极小极小博弈,嵌入层的质量将逐步提高。 图3说明了在模型GMF中应用定向对抗性训练的框架。
定义了从用户ut到用户UZ的嵌入空间中的方向向量:
在我们的方法中,训练示例将扰动的用户被定义为目标集:
解释:
然后,将用户u的定向对抗性嵌入向量表示为:
由于BPR损失将在训练过程中最小化,考虑如何寻求方向向量的最坏情况权重,从而使BPR损失最大化:
这里的 Θ ^ 就是上述同时中的P
上文公式(5)改善成公式(12),对应的与公式(10)相邻的几个函数也要改变。改变步骤如下:
公式(6,7,8)---->公式(13,14,15)
在限制扰动方向后,在计算最坏情况权重时不再是公式11。
因此,我们借用[23]的想法,通过在LBPR(T|Θb∆(Wu),Θf)中应用二阶泰勒,可以近似估计扰动强度Wu)。
形式上,估计最坏情况权重的解决方案可以定义为如下:
类似地,则重新定义对抗性训练的总体目标函数优化如下:
通过对上述两个过程的统一,我们可以制定一个极小极大目标函数。 模型参数的优化<Θb,Θf>是最小化玩家,并寻求最坏情况下的扰动 重量是最大的玩家:
从另一个角度来看,我们的DAT可以看作是一种数据增强的方法,它同时在包含协作信号的原始数据和扰动数据上训练模型。 w由于本文的重点是对抗性训练,因此将这一探索作为未来的工作。 算法1显示了我们的DAGMF的详细训练过程。 最后,值得注意的是,在BE中轧钢,模型参数Θb,Θf是通过优化GMF(第1行)初始化的,而不是随机的。 这是因为当模型欠拟合时,正常的训练过程就足以得到更好的参数。 在模型参数开始过拟合数据后,需要添加对抗性扰动。
手推公式记录:
补充:
四.算法:
解释:(其中等式为推导过程中的数学式)
参数:嵌入大小,学习率,平均噪音水平,对抗强度
1.从GMF中初始化输出的两个参数
2.while 没有收敛到标准 do(开始循环结构)
3.从D中随机抽取样本(u,i,j)
4.//计算方向向量
5.d=等式(9)
6.//计算最坏情况权值
7.Wdadv=等式(12)
8.构造方向对抗扰动
9.△(w)=等式(10)
10.//优化参数模型
11.将等式(14)赋值给输出参数
12.结束while
1.参考:https://blog.csdn.net/weixin_43482592/article/details/108024227
2.参考:https://blog.csdn.net/qq_43904309/article/details/107423206
3.参考:https://baike.baidu.com/item/%E6%B6%A1%E8%BD%AE/803177?fr=aladdin