0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于注意力机制的用户行为建模框架及其在推荐领域的应用

DPVg_AI_era 2018-01-25 17:59 次阅读

本文提出一种基于注意力机制的用户异构行为序列的建模框架,并将其应用到推荐场景中。我们将不同种类的用户行为序列进行分组编码,并映射到不同子空间中。我们利用self-attention对行为间的互相影响进行建模。最终我们得到用户的行为表征,下游任务就可以使用基本的注意力模型进行有更具指向性的决策。我们尝试用同一种模型同时预测多种类型的用户行为,使其达到多个单独模型预测单类型行为的效果。另外,由于我们的方法中没有使用RNN,CNN等方法,因此在提高效果的同时,该方法能够有更快的训练速度。

研究背景

一个人是由其所表现出的行为所定义。而对用户精准、深入的研究也往往是很多商业问题的核心。从长期来看,随着人们可被记录的行为种类越来越多,平台方需要有能力通过融合各类不同的用户行为,更好的去理解用户,从而提供更好的个性化服务。

对于阿里巴巴来说,以消费者运营为核心理念的全域营销正是一个结合用户全生态行为数据来帮助品牌实现新营销的数据&技术驱动的解决方案。因此,对用户行为的研究就成为了一个非常核心的问题。其中,很大的挑战来自于能否对用户的异构行为数据进行更精细的处理。

在这样的背景下,本文提出一个通用的用户表征框架,试图融合不同类型的用户行为序列,并以此框架在推荐任务中进行了效果验证。另外,我们还通过多任务学习的方式,期望能够利用该用户表征实现不同的下游任务。

相关工作

异构行为建模:通常通过手动特征工程来表示用户特征。这些手工特征以聚合类特征或无时序的id特征集合为主。

单行为序列建模:用户序列的建模通常会用RNN(LSTM/GRU)或者CNN + Pooling的方式。RNN难以并行,训练和预测时间较长,且LSTM中的Internal Memory无法记住特定的行为记录。CNN也无法保留特定行为特征,且需要较深的层次来建立任意行为间的影响。

异构数据表征学习:参考知识图谱和Multi-modal的表征研究工作,但通常都有非常明显的映射监督。而在我们的任务中,异构的行为之间并没有像image caption这种任务那样明显的映射关系。

本文的主要贡献如下:

尝试设计和实现了一种能够融合用户多种时序行为数据的方法,较为创新的想法在于提出了一种同时考虑异构行为和时序的解决方案,并给出较为简洁的实现方式。

使用类似Google的self-attention机制去除CNN、LSTM的限制,让网络训练和预测速度变快的同时,效果还可以略有提升。

此框架便于扩展。可以允许更多不同类型的行为数据接入,同时提供多任务学习的机会,来弥补行为稀疏性。

ATRank方案介绍

基于注意力机制的用户行为建模框架及其在推荐领域的应用

整个用户表征的框架包括原始特征层,语义映射层,Self-Attention层和目标网络。

语义映射层能让不同的行为可以在不同的语义空间下进行比较和相互作用。Self-Attention层让单个的行为本身变成考虑到其他行为影响的记录。目标网络则通过Vanilla Attention可以准确的找到相关的用户行为进行预测任务。通过Time Encoding + Self Attention的思路,我们的实验表明其的确可以替代CNN/RNN来描述序列信息,能使模型的训练和预测速度更快。

1. 行为分组

某个用户的行为序列可以用一个三元组来描述(动作类型,目标,时间)。我们先将用户不同的行为按照目标实体进行分组,如图中最下方不同颜色group。例如商品行为,优惠券行为,关键字行为等等。动作类型可以是点击/收藏/加购、领取/使用等等。

每个实体都有自己不同的属性,包括实值特征和离散id类特征。动作类型是id类,我们也将时间离散化。三部分相加得到下一层的向量组。

即,某行为的编码 = 自定义目标编码 + lookup(离散化时间) + lookup(动作类型)。

由于实体的信息量不同,因此每一组行为编码的向量长度不一,其实也代表行为所含的信息量有所不同。另外,不同行为之间可能会共享一些参数,例如店铺id,类目id这类特征的lookup table,这样做能减少一定的稀疏性,同时降低参数总量。

分组的主要目的除了说明起来比较方便,还与实现有关。因为变长、异构的处理很难高效的在不分组的情况下实现。并且在后面还可以看到我们的方法实际上并不强制依赖于行为按时间排序。

2. 语义空间映射

这一层通过将异构行为线性映射到多个语义空间,来实现异构行为之间的同语义交流。例如框架图中想表达的空间是红绿蓝(RGB)构成的原子语义空间,下面的复合色彩(不同类型的用户行为)会投影到各个原子语义空间。在相同语义空间下,这些异构行为的相同语义成分才有了可比性。

类似的思路其实也在knowledge graph representation里也有出现。而在NLP领域,今年也有一些研究表明多语义空间的attention机制可以提升效果。个人认为的一点解释是说,如果不分多语义空间,会发生所谓语义中和的问题。简单的理解是,两个不同种类的行为a,b可能只在某种领域上有相关性,然而当attention score是一个全局的标量时, a,b在不那么相关的领域上会增大互相影响,而在高度相关的领域上这种影响则会减弱。

尽管从实现的角度上来说,这一层就是所有行为编码向一个统一的空间进行映射,映射方法线性非线性都可以,但实际上,对于后面的网络层来说,我们可以看作是将一个大的空间划分为多语义空间,并在每个子空间里进行self-attention操作。因此从解释上来说,我们简单的把这个映射直接描述成对多个子语义空间进行投影。

3. Self Attention层

Self Attention层的目的实际上是想将用户的每一个行为从一个客观的表征,做成一个用户记忆中的表征。客观的表征是指,比如A,B做了同样一件事,这个行为本身的表征可能是相同的。但这个行为在A,B的记忆中,可能强度、清晰度是完全不一样的,这是因为A,B的其他行为不同。实际上,观察softmax函数可知,某种相似行为做的越多,他们的表征就越会被平均。而带来不一样体验的行为则会更容易保留自己的信息。因此self attention实际上模拟了一个行为被其他行为影响后的表征。

另外,Self Attention可以有多层。可以看到,一层Self-Attention对应着一阶的行为影响。多层则会考虑多阶的行为影响。这个网络结构借鉴的是google的self-attention框架。

具体计算方式如下:

记S是整个语义层拼接后的输出,Sk是第k个语义空间上的投影,则经过self-attention后第k个语义空间的表征计算公式为:

这里的attention function可以看做是一种bilinear的attention函数。最后的输出则是这些空间向量拼接后再加入一个前馈网络。

4. 目标网络

目标网络会随着下游任务的不同而定制。本文所涉及的任务是用户行为预测及推荐场景的点击预测的任务,采用的是point-wise的方式进行训练和预测。

框架图中灰色的bar代表待预测的任意种类的行为。我们将该行为也通过embedding、projection等转换,然后和用户表征产出的行为向量做vanilla attention。最后Attention向量和目标向量将被送入一个Ranking Network。其他场景强相关的特征可以放在这里。这个网络可以是任意的,可以是wide & deep,deep FM,pnn都行。我们在论文的实验中就是简单的dnn。

离线实验

为了比较框架在单行为预测时的效果,我们在amazon购买行为的公开数据集上的实验。

训练收敛结果如下图:

基于注意力机制的用户行为建模框架及其在推荐领域的应用

用户平均AUC如下图:

基于注意力机制的用户行为建模框架及其在推荐领域的应用

实验结论:在行为预测或推荐任务中,self-attention + time encoding也能较好的替代cnn+pooling或lstm的编码方式。训练时间上能较cnn/lstm快4倍。效果上也能比其他方法略好一些。

Case Study

为了深究Self-Attention在多空间内的意义,我们在amazon dataset上做了一个简单的case study。如下图:

从图中我们可以看到,不同的空间所关注的重点很不一样。例如空间I, II, III, VIII中每一行的attention分的趋势类似。这可能是主要体现不同行为总体的影响。另一些空间,例如VII,高分attention趋向于形成稠密的正方形,我们可以看到这其实是因为这些商品属于同样的类目。

下图则是vanilla attention在不同语义空间下的得分情况。

基于注意力机制的用户行为建模框架及其在推荐领域的应用

多任务学习

论文中,我们离线收集了阿里电商用户对商品的购买点击收藏加购、优惠券领取、关键字搜索三种行为进行训练,同样的也对这三种不同的行为同时进行预测。其中,用户商品行为记录是全网的,但最终要预测的商品点击行为是店铺内某推荐场景的真实曝光、点击记录。优惠券、关键字的训练和预测都是全网行为。

我们分别构造了7种训练模式进行对比。分别是单行为样本预测同类行为(3种),全行为多模型预测单行为(3种),全行为单模型预测全行为(1种)。在最后一种实验设置下,我们将三种预测任务各自切成mini-batch,然后统一进行shuffle并训练。

实验结果如下表:

基于注意力机制的用户行为建模框架及其在推荐领域的应用

all2one是三个模型分别预测三个任务,all2all是单模型预测三个任务,即三个任务共享所有参数,而没有各自独占的部分。因此all2all与all2one相比稍低可以理解。我们训练多任务all2all时,将三种不同的预测任务各自batch后进行充分随机的shuffle。文中的多任务训练方式还是有很多可以提升的地方,前沿也出现了一些很好的可借鉴的方法,是我们目前正在尝试的方向之一。

实验表明,我们的框架可以通过融入更多的行为数据来达到更好的推荐/行为预测的效果。

总结

本文提出一个通用的用户表征框架,来融合不同类型的用户行为序列,并在推荐任务中得到验证。

未来,我们希望能结合更多实际的商业场景和更丰富的数据沉淀出灵活、可扩展的用户表征体系,从而更好的理解用户,提供更优质的个性化服务,输出更全面的数据能力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 行为识别
    +关注

    关注

    0

    文章

    13

    浏览量

    2482

原文标题:【AAAI oral】阿里北大提出新attention建模框架,一个模型预测多种行为

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于SLH89F5162的左额电压信号的注意力比拼

    项目计划如下:利用带电池的耳机式脑电检测模块读出脑部注意力和放松度信号,加以无线方式传出(NRF,蓝牙,红外),利用安芯一号单片机做终端,以某种方式接受无线信号,红外或串口NRF等,将得到的脑部电压
    发表于 10-17 15:46

    基于labview的注意力分配实验设计

    毕设要求做一个注意力分配实验设计。有些结构完全想不明白。具体如何实现如下。一个大概5*5的灯组合,要求随机亮。两个声音大小不同的音频,要求随机响,有大、小两个选项。以上两种需要记录并计算错误率。体现在表格上。大家可不可以劳烦帮个忙,帮我构思一下, 或者帮我做一下。拜托大家了。
    发表于 05-07 20:33

    DeepMind为视觉问题回答提出了一种新的硬注意力机制

    然而,在基于梯度的学习框架(如深度学习)中存在一个关键的缺点:因为选择要处理的信息的过程是离散化的,因此也就是不可微分的,所以梯度不能反向传播到选择机制中来支持基于梯度的优化。目前研究人员正在努力来解决视觉注意力、文本
    的头像 发表于 08-10 08:44 6021次阅读

    深度分析NLP中的注意力机制

    注意力机制越发频繁的出现在文献中,因此对注意力机制的学习、掌握与应用显得十分重要。本文便对注意力机制
    的头像 发表于 02-17 09:18 3614次阅读

    基于注意力机制的深度兴趣网络点击率模型

    和自适应激活函数,根据用户历史行为和给定广告自适应地学习用户兴趣。引人注意力机制,区分不同特征对预测结果的影响程度,从而增强模型的可解释性。
    发表于 03-12 10:55 5次下载
    基于<b class='flag-5'>注意力</b><b class='flag-5'>机制</b>的深度兴趣网络点击率模型

    基于多层CNN和注意力机制的文本摘要模型

    基于注意力机制的编解码模型在文本摘要、杌器翻译等序列到序列任务上得到了广泛的应用。在深度学习框架中,深层神经网络能够提取输λ数据不冋的特征表示,因此传统编解码模型中通常堆叠多层解码器来提高模型性能
    发表于 04-07 11:35 2次下载
    基于多层CNN和<b class='flag-5'>注意力</b><b class='flag-5'>机制</b>的文本摘要模型

    基于情感评分的分层注意力网络框架

    文本中的词并非都具有相似的情感倾向和强度,较好地编码上下文并从中提取关键信息对于情感分类任务而言非常重要。为此,提出一种基于情感评分的分层注意力网络框架,以对文本情感进行有效分类。利用双循环神经网络
    发表于 05-14 11:02 5次下载

    基于多层注意力机制的回指消解算法综述

    在信息抽取过程中,无法被判别的回指易造成信息抽取不完整的情况,这种指代关系可通过分析当前语境下的指代部分、被指代部分、周围的信息及原文内容生成的唯一判别信息进行判断。为此,构建一个多层注意力机制模型
    发表于 05-27 17:10 2次下载

    基于注意力机制等的社交网络热度预测模型

    基于注意力机制等的社交网络热度预测模型
    发表于 06-07 15:12 14次下载

    基于多通道自注意力机制的电子病历架构

    基于多通道自注意力机制的电子病历架构
    发表于 06-24 16:19 75次下载

    基于注意力机制的跨域服装检索方法综述

    基于注意力机制的跨域服装检索方法综述
    发表于 06-27 10:33 2次下载

    基于注意力机制的新闻文本分类模型

    基于注意力机制的新闻文本分类模型
    发表于 06-27 15:32 29次下载

    基于非对称注意力机制残差网络的图像检测

    基于非对称注意力机制残差网络的图像检测
    发表于 07-05 15:29 8次下载

    计算机视觉中的注意力机制

    计算机视觉中的注意力机制 卷积神经网络中常用的Attention 参考 注意力机制简介与分类 注意力
    发表于 05-22 09:46 0次下载
    计算机视觉中的<b class='flag-5'>注意力</b><b class='flag-5'>机制</b>

    PyTorch教程11.4之Bahdanau注意力机制

    电子发烧友网站提供《PyTorch教程11.4之Bahdanau注意力机制.pdf》资料免费下载
    发表于 06-05 15:11 0次下载
    PyTorch教程11.4之Bahdanau<b class='flag-5'>注意力</b><b class='flag-5'>机制</b>