沃卡logo

如何利用对抗学习实现产品推荐功能?

2024-03-25来源:

推荐系统自1992 年首篇论文提出协同过滤算法诞生以来,经历了互联网公司百万次的模型迭代,犹如不断涅的凤凰,从一次又一次的低谷中不断重生,先后诞生了百分点、快手、抖音、今日头条等知名的公司和产品。

推荐系统最大的功能在于其低廉的获客功能。Google 广告在行业内的平均 CPC 在2 美元左右。推荐系统每给公司增加一次点击,就相当于给公司省下了2 美元,同时带来了1 名新客户。由于大型互联网公司比如亚马逊和今日头条体量庞大,而推荐系统给这些网站带来了超过30% 的新增客流量。所以事实上,推荐系统给大型互联网公司带来了规模巨大的收益,而组建推荐系统团队,和维护推荐系统团队的费用,只占收益的一小部分。因此国外许多高校都从学生开始,就培养推荐系统相关的人才,比如科罗拉多大学的 THAT 组,和明尼苏达大学的 GroupLens 组。

不管是机器学习,还是深度学习,都离不开概率统计学的相关知识。然而在推荐系统领域,人们却很少直接对于噪声进行建模。不管是最优化函数中的最大似然函数,还是深度学习中的架构和参数设计,似乎都少了对于噪声的关注。

在推荐系统领域的权威会议ACM RecSys 2023 上,来自美国 Visa 研究院的研究人员发表了一篇题为Adversarial Collaborative Filtering for Free 的论文讲述了如何利用生成式对抗框架和矩阵分解算法结合,解决推荐系统难题的算法。

作者在论文中首先回顾了一些基础性的概念,比如生成式对抗算法的框架,以及Bayesian Personalized Ranking算法的基础知识,随后作者给出了自己设计的新算法的损失函数公式:

在这个公式中Δ 是干扰噪声,Θ 是算法中的参数。eu 是矩阵分解中的用户特征向量,而 ei 是矩阵分解中的物品特征向量。我们首先定义如下的Bayesian Personalized Ranking 问题:

随后,我们正式定义本算法APR 的损失函数如下:

这个损失函数非常容易理解,就是在没有噪声干扰情况下的Bayesian Personalized Ranking 损失函数,和加了最糟糕情况下的Bayesian Personalized Ranking 在有噪声情况下的损失函数。

采用随机梯度下降函数对参数进行求解,我们得到了如下参数求解公式:

通过进一步的观察和分析,我们发现该问题的求解等价于下面的公式:

我们把公式改写一下,可以把公式转变为锐度敏感的公式:

可以看到,公式中的R 其实就是锐度相关的公式。我们这里为了节省篇幅,略去作者关于公式的进一步推导,只是将最终推导得到的SharpCF 公式的伪代码列明如下:

研究人员随后在若干数据集合上将该算法和 Bayesian Personalized Ranking 等算法进行了横向对比,得到了如下的实验结果:

根据观察,我们发现,在所有的数据集合上,我们的新方法都取得了比传统的 Bayesian Personalized Ranking 等方法更优的效果。可以看到,新的方法只是在时间消耗上比传统方法略微高出1 到 2 个百分点,但是性能却提升了不少。如果我们把实验中的参数和误差曲线绘出,我们得到如下图形:

综上所述,基于对抗学习的协同过滤方法,能够比传统的 Bayesian Personalized Ranking 取得更好的效果,而增加的时间通常可以忽略不计。初看该方法,似乎该方法的原理非常简单,就是将矩阵分解算法中的用户向量和物品向量同时增加噪声变量,然后利用对抗学习的原理来解决推荐系统的问题。

然而,仔细考虑之后,你可以发现在简单的算法原理背后,作者有更为深入的思考,同时进行了大量的对比实验。毕竟 RecSys 2023 是CCF-B 级别的会议,对论文内容的深度和实验的完备性都有要求。通过阅读这篇论文,也可以帮助广大读者在学会科研的同时,学会中高档次论文的写作。

推荐系统是下蛋的金鹅,随着技术在全球范围内的展开,原先的许多研究小组,甚至是先发国家比如美国的研究小组,其实已经泯然众人已。所以读者如果出国深造,还是应该认真检查目标学校研究组的论文水平,比如论文发表刊物级别,论文引用次数,论文影响力,就业出路等等,再做决定。在人工智能高潮此起彼伏的今天,我们需要认真阅读论文中有特色的创新,在提升自己竞争力的同时,也可以看到别样的风景。

  图片使用申明:原创文章图片源自‘Canva可画’平台免费版权图片素材;引用文章源自引用平台文章中所使用的原图。