Transformer学习-self-attention

这里写自定义目录标题

  • Self-attention
  • Multi-head self-attention
  • 用self-attention解决其他问题

Self-attention

  1. 用Wq、Wk、Wv分别乘输入向量得到q、k、v向量
    Transformer学习-self-attention_第1张图片
  2. 用每个q向量乘所有的k向量得到对应项的attention,即用每项的query向量去匹配所有的key向量,得到该项对所有项的注意力打分。可以用矩阵优化运算。激活函数softmax可以用relu等替换。
    Transformer学习-self-attention_第2张图片
  3. 用q、v的相乘的结果乘v得到self-attention的输出b
    Transformer学习-self-attention_第3张图片
  4. 综上,如下图
    Transformer学习-self-attention_第4张图片

Multi-head self-attention

  1. 通过多组q、k、v来表示不同的相关性
    Transformer学习-self-attention_第5张图片
  2. 将多头的输出融合到一起
    Transformer学习-self-attention_第6张图片
  3. 位置编码,将位置信息编码为向量(每个位置一个专属向量),加到输入中即可
    Transformer学习-self-attention_第7张图片

用self-attention解决其他问题

  1. 语音解析:输入维度过大,使用truncated self-attention
    Transformer学习-self-attention_第8张图片
  2. 图像处理:每个像素(三个通道)可以看作一个三维向量,如下图可以将50个三维向量作为输入
    Transformer学习-self-attention_第9张图片
    Transformer学习-self-attention_第10张图片
  3. self-attention vs cnn:cnn相当于简化版的self-attention,卷积核的运算相当于对卷积核区域内的像素点求k、v,self-attention的感受野是自己学习的,而cnn的卷积核是手动设置的

Transformer学习-self-attention_第11张图片
cnn就是self-attention的特例。self-attention更灵活,但是如果训练集小可能更容易过拟。
Transformer学习-self-attention_第12张图片
Transformer学习-self-attention_第13张图片
4. self-attention vs RNN
Transformer学习-self-attention_第14张图片
5. self-attention for Graph:用attention来表示nodes之间的关联
Transformer学习-self-attention_第15张图片

你可能感兴趣的:(LLM,AI解决方案,transformer,学习,深度学习)