NIPS2017|行为序列建模的方式---Transformer

前言

最近想研究序列推荐的内容,刚好看到行为序列建模的BST[1]序列模型运用了Transformer[2]结构,并且美团博客中也提到了“Transformer 在美团搜索排序中的实践”[3]。因此学习了Transformer模型内容,并记录了笔记。本篇文章并没有什么创新,因为基本参考了对Jay Alammar的博客[4],想要具体了解,可以查看原博客(点击原文链接)。但由于下一篇是想对Transformer中遇到的问题进行汇总与解答(Q&A),所以先将自己整理的内容堆上来,方便参考。

本文约2.7k字,预计阅读15分钟。

Transformer

Transformer,是一个sequence-to-sequence模型,2017年提出。与其他Seq2Seq模型不同的是,它抛弃了传统的RNN与CNN,完全依赖注意机制来构成整个网络的架构,广泛的应用于机器翻译、语音识别等领域,当然也有在序列推荐中有具体的应用。Transformer也是一个encoder-decoder的结构,由自注意力机制(self attention)和前馈神经网络(Feed Forward)堆叠而成。论文中整体的结构如下所示:

由于注意力机制是整个网络的核心,因此先由它展开。

注意力机制

注意力机制作为一种资源分配方案,将有限的计算资源用来处理更重要的信息,是解决信息超载问题的主要手段。

当神经网络来处理大量的输入信息时,也可以借助注意力机制,选择一些关键的信息输入进行处理,提高神经网络的效率。

表示 组输入信息,其中 维向量 表示一组输入的信息(向量)。注意力机制的计算可以分为两步:

  1. 在所有输入信息上计算「注意力分布」

  2. 根据注意力分布来计算输入信息的加权平均;

「注意力分布:」

为了从 个输入向量 中选择出和某个特定任务相关的信息,需要引入一个和任务相关的表示,即「查询向量 ,通过一个打分函数来计算「每个输入向量和查询向量之间的相关性」。给定一个和任务相关的查询量量 ,用注意力变量 来表示被选择信息的索引位置,即 表示选择了第 个输入向量。首先计算在给定 下,选择第

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值