Transformer - chanandrew96/MyLearning GitHub Wiki
Transformer
- 使用Encoder-Decoder框架
- 基於Self-Attention計算
![Transformer Model Architecture](https://ifwind.github.io/2021/08/15/Transformer%E7%9B%B8%E5%85%B3%E2%80%94%E2%80%94%EF%BC%881%EF%BC%89Encoder-Decoder%E6%A1%86%E6%9E%B6/Transformer-Encoder-Decoder.png)
Encoder-Decoder框架
- 是一個End-to-end的學習算法
- 不論輸入和輸出的長度,中間計算的向量的長度是固定的
- Encoder-Decoder框架設計的模型的輸入可以是單一向量(單一輸入),這個時候向量大多會處理成固定長度
- 當需要處理多個輸入/向量時,輸出會有三種形式
- 輸入和輸出數量相同,每個向量有對應的Label/Value
- 只輸出一個Label/Value
- 輸入和輸出的數量不對等,由模型決定輸出的Label/Value數量 (Seq2Seq)
- 分為Encoder和Decoder兩個部分
Encoder
Decoder
Encoder和Decoder例子
Encoder-Decoder應用
![Encoder-Decoder Sample](https://ifwind.github.io/2021/08/15/Transformer%E7%9B%B8%E5%85%B3%E2%80%94%E2%80%94%EF%BC%881%EF%BC%89Encoder-Decoder%E6%A1%86%E6%9E%B6/transformer%E5%BA%94%E7%94%A8.png)
Encoder-Decode的缺點
- Encoder會將輸入Encode成固定長度的向量,這個壓縮動作會造成信息損失
Seq2Seq Model
Attention