再梳理一下seqtoseq,encoder-decoder,attention,transformer的概念
1.encoder-decoder模型
????????不是具體的某一種算法,而是一類算法的統稱,經常用于NLP領域(比如 中文翻英文)
在這里,encoder和decoder都可以選擇cnn,rnn,lstm,birnn,gru等(可以自由組合)
2.seqtoseq
????????seqtoseq是根據rnn引申出來的變種,但后續又跳出rnn的概念,加入了cnn,lstm網絡以進行應用
????????我理解的seqtoseq就是把兩個rnn結合在一起(有三種結合方法)以實現輸入N輸出M,很好地發揮輸入的全部信息
????????上段提到了三種結合方法,但是他們的encoder部分都是一樣的:把所有的輸入整合到僅僅一個輸出 向量c上。但后邊的decoder有三種方式了。
????????由于最開始的seqtoseq概念是用rnn引申出來的,后續facebook又提出了用cnn代替rnn(注意:已經加入了attention),又有人提出了用lstm代替rnn等。
如:
????????rnn+seqtoseq
????????cnn+seqtoseq+attention
3.attention
????????而單純的結合在一起又不能很好的滿足性能,因為輸入的全部信息太多導致網絡只對離它最近的輸入記憶性強而對遠處的記憶性弱
????????所以在decoder處加入attention。保證了我想要哪方面的輸入就把極大部分的注意力放在哪方面的輸入。這樣的話,輸出會準確。
如:
????????????????lstm+seqtoseq+attention
4.transformer
????????這是針對于cnn+seqtoseq以及rnn+seqtoseq的改進,完全拋棄cnn和rnn,只采用attention來構造encoder和decoder。
????????有一句話:transformer is?Seq2seq model with many "self-Attention"
總結
以上是生活随笔為你收集整理的再梳理一下seqtoseq,encoder-decoder,attention,transformer的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玛雅历 —— C++
- 下一篇: 基于Echarts实现可视化数据大屏物流