一.簡介
1.bert模型的核心思想有兩點,對推動nlp的發展有著重要的作用:(1)transformer結構;(2)無監督的預訓練。transformer是乙個只基於注意力(attention)機制的序列模型。bert模型同時需要預訓練,從兩個無監督任務中獲取權重:語言建模(給定左右上下文,**丟失的單詞)以及下乙個句子**(**乙個句子是否跟在另乙個句子後面)。
二.nlp預訓練過程的發展
1.最開始nlp裡面做預訓練用的是語言模型,像nnlm,就是輸入前面單詞的one-hot編碼乘以矩陣向量,經過softmax分類器,要求被**的單詞的概率最大化,從而得到被**的單詞和wordembedding矩陣
2.然後出現了word2vec,原理和nnlm基本類似
3.詞向量雖然可以作為預訓練的輸出輸入到下游任務,但是問題是對多義詞沒辦法區分,出現了elmo,在此之前的word embedding本質上是個靜態的方式,所謂靜態指的是訓練好之後每個單詞的表達就固定住了,以後使用的時候,不論新句子上下文單詞是什麼,這個單詞的word embedding不會跟著上下文場景的變化而改變。elmo的本質思想是:我事先用語言模型學好乙個單詞的word embedding,此時多義詞無法區分,但是在使用的時候可以根據單詞的上下文意思對它的詞向量進行動態調整
elmo採用了典型的兩階段過程,第乙個階段是利用語言模型進行預訓練(雙層雙向lstm);第二個階段是在做下游任務時,從預訓練網路中提取對應單詞的網路各層的word embedding作為新特徵補充到下游任務中
預訓練訓練完後得到單詞的三個embedding(單詞的,句法的,語義的)。將這個三個加權求
BERT原理詳解
之前的文章從attention講解到了transformer,本文將會針對目前大熱的bert進行講解,bert的內部結構其實就是多個transformer 的encoder,如果您對transformer並不了解,請參閱我之前的博文。從創新的角度來看,bert其實並沒有過多的結構方面的創新點,其和g...
BERT原理詳解
網上關於bert的模型講的好的很多 參考bert模型學習與分析 谷歌bert模型深度解析 徹底搞懂bert 這裡簡單描述一下bert和openai gpt模型區別與聯絡 bert和gpt 都是使用了transformer結構,transform的encoder和decoder是有區別的,這也是ber...
如何使用bert
bert原文中文翻譯版,位址。uer py全稱是universal encoder representations,uer py是乙個在通用語料預訓練以及對下游任務進行微調的工具包。github專案位址。uer的一些教程,知乎教程 bert做情感分類 序列標註 uer分類 的介紹,參考uer py ...