机器学习:self-attention

输入

机器学习:self-attention_第1张图片
机器学习:self-attention_第2张图片
编码方式:

  • one-hot:
  • word-embedding:能更明显的区分不同类别的输入
    机器学习:self-attention_第3张图片
    机器学习:self-attention_第4张图片
    图也能看作是多个向量输入
    机器学习:self-attention_第5张图片

输出

  • 每个向量都有一个label

机器学习:self-attention_第6张图片

  • 一整个sequence有一个label
    机器学习:self-attention_第7张图片
  • 模型自己决定有多少个label(sequence to sequence)
    机器学习:self-attention_第8张图片

重点介绍每个vector有一个label

机器学习:self-attention_第9张图片

  • saw词性第一个和第二个不同,但是网络无法识别
  • 通过联系上下文解决
    机器学习:self-attention_第10张图片
    机器学习:self-attention_第11张图片
    self-attention不只是只能做一次,能做很多次
    机器学习:self-attention_第12张图片
  • 文章: attention is all you need - transformer

机器学习:self-attention_第13张图片

  • 第一步:找到与a1相关的向量, a表示两个向量的关联程度
  • 计算a:
    • dot-product
    • additive
      机器学习:self-attention_第14张图片
      机器学习:self-attention_第15张图片
      自己跟自己也要计算关联度:
      机器学习:self-attention_第16张图片
  • 再计算softmax,得到每个的重要分数
    机器学习:self-attention_第17张图片
  • 最后每个向量生成一个v,每个向量对应的权重与另外的向量v相乘累加作为最终那个向量的输出
    机器学习:self-attention_第18张图片
    机器学习:self-attention_第19张图片
    用矩阵的形式表示:
    机器学习:self-attention_第20张图片
    q与k计算attention分数,可以用矩阵与向量相乘表示:
    机器学习:self-attention_第21张图片
    多个向量的话组成一个矩阵,可以看作是矩阵和矩阵相乘:
    机器学习:self-attention_第22张图片
    A = K T ∗ Q A = K^T * Q A=KTQ
    A ′ = s o f t m a x ( A ) A' = softmax(A) A=softmax(A)

机器学习:self-attention_第23张图片
输出 O = V ∗ A ′ O = V * A' O=VA

总的过程如下:
机器学习:self-attention_第24张图片
唯一要学习的参数就是 W q W^q Wq, W k W^k Wk, W v W^v Wv

不同的变体

  • multi-head self-attention

机器学习:self-attention_第25张图片
机器学习:self-attention_第26张图片
注意到self-attention 没有位置信息。
可以加入position编码信息(手工,或者学习得到)
机器学习:self-attention_第27张图片

机器学习:self-attention_第28张图片
机器学习:self-attention_第29张图片

应用

  • 语音
    机器学习:self-attention_第30张图片
    由于语音数据非常大,可以采用truncated方式只看很小的一个范围,一定范围之内的数据就能完成
    机器学习:self-attention_第31张图片
  • 图像
    机器学习:self-attention_第32张图片
    整张图片5103, 每个位置的pixel看作是一个三维向量,每张图看做是一个5*10的向量
    机器学习:self-attention_第33张图片
    机器学习:self-attention_第34张图片
    机器学习:self-attention_第35张图片
    机器学习:self-attention_第36张图片

机器学习:self-attention_第37张图片

  • rnn如果需要记得之前的信息的话需要一直保存到memory
  • rnn不能并行
    机器学习:self-attention_第38张图片

  • 机器学习:self-attention_第39张图片
    机器学习:self-attention_第40张图片

你可能感兴趣的:(机器学习,attention)