推荐算法炼丹笔记:序列化推荐算法Bert4Rec

作者:一元  
公众号:炼丹笔记  

之前和海归博士朋友聊天,他说,这篇文章是他所有的复现算法中,处理序列最好的算法之一。原本以为Bert只常见于NLP中,本文我们一起详细地阅读学习一下如何使用Bert来做推荐系统并取得最好的效果的。

之前我们的序列化模型从左到右的无向模型是次优的,

  • 单向体系结构限制了隐藏表示在用户行为序列中的能力;
  • 假设一个严格有序的序列,这并是实用的;

本文是最早使用Bert方法来处理该问题的文章。为了防止信息泄露并且高效地训练双向模型,我们在序列化建模时采用了Cloze目标,通过联合调节左右上下文来预测序列中的随机屏蔽项。通过这种方式,我们学习了一个双向表示模型,通过允许用户历史行为中的每一项融合来自左侧和右侧的信息来融合信息。

Bert4Rec

问题描述

v2-0ed8d568421abca07200bd93eee4fe16_b.jpg

模型框架

v2-16d1cfd4b3a9894b9aacd431e753d8ee_b.jpg

如上图所示,Bert4Rec是由L个有向Transformer层堆叠起来的,在每一层,它通过与Transformer层并行地交换前一层所有位置的信息,迭代地修改每个位置的表示,与图1d中基于RNN的方法不同, self-attentio赋予BERT4Rec直接捕捉任何距离的依赖关系的能力,而不是像图1d中基于RNN的方法那样一步一步地传递相关信息。这种机制导致了一个全局的接受野,而基于CNN的方法,如Caser通常有一个有限的接受野。此外,与基于RNN的方法相比,self-attention非常易于直接并行化。

对比图1b、1c和1d,最显著的区别是基于SASRec和RNN的方法都是从左到右的单向结构,而我们的BERT4Rec使用双向的自我注意来建模用户的行为序列。这样,我们提出的模型可以获得更强大的用户行为序列表示,从而提高推荐性能。


1. Transformer层

v2-f5d608a48d8b943d2aa07def2e3a2c27_b.jpg

2. Multi-Head Self-Attention

注意机制已经成为各种任务中序列建模的一个重要组成部分,它允许

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值