BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer阅读笔记

13 篇文章 2 订阅
10 篇文章 0 订阅

BERTRec笔记

BERTRec (arxiv)
一篇2019的文章,浅读一下

摘要

从用户的历史行为中对其动态偏好进行建模,对于推荐系统来说是具有挑战性的,也是至关重要的。以前的方法采用顺序神经网络将用户的历史交互行为从左到右编码为隐性表征,以便进行推荐。尽管它们很有效,但我们认为这种从左到右的单向模型是次优的,因为其局限性包括:a)单向架构限制了用户行为序列中隐藏表征的能力;b)它们通常假设一个严格的顺序,这并不总是实用的。为了解决这些局限性,我们提出了一个名为BERT4Rec的顺序推荐模型,它采用了深度双向自我关注来模拟用户行为序列。为了避免信息泄露和有效地训练双向模型,我们采用了Cloze目标来进行顺序推荐,通过对其左右上下文的共同调节来预测序列中的随机屏蔽项目。通过这种方式,我们学习了一个双向表示模型,通过让用户历史行为中的每个项目融合左右两边的信息来进行推荐。在四个基准数据集上进行的广泛实验表明,我们的模型始终优于各种先进的序列模型。

相关工作

  1. 普通推荐模型
  2. 顺序推荐模型
  3. 注意力机制

方法

1 概述

在这里插入图片描述
看下符号系统:
U , V \mathcal U, \mathcal V U,V: 用户,项目集合;
S u \mathcal S_u Su: 用户 u u u的交互序列.

2 模型结构

在这里插入图片描述
和SASRec的区别在于,BERTRec用的是一种双向的自注意力来建模行为序列。

2.1 Embedding层

在这里插入图片描述
项目向量+位置向量

2.2 注意力层

在这里插入图片描述
很常规的multi-head self-attention,没有改动,这里的 H l H^l Hl是叠加了位置向量的项目embedding的堆叠。
在这里插入图片描述
这里用的是GELU激活函数,好像这个激活函数在NLP模型上很常用。
在这里插入图片描述
和RELU还是有区别
在这里插入图片描述

2.3 输出层

在这里插入图片描述
这里有个 E \mathbf E E, 是项目矩阵,前面的 v ∈ E \mathbf v\in \mathbf E vE, 这里作者说,在输入和输出用同一个项目embedding矩阵,目的在于防止过拟合,和减少模型参数。

3 模型训练

由于这个双向模型会导致最终输出已经包含目标项目的信息,这样训练的模型是没啥用的,有一个链式的解决办法(经典的时间序列训练方法),就是第一轮([v1], v2),第二轮([v1,v2], v3), 但是这样太费空间时间。
作者的解决方法叫做:Cloze task (应该是NLP里的方法,不详细了解了),就是在句子中屏蔽一些单词,在推荐系统的序列中,就是把历史序列的一些项目给mask了,用一个超参数 ρ ρ ρ来控制mask的比例,根据左右信息来预测这个mask掉的id
在这里插入图片描述
这个好像是用预测所有被mask的项目来训练,用的对数损失。

总结

这篇文章没得到啥启发,作为序列推荐引入注意力机制的发展途径中的一篇了解文章。主要是把NLP中流行的模型用到了推荐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
传统NLP方法主要使用规则和统计学习方法来处理自然语言文本,例如基于n-gram的语言模型、基于HMM的分词和词性标注算法等。这些方法需要手动设计特征和规则,并且通常难以处理长文本和复杂语法。 End-to-End Seq2Seq模型是一种基于神经网络的序列到序列模型,可以将一个序列映射为另一个序列。它广泛用于机器翻译、文本摘要、对话系统等任务。它通常由两个循环神经网络(RNN)组成,一个编码器将输入序列编码为固定长度的向量,另一个解码器将此向量解码为输出序列。 Encoder-Decoder模型也是一种基于神经网络的序列到序列模型,它与Seq2Seq模型类似,但它通常使用卷积神经网络(CNN)或递归神经网络(RNN)作为编码器和解码器。它常用于机器翻译、语音识别等任务。 Transformer模型是一种基于自注意力机制的神经网络模型,它可以在不使用RNN和CNN的情况下捕捉序列中的长期依赖关系。它广泛用于机器翻译、文本摘要、问答系统等任务,例如Google的翻译系统就是基于Transformer模型实现的。 BERT模型(Bidirectional Encoder Representations from Transformers)是一种基于Transformer模型的预训练语言模型,它可以在大规模无标注文本上进行预训练,然后在少量标注数据上进行微调,用于各种自然语言处理任务,例如文本分类、命名实体识别、机器翻译等。 GPT模型(Generative Pre-training Transformer)也是一种基于Transformer模型的预训练语言模型,它可以在大规模无标注文本上进行预训练,然后在特定的任务上进行微调,例如文本生成、对话系统等。与BERT不同的是,GPT是一个单向的语言模型,只能生成单向的文本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值