結構:兩個bilstm
1.考慮上下文資訊,每個詞都給出三個embedding:word embedding、1st lstm layer embedding、2nd lstm layer embedding,針對不同的上下文資訊給三個embedding賦予不同的權重。
2.利用長文字而不是視窗學習embedding
3.用character cnn構建詞表示
雙向+只用到了transformer的encoder部分+詞表示
pre-training model +fine-tuning(針對具體task微調)
bert——集大成者
1.根據上下文**——word2vec
2.bi-directional雙向結構——elmo
3.使用transformer——gpt(open ai)
sep:special token 區分兩個句子
token embeddings
segment embeddings:為每乙個token加上乙個learned embedding 來識別這個token屬於句子a還是b
position embeddings:token的位置
mlm(masked language model)_完形填空
mask 15%的token,分三種情況:
其中80%,用[mask]替換,對mask進行**,**錯誤再重新進行訓練優化
其中10%,用另乙個詞替換
其中10%,該詞保持不變
模型**masked tokens
loss只計算masked tokens,其他位置的tokens不計算
nsp(next sentence prediction)
bert學習筆記
如上圖,正如上一節所說,bert的核心結構其實跟transformer的encoder部分差不多。關於transformer的相關介紹,可檢視 transformer學習筆記 那麼這裡就不再贅述了。雖然bert跟transformer的encoder部分基本差不多,但是還是有一些地方需要注意一下。在...
Bert理論筆記
之前講的很多了,再多說一點 對於位置編碼,使用的是相對位置編碼,這樣可以保證比較好的相對的位置關係 之後的openai gpt和bert使用的都是簡單的絕對編碼 對於decoder部分不經存在self attention還有encoder decoder attention,並且decoder部分使...
谷歌BERT 學習
bert 怎麼讀隨便 其實是bidirectional encoder representations from transformers的縮寫,屬於深度雙向預訓練模型,在模型的所有層的表示都依賴於左右兩個方向的上下文。這樣設計的結果就是在大規模預料上預訓練的bert表示再加一層額外的輸出層便可以應...