导读

什么是transformer:
李宏毅——transformer
对于序列,常用的是RNN
RNN的问题,不容易并行处理。
所以有人提出了,用CNN来替代RNN。
图中每一个三角形代表一个filter。
但是CNN只能考虑有限的信息,比如图中只有三个,这种可以通过上层的叠加来考虑更多的信息。
这种的好处是可以并行化,但是缺点是要叠很多层,才能看到长期的咨询。
李宏毅——transformer
所以的做法是self-attention
它也可以输入是sequence,输出是sequence,它可以看到整个输入的序列,也可以同时计算。
李宏毅——transformer

self-attention

首先出现在attention is all you need
李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
是如何做平行化的呢?
李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
李宏毅——transformer

multi-head self-attention

李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
mult-head的优点是不同的head可以关注不同的信息,每个head各司其职

顺序问题

对self-attention来说,输入的次序是不重要的
原paper中,使用人工设置的positional vector ei
也可以在xi上append一个one-hot的vector,但是实际的效果是一样的。
李宏毅——transformer
Wp可以学习,但是实际上也是手工设置的
如下图
李宏毅——transformer

seq2seq with attention

seq2seq由encoder和decoder组成
李宏毅——transformer
其中的RNN可以由self-attention取代
李宏毅——transformer
具体思想可参考动画
李宏毅——transformer

transformer

网络架构

李宏毅——transformer
李宏毅——transformer

attention visualization

李宏毅——transformer
李宏毅——transformer
李宏毅——transformer
下面的head只考虑临近的关系,上面的考虑更多远的关系

例子

基本上可以用seq2seq的都可以用transformer
比如从文章集合中生成wikipedia
李宏毅——transformer
universal transformer
在深度上做RNN,每一层都是一样的transformer李宏毅——transformer
transformer最早用在文字上,现在也可以用在图像上
李宏毅——transformer

相关文章:

  • 2021-12-01
  • 2021-08-04
  • 2021-11-25
  • 2022-12-23
  • 2021-09-02
  • 2021-09-15
  • 2021-10-02
  • 2022-01-04
猜你喜欢
  • 2021-05-21
  • 2021-05-18
  • 2021-10-29
  • 2022-12-23
  • 2021-05-19
  • 2022-01-14
  • 2021-06-20
相关资源
相似解决方案