Transformer結構
Self-Attention
上圖是論文中 Transformer 的內部結構圖,左側為 Encoder block,右側為 Decoder block。紅色圈中的部分為 Multi-Head Attention,是由多個 Self-Attention組成的,可以看到 Encoder block 包含一個 Multi-Head Attention,而 Decoder block 包含兩個 Multi-Head Attention (其中有一個用到 Masked)。Multi-Head Attention 上方還包括一個 Add & Norm 層,Add 表示殘差連接 (Residual Connection) 用于防止網絡退化,Norm 表示 Layer Normalization,用于對每一層的激活值進行歸一化。
Bert模型結構
-
干了啥事?
image.png
輸入部分:
Input=token emb + segment emb+ position emb
CLS向量+句子+sep分割
cls向量是啥:
預訓練如何做
// MLM-掩碼語言模型
無監督
AR,也就是autoregressive,我們稱之為自回歸模型;只能考慮單側的信息,典型的就是GPT
P(我愛吃飯) = P(我)P(愛|我)P(吃|我愛)P(飯|我愛吃);AE,也就是autoencoding,我們稱之為自編碼模型;從損壞的輸入數據中預測重建原始數據。可以使用上下文的信息
mask之后:【我愛mask飯】文本重建之后預測,前提假設,mask目標相互獨立
P(我愛吃飯|我愛mask飯)=P(吃|我愛飯)
隨機mask15%單詞,10%替換成其他,10%保持不變,80%替換為mask。
// NSP任務
為了做下一句預測。
NSP樣本如下:
- 從訓練語料庫中取出兩個連續的段落作為正樣本
- 從不同的文檔中隨機創建一對段落作為負樣本
缺點:主題預測和連貫性預測合并為一個單項任務
微調的玩法?
代碼讀一讀
https://zhuanlan.zhihu.com/p/360988428
僅供學習 無關利益
https://www.youtube.com/watch?v=ugWDIIOHtPA&list=PLJV_el3uVTsOK_ZK5L0Iv_EQoL1JefRL4&index=61
https://zhuanlan.zhihu.com/p/338817680
https://arxiv.org/pdf/1810.04805.pdf
https://www.bilibili.com/video/BV1Ey4y1874y?from=search&seid=10522068071476269918&spm_id_from=333.337.0.0
https://zhuanlan.zhihu.com/p/51413773