注意力机制学习

Attention 就是对输入整体的各个部分分配不同的权重,每一个位置的输出由输入的不同权重加权求和得到

attention 工作实质:

注意力机制学习_第1张图片

对应于机器翻译时

  • 阶段 1 : z z z 对应于 Query h h h 对应于Key,Q 与 K 进行相似度计算得到权值

注意力机制学习_第2张图片

  • 阶段 2:对于求得的 α \alpha α 进行 softmax 归一化得到不同权重

注意力机制学习_第3张图片

  • 阶段 3:Attention Value 等于 权重 α ^ \hat \alpha α^ 和输入 h h h 对应的乘积求和。这里 h h h 对应于 Value

注意力机制学习_第4张图片

attention 框架

注意力机制学习_第5张图片

在自然语言任务中,往往 K 和 V 是相同的

优点

  • 一步到位的全局联系捕捉,可以灵活的捕捉全局和局部的联系
  • 并行计算减少模型训练时间(并行是 Encoder 并行,Decoder 还是串行,因为需要前一个状态的输入)
  • 在输出序列与输入序列 “顺序” 不同的情况下表现较好,如翻译、阅读理解(输入输出顺序相同时并没有更好地优势,语音识别效果不如 CTC)
  • 相比 RNN 可以编码更长的序列信息

缺点

  • 不能捕捉语序顺序(一个精致的 “词袋” 模型)

参考链接

【NLP】Attention 原理和源码解析

浅谈 Attention 机制的理解

你可能感兴趣的:(nlp,李宏毅学习笔记,自然语言处理)