BERT(Bidirectional Encoder Representation from Transformers)
機器閱讀理解領域
從名字很好理解,主要使用的方法是Transformer的方法。。進行機器翻譯等操作
省流:BERT用於文字識別,機器閱讀理解。。跟GPT類似
(1)詞嵌入Embedding
詞嵌入又有三個部分組成:
Token Embedding
Segment Embedding
Posiiton Embedding
文字出現的位置,進行編碼
(2)Transformer Encoder
使用了我們熟知的多頭注意力機制
(3)預訓練
BERT是一個多工模型,它的預訓練(Pre-training)任務是由兩個自監督任務組成,即MLM和NSP
MLM
MLM是指在訓練的時候隨即從輸入語料上mask掉一些單詞,然後透過的上下文預測該單詞,該任務非常像我們在中學時期經常做的完形填空。
在訓練模型時,一個句子會被多次喂到模型中用於引數學習,但是Google並沒有在每次都mask掉這些單詞,而是在確定要Mask掉的單詞之後,做以下處理。
80%的時候會直接替換為[Mask],將句子 "my dog is cute" 轉換為句子 "my dog is [Mask]"。
10%的時候將其替換為其它任意單詞,將單詞 "cute" 替換成另一個隨機詞,例如 "apple"。將句子 "my dog is cute" 轉換為句子 "my dog is apple"。
10%的時候會保留原始Token,例如保持句子為 "my dog is cute" 不變。
-----摘自知乎
NSP(Next Sentence Prediction)
判斷句子B是否是句子A的下文。如果是的話輸出’IsNext‘,否則輸出’NotNext‘。
輸入 = [CLS] 我 喜歡 玩 [Mask] 聯盟 [SEP] 我 最 擅長 的 [Mask] 是 亞索 [SEP]
類別 = IsNext
輸入 = [CLS] 我 喜歡 玩 [Mask] 聯盟 [SEP] 今天 天氣 很 [Mask] [SEP]
類別 = NotNext
(4)微調
模型微調
原文網址
這裡按照自己的理解對該文做出總結