語言的學習
- RNN 循環神經網路 : RNN, LSTM, GRU
- Word2vector : 詞向量模型
- Encoder/Decoder 模型 : seq2seq Model
- Attention : 改用 CNN 加上 Attention 的權重函數 (聚焦於某區域)。
- Transformer : seq2seq 中的 RNN 改用 Self-Attention 取代。
- ELMO : RNN 雙向預測,然後全部用權重加總。
- BERT: Transformer中的Encoder就是Bert的預訓練架構 (用 MLM + NSP)
- MLM : Masked Language Model, NSP: Next Sentence Prediction.
Attention
Attention Is All You Need
那么怎么理解AM模型的物理含义呢?一般文献里会把AM模型看作是单词对齐模型,这是非常有道理的。目标句子生成的每个单词对应输入句子单词的概率分布可以理解为输入句子单词和这个目标生成单词的对齐概率,这在机器翻译语境下是非常直观的:传统的统计机器翻译一般在做的过程中会专门有一个短语对齐的步骤,而注意力模型其实起的是相同的作用。在其他应用里面把AM模型理解成输入句子和目标句子单词之间的对齐概率也是很顺畅的想法。
Transformer
Pytorch 實作 – https://github.com/huggingface/transformers
BERT
要訓練好一個有 1.1 億參數的 12 層 BERT-BASE 得用 16 個 TPU chips 跑上整整 4 天,花費 500 鎂;24 層的 BERT-LARGE 則有 3.4 億個參數,得用 64 個 TPU chips(約 7000 鎂)訓練。喔對,別忘了多次實驗得把這些成本乘上幾倍。最近也有 NLP 研究者呼籲大家把訓練好的模型開源釋出以減少重複訓練對環境造成的影響。