李宏毅机器学习笔记-----Self-Attention

目录

1.1self-attention-过程实现

 1.2Self-attention中的并行运算

 1.3 Multi-head Self-attention

1.4 Position Encoding

1.5 Self-attention for Image

 1.6 Self-attention vs CNN


1.1self-attention-过程实现

  • q表示query
  • k表示key
  • v表示information

第一步:由a得到a^

  #  a^得到序列之间的相关性

  1.  a1-a4与Wq矩阵做点乘得到q1-q4  # a代表的是Sequence
  2.  a1-a4与Wk矩阵做点乘得到k1-k4
  3.  将q1与k1-k4match得到a(1,1),a(1,2),a(1,3),a(1,4)
  4. 将的a(1,1-4)丢入Soft-max得到a^(1,1-4) # 并不是一定通过Soft-max得到a^,也可以通过Rule等方法进行处理

李宏毅机器学习笔记-----Self-Attention_第1张图片

 第二步:由a^得到b 

  1. 将a1-a4点成矩阵Wv得到v1-v4
  2. 将a1乘v1-v4求和的到b1
  3. 重复(2)操作的到b2、b3、b4
  4. 整体来看就是将a1-a4丢入self-attentio得到b1-b4的过程

李宏毅机器学习笔记-----Self-Attention_第2张图片

 李宏毅机器学习笔记-----Self-Attention_第3张图片

 1.2Self-attention中的并行运算

 1.由a的到q、k、v

李宏毅机器学习笔记-----Self-Attention_第4张图片

 2.由矩阵q与矩阵k得到a

李宏毅机器学习笔记-----Self-Attention_第5张图片

 3.由矩阵v与矩阵a^得到矩阵b

李宏毅机器学习笔记-----Self-Attention_第6张图片

 最后做个整体流程的总结,输入是I输出是O,Wq、Wk、Wv是需要学习的参数

李宏毅机器学习笔记-----Self-Attention_第7张图片

 1.3 Multi-head Self-attention

Multi-head为attention提供了多个表示子空间,简单来说就是多个q,每个q负责一种相关性

李宏毅机器学习笔记-----Self-Attention_第8张图片

1.4 Position Encoding

attention中,词的序列位置信息并不是很重要,灌入思想:天涯若比邻的思想,如果要考虑位置信息可以采用Position Encoding。

李宏毅机器学习笔记-----Self-Attention_第9张图片

1.5 Self-attention for Image

将图片看成vector即可用self-attention进行处理

李宏毅机器学习笔记-----Self-Attention_第10张图片

 1.6 Self-attention vs CNN

Self-attention:考虑全局信息,可以看作是CNN的加强版

CNN:考虑卷积核内的信息,可以看作缩小版的attention

李宏毅机器学习笔记-----Self-Attention_第11张图片

 一般来讲:Self-attention弹性较大一般需要更多的data,当data少的时候容易overfitting,CNN弹性小,当data少的时候效果比Self-attention要好

李宏毅机器学习笔记-----Self-Attention_第12张图片

你可能感兴趣的:(html,前端)