前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >阅读笔记|Attention Is All You Need

阅读笔记|Attention Is All You Need

作者头像
Ranlychan
发布2023-10-15 08:41:17
3100
发布2023-10-15 08:41:17
举报
文章被收录于专栏:蓝里小窝蓝里小窝

info: A. Vaswani et al., “Attention Is All You Need,” 2017, doi: 10.48550/ARXIV.1706.03762.

1.1 背景

  • Transformer一开始主要针对NLP中的翻译任务
  • 主流序列到序列模型通常基于复杂的RNN或CNN
  • RNN由于结构特性存在并行性差的问题,且长记忆差
  • CNN一次按一个窗口进行卷积,相距远的信息需要多重卷积才能融合
  • 目前表现最好的模型包含编码器和解码器结构,并用注意力机制连接两者

1.2 主要贡献

  • 提出Transformer,一个完全基于自注意力的新模型结构,区别于RNN或CNN
  • 创新发展了注意力机制,提出多头注意力机制用于取代传统seq2seq中的递归层,兼具并行性同时有效建模了长距离依赖
  • 将建模长距离依赖关系的操作的复杂度从RNN的线性和CNN的对数降至常数级别

1.3 模型结构

整体架构

  • 采用编码器-解码器结构
  • 编码器和解码器都是N个相同的层叠加

编码器

  • N=6个相同的层叠加
  • 每层包含两部分
  • 多头自注意力
  • 全连接的前馈网络
  • 每层后都有残差连接和层规范化

解码器

  • 与编码器结构类似
  • 在每个编码器层后面,添加一个多头自注意力用于编码器输出
  • 自回归(前面的输出作为输入)
  • 增加掩码机制,防止训练时由于自回归而提前看到后面的位置

Normalization

  • BatchNorm:对于二维输入来说,对每列的同一特征进行normalization;三维输入中,依然是对于同一特征,不同batch和不同seq的数据进行normalization
  • LayerNorm:对于二维输入来说,对每行的样本进行normalization;三维输入中,则是对于同一个batch,不同feature和不同seq的数据进行normalizationBatchNorm:对于二维输入来说,对每列的同一特征进行normalization;三维输入中,依然是对于同一特征,不同batch和不同seq的数据进行normalization

位置编码

  • 因为没有RNN自带的时序结构,故输入添加正弦和余弦函数编码位置信息

自注意力

  • Scaled Dot-Product Attention
  • 将查询、键、值打包成矩阵,做缩放点积注意力
  • 用参数dk控制缩放
  • Multi-Head Attention
  • 将输入进行多次线性映射,得到多个头部
  • 在每个头部单独做点积注意力
  • 将所有头部连接起来做线性映射
  • 允许注意不同的子空间

1.4 实验

训练

  • 标准机器翻译数据集
  • Adam优化器
  • 标签平滑、残差dropout等正则化策略

结果

  • 英德和英法翻译任务表现再创新高
  • 英语短语结构分析也取得良好结果

1.5 个人思考

  • Transformer并不是只要attention就行,MLP和残差连接等缺一不可,只是相对以前的seq2seq没有了CNN或RNN。
  • Transformer的注意力机制没有像RNN那样在结构上去对序列做顺序上的建模,能处理更一般化的信息,能比CNN取得更好的效果,代价是需要更多数据和训练,模型越来越大。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 背景
  • 1.2 主要贡献
  • 1.3 模型结构
    • 整体架构
      • 编码器
        • 解码器
          • Normalization
            • 位置编码
              • 自注意力
              • 1.4 实验
                • 训练
                  • 结果
                  • 1.5 个人思考
                  相关产品与服务
                  机器翻译
                  机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档