前言
近期学习了之前在nlp领域很火的transformer,希望能够扩宽它在视觉领域内的应用。
Transformer
Attention is all you need中提出了transformer这种network架构,transformer中最重要的module就是self-attention,本章学习内容来自于李宏毅老师的transformer讲解课程,代码源自github ViT
transformer就是一种seq2seq的model
应用举例:训练一个聊天机器人
对不同的任务定制不同的model将会取得更好的结果。
也可以应用在一些看起来不那么像sequence to sequence的问题中:
seq2seq
Encoder
BERT的网络架构就是transformer encoder这样的
encoder也可以是其他架构设计,例如:
Decoder
常用的Decoder是用Autoregressive来实现的
Masked Multi-head attention
Decoder必须自己决定输出的sequence长度,即什么时候停止
Decoder:Non-autoregressive (NAT)
Encoder和Decoder之间的连接
decoder不管哪一层的输入一定都是encoder的最后一层吗?
其实也可以有各式各样的连接方式。
Training
之前都是假设模型已经训练好了,看它怎么运作,现在我们来看怎么训练这个网络。