gSASRec : 利用负采样降低序列推荐中的过度自信问题

译文 精选
开发 前端
推荐系统能够给亚马逊和 TikTok 每年带来 30% - 40% 的流量或者销售额增量,因此毫无疑问,推荐系统是互联网和科技公司的摇钱树。

编译 | 汪昊

审校 | 重楼

推荐系统能够给亚马逊和 TikTok 每年带来 30% - 40% 的流量或者销售额增量,因此毫无疑问,推荐系统是互联网和科技公司的摇钱树。许多懵懂青年在上大学或者刚工作的时候,非常向往从事互联网推荐行业。一方面,趋之若鹜的人才极大地推动了领域的发展;另一方面,该领域的发展给相关人才带来了丰厚的回报。

在刚刚过去的2023 年的推荐系统领域权威会议 RecSys 2023 上,一篇题为 gSASRec: Reducing Overconfidence in Sequential Recommendation Trained with Negative Sampling 的论文(下载地址:https://arxiv.org/pdf/2308.07192.pdf)获得了最佳论文奖。

作者首先回顾了过度自信问题的由来:在负采样的过程中,推荐系统中的正样本的比例通常会增加。这一现象,就是所谓的过度自信问题。过度自信问题会带来如下隐患:1. 推荐系统偏重区分特别好和特别差的推荐,而差别不那么大的推荐结果得不到重视;2. 在某些情况下会导致严重的数值错误。我们在实际中发现,SASRec 算法会出现过度自信问题。并且常见的解决方案很难在深度学习的场景下适用。

基于 Transformer 的推荐算法通常在序列推荐的场景下表现更优。在这一领域,BERT4rec 和 SASRec 是两款经典算法。

两个最常用的序列推荐的损失函数是 BCE (Binary Cross Entropy) 和 Softmax Loss。BCE 的损失函数定义如下:

其中:

Softmax Loss 的定义如下:

其中:

Softmax Loss 不适合负采样场景下的推荐系统。因此有学者提出了 Sampled Softmax Loss :

过度自信是指预测中物品出现的概率高于其先验分布。下图对比了几种算法的过度自信程度:

通过观察,可以发现 SASRec 算法有严重的过度自信问题。

因为高频率的物品会导致 BCE 数值计算发生错误,因此作者定义了新的gBCE (generalized BCE)指标:

作者证明了一列 gBCE 防止过度自信的定理,此处因为篇幅原因,不再罗列相关的定理。感兴趣的读者可以自行查阅原始论文。作者基于新的损失函数设计了推荐系统,被命名为 gSASRec 算法。作者随后进行了对照实验,该算法取得了优异的效果:

这篇论文的核心在于证明了利用新的损失函数,可以得到缓解过度自信问题的若干定理,因此可以保证我们在使用新的损失函数设计算法之后,取得了远远优于先前推荐的效果。

这篇论文看似简单,但是作者在数学理论基础推导方面下足了功夫,是难得一见的好文章。值得读者认真收藏,细细品味。

作者介绍

汪昊,前 Funplus 人工智能实验室负责人。曾在 ThoughtWorks、豆瓣、百度、新浪等公司担任技术和技术高管职务。在互联网公司和金融科技、游戏等公司任职 13 年,对于人工智能、计算机图形学区块链和数字博物馆等领域有着深刻的见解和丰富的经验。在国际学术会议和期刊发表论文39 篇,获得IEEE SMI 2008 最佳论文奖、ICBDT 2020 / IEEE ICISCAE 2021 / AIBT 2023 / ICSIM 2024最佳论文报告奖。

责任编辑:华轩 来源: 51CTO
相关推荐

2024-02-20 09:00:00

2009-06-26 08:35:48

Linux库文件操作系统

2017-05-30 16:16:38

TensorFlow候选采样深度学习

2024-09-12 08:00:00

2020-04-10 20:24:49

物联网RFID智能运输

2022-09-21 10:04:22

网络攻击首席财务官网络安全

2023-09-20 11:42:52

2009-06-29 09:24:19

Linux

2011-03-23 14:42:47

CPU过度消耗

2017-10-25 08:19:21

云存储云锁定风险

2016-11-29 12:01:39

数据驱动大数据

2023-07-11 14:12:06

2018-01-09 15:20:52

物联网数据采样率智能

2018-12-18 09:20:44

欺骗技术物联网安全物联网

2010-05-26 17:53:38

IPv4 to IPv

2021-10-13 08:00:00

数据算法人工智能

2021-05-20 08:51:33

设计驱动数据库

2023-02-26 01:12:10

多元时间机器学习序列

2015-11-09 11:23:09

FacebookFOOMs

2022-04-19 20:51:20

软件开发耦合代码
点赞
收藏

51CTO技术栈公众号