赞
踩
Transformer是seq2seq结果,但是没有用到RNN,只是用到了attention和fc层
Transformer模型一出来之后效果就非常惊艳,直接完爆最好的RNN+attention,所以现在NLP的标配已经是Transformer(BERT)了,已经没有人用RNN了
什么是Transformer
谷歌在2017年发表了一篇论文名字叫《Attention Is All You Need》,提出了一个只基于attention的结构来处理序列模型相关的问题,比如机器翻译。传统的神经机器翻译大都是利用RNN或者CNN来作为encoder-decoder的模型基础,而谷歌最新的只基于Attention的Transformer模型摒弃了固有的定式,并没有用任何CNN或者RNN的结构。该模型可以高度并行地工作,所以在提升翻译性能的同时训练速度也特别快。
Transformer 在机器翻译任务上的表现超过了 RNN,CNN,只用 encoder-decoder 和 attention 机制就能达到很好的效果,最大的优点是可以高效地并行化。
transformer是在看自己和自己的相关性
Transformer模型结构
Transformer模型整体看上去看上去很复杂,其实这就是一个Seq2Seq的encoder-decoder,左边一个encoder把输入读进去,右边一个decoder得到输出
Transformer 的 encoder 由 6 个编码器叠加组成,decoder 也由 6 个解码器组成
在 Encoder 中
- Input 经过 embedding 后,要做 positional encodings,
- 然后是 Multi-head attention,
- 再经过 position-wise Feed Forward,
- 每个子层之间有残差连接。
在 Decoder 中,
- 如上图所示,也有 positional encodings,Multi-head attention 和 FFN,子层之间也要做残差连接,
- 但比 encoder 多了一个 Masked Multi-head attention,
- 最后要经过 Linear 和 softmax 输出概率。
Positional EncodingTransformer没有用RNN/CNN,这意味着它是对每个位置都输出的东西。但是Transformer的一个非常重要的创新点就是使用了positional encoding, 对不同的位置进行了一定程度的编码。使同样一个词,在不同位置得到的编码是不同的,这样就可以更好地得到位置信息的相关性
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。