| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【推荐算法论文阅读】Recurrent Neural Networks with Top-k Gains for Session-based Recommendations -> 正文阅读 |
|
[人工智能]【推荐算法论文阅读】Recurrent Neural Networks with Top-k Gains for Session-based Recommendations |
本文是一篇很好的讲述进行梯度下降和参数更新时,困难样本、简单样本与梯度消失之间的关系,以及如何设置使简单样本对平均梯度的影响更小。 一、sampling the output在每个训练步骤中,GRU4Rec 将会话中当前事件的项目(由 one-hot 向量表示)作为输入。 网络的输出是项目的一组分数,对应于它们成为会话中下一个项目的可能性。 GRU4Rec 引入了基于mini-batch的采样。 对于mini-batch中的每个example,相同mini-batch的其他examples作为负样本。 因此,在抽样的过程中,将得分高的item包含在负样本中至关重要。热门item在许多情况下通常得分很高,因此基于人气的抽样是一种很好的抽样策略。mini-batch抽样基本上是一种基于流行度的抽样形式,因为训练会遍历所有事件,因此一个item作为负样本的概率与其流行度成正比。 基于流行度的采样的问题在于,在算法学习将target item排在流行item之上以后,学习会减慢,因此对于长尾高分item的排序仍然可能不准确。另一方面,由于大量低分负样本,均匀采样会减慢学习速度,但如果无限期地训练,可能会产生总体上更准确的模型。根据我们的经验,基于流行度的抽样通常会产生更好的结果。 将抽样与mini-batch联系起来有许多好处,但也有以下三个限制:
因此本文提出了一种新的sample方法:在每个batch中,以mini-batch sample的方式采样 N B ? 1 N_B-1 NB??1个负样本,再以任意一种方式采样 N A N_A NA?个共享的负样本。 二、loss fuction design2.1 ranking loss: Top1 & BPR2.1.1 Top1 lossTop1 Loss是由两部分组成的启发式组合损失。 第一部分旨在将目标分数推高到所有样本分数之上,而第二部分将负样本的分数降低到零。 后者充当正则化器,但不是直接约束模型权重,而是惩罚负例的高分: 2.2.2 BPR Loss2.2.3 梯度消失问题对于成对损失,人们通常希望得到高分的负样本,因为这些样本会产生高梯度。 或者直观地说,如果负样本的分数已经远低于目标的分数,那么就不再可以从该负样本中学到任何东西了。 同时,梯度总是被负样本的总数打折。 通过增加样本数量,不相关样本的数量比包含相关样本的数量增加得更快,因为大多数项目作为负样本是不相关的。 对于非基于流行度的抽样和样本数多的情况尤其是这样。 因此,随着样本数量的增加,这些损失的梯度开始消失,这是违反直觉的,并且损害了算法的潜力。 这两种损失函数主要缺点是会发生梯度消失的现象,如当 r j < < r i r_{j} << r_i rj?<<ri? 时, σ ( r j ? r i ) 和 1 ? σ ( r i ? r j ) \sigma (r_{j} - r_{i}) 和 1-\sigma (r_i - r_j) σ(rj??ri?)和1?σ(ri??rj?) 都会趋近于 0,从而导致梯度消失;同时对负样本取平均值会加速这种梯度消失的现象(样本量越多,平均值越小)。 2.2 ranking-max loss fuction为了克服随着样本数量增加梯度消失的问题,论文提出了基于 pairwise 的 listwise 损失函数框架。 这个想法是将目标分数与最相关的样本分数(样本中的最大分数)进行比较。即: 对最大选择的连续逼近需要对由相应的 softmax 分数
s
j
s_j
sj? 加权的各个损失求和,即: 当 r i r_i ri?较小时,权重分布较为均匀,实际得分高的将会得到更多关注;当 r i r_i ri?较大时,得分高的才会产生较大的权重,从而得到更多关注。这有利于模型的训练。 如果 r j r_j rj? 远低于负样本的最大值,它的权重将几乎为零,并且更多的权重将放在分数接近最大值的示例上。 这解决了更多样本梯度消失的问题,因为不相关的样本将被忽略,而梯度将指向相关样本的梯度。 当然,如果所有样本都不相关,梯度会接近于零,但这不是问题,因为如果目标分数大于所有样本分数,则没有什么可学习的。 TOP1-max 和 BPR-max 的梯度信息均和 softmax score 成比例,这意味着只有 score 较大的 item 会被更新,因为如果负样本的分数很低,则不需要更新。 如果一个样本的分数远高于其他样本的分数,它将是唯一更新的,并且梯度将与目标和样本分数之间的成对损失的梯度一致。这样的好处在于模型训练过程中会一直推动 target 往排序列表的顶部前进,而常规的 TOP1 和 BPR 在 target 快接近顶部的时候,平均梯度信息更小了,更新几乎停滞,这样很难将 target 推至顶部。 BPR-max with score regularization 受 TOP1 添加正则项的启发,对 BPR 添加正则项,同样能提高模型的表现。 参考资料GRU4Rec2 《Recurrent Neural Networks with Top-k Gains for Session-based Recommendations》 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 13:47:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |