日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NLP】 深入浅出解析BERT原理及其表征的内容

發(fā)布時(shí)間:2025/3/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NLP】 深入浅出解析BERT原理及其表征的内容 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本篇介紹目前NLP領(lǐng)域里影響力最大的預(yù)訓(xùn)練模型BERT。首先,大致介紹了BERT里有什么;接著,介紹了BERT的結(jié)構(gòu)和其預(yù)訓(xùn)練的方式;最后,再總結(jié)BERT的表征的內(nèi)容和分布。

作者&編輯 | 小Dream哥

1 BERT是什么?

了解自然語言處理的同學(xué),應(yīng)該沒有不知道BERT的;甚至連很多自然語言處理圈外的開發(fā)的同學(xué),都知道這個(gè)模型的厲害。不得不佩服谷歌的影響力和營(yíng)銷水平,當(dāng)然,也確實(shí)是它的效果有這么棒。

這里就不再說BERT當(dāng)年是怎么樣橫掃各大NLP任務(wù)榜單的故事了。畢竟現(xiàn)在出了個(gè)XLnet,各方面都比他強(qiáng)了一點(diǎn)點(diǎn);而且,也開始有一些論文開始接BERT的短了。

那我們言歸正傳,現(xiàn)在來看看BERT究竟是什么,有什么樣的結(jié)構(gòu),如何進(jìn)行預(yù)訓(xùn)練等。

BERT,全稱是Pre-training of Deep Bidirectional Transformers for Language Understanding。注意其中的每一個(gè)詞都說明了BERT的一個(gè)特征。

Pre-training說明BERT是一個(gè)預(yù)訓(xùn)練模型,通過前期的大量語料的無監(jiān)督訓(xùn)練,為下游任務(wù)學(xué)習(xí)大量的先驗(yàn)的語言、句法、詞義等信息。

Bidirectional說明BERT采用的是雙向語言模型的方式,能夠更好的融合前后文的知識(shí)。

Transformers說明BERT采用Transformers作為特征抽取器。

Deep說明模型很深,base版本有12層,large版本有24層。

總的來說,BERT是一個(gè)用Transformers作為特征抽取器的深度雙向預(yù)訓(xùn)練語言理解模型

2 BERT的結(jié)構(gòu)

上圖是BERT的模型結(jié)構(gòu),它由多層的雙向Transformer連接而成,有12層和24層兩個(gè)版本。BERT中Transformer的實(shí)現(xiàn)與上一期講的Transformer實(shí)現(xiàn)別無二致。

要理解BERT,最主要在于它預(yù)訓(xùn)練時(shí)采取的方法,下面我們做一個(gè)詳細(xì)的講解。

3 BERT預(yù)訓(xùn)練模式

(1) Input Representation

我們先看看,BERT網(wǎng)絡(luò)接受的輸入是什么,如上圖所示,BERT接受的輸入包括三個(gè)部分:


1) 詞嵌入后的Token Embedding,每次輸入總以符號(hào)[CLS]的embedding開始,如果是兩個(gè)句子,則句之間用[SEP]隔開。

2) 句子類別的符號(hào)

3) Position Embedding,這個(gè)與Transformer中的一致。

上述三個(gè)向量相加,組成BERT的輸入。

(2) Masked Language Model

那么,BERT是通過什么樣的任務(wù)進(jìn)行訓(xùn)練呢?其中一個(gè)是Masked Language Model。BERT會(huì)在訓(xùn)練時(shí)遮住訓(xùn)練語料中15%的詞(實(shí)際的MASK機(jī)制還有一些調(diào)整),用符號(hào)[MASK]代替,通過預(yù)測(cè)這部分被遮住的內(nèi)容,來讓網(wǎng)絡(luò)學(xué)習(xí)通用的詞義、句法和語義信息。

那么,該怎么理解Masked Language Model呢?我們不妨回想一下高中階段都做過的英語完形填空,我們?cè)谧鐾晷翁羁疹}目的時(shí)候,為了填上空格中的詞,常常需要不斷的看空格詞的上下文,甚至要了解整個(gè)段落的信息。有時(shí)候,有些空甚至要通過一些英語常識(shí)才能得到答案。通過做完形填空,我們能夠?qū)W習(xí)到英語中很多的詞義、句法和語義信息。BERT的訓(xùn)練過程也類似,Masked Language Model通過預(yù)測(cè)[MASK]代替的詞,不斷的“對(duì)比”上下文的語義,句法和詞義信息,從而學(xué)到了大量相關(guān)的知識(shí)。

哈哈,不知道BERT的提出者們是不是受中國(guó)英語試卷里完形填空題目的啟發(fā)呢?

(3) Next Sentence Prediction


BERT的預(yù)訓(xùn)練過程,還有一個(gè)預(yù)測(cè)下一句的任務(wù)。就是輸入兩個(gè)句子,判斷第二個(gè)句子是不是第一個(gè)句子的下一句的任務(wù)。這個(gè)任務(wù)是為像QA和NLI這樣需要考慮句子間關(guān)系的下游任務(wù)準(zhǔn)備的。


通過這個(gè)任務(wù),BERT獲得了句子級(jí)表征的能力。通常,BERT的第一個(gè)輸出,即[CLS]對(duì)應(yīng)的輸出,就可以用來當(dāng)作輸入句子的句向量來使用。

4 BERT到底學(xué)到了什么?

(1) 在BERT在預(yù)訓(xùn)練過程中,學(xué)習(xí)到了豐富的語言學(xué)方面的信息。


短語句法的信息在低層網(wǎng)絡(luò)結(jié)構(gòu)中學(xué)習(xí)到;BERT的中層網(wǎng)絡(luò)就學(xué)習(xí)到了豐富的語言學(xué)特征;BERT的高層網(wǎng)絡(luò)則學(xué)習(xí)到了豐富的語義信息特征。


上述觀點(diǎn)來自如下的論文,該團(tuán)隊(duì)用一系列的探針實(shí)驗(yàn),佐證了上述的觀點(diǎn),對(duì)我們進(jìn)一步了解BERT和更有效的使用BERT有一定的指導(dǎo)意義。

Ganesh Jawahar Beno??t Sagot Djam′e Seddah (2019). What does BERT learn about the structure of language?.

(2)?BERT其實(shí)并沒有學(xué)習(xí)到深層的語義信息,只是學(xué)習(xí)到了一些淺層語義和語言概率的線索?


最近有一篇論文"Probing Neural Network Comprehension of Natural Language Arguments",討論BERT在Argument Reasoning Comprehension Task(ARCT)任務(wù)中是不是其實(shí)只是學(xué)習(xí)到了數(shù)據(jù)集中一些虛假的統(tǒng)計(jì)線索,并沒有真正理解語言中的推理和常識(shí)。

事情大概是這樣子,論文作者為了殺殺BERT的威風(fēng),挑了自然語言處理中比較難的任務(wù)ARCT,并且在測(cè)試數(shù)據(jù)中做了一些“手腳”,想試一試BERT的身手。所謂的ARCT,是一個(gè)推理理解的任務(wù)。如下圖所示,展示了一個(gè)ARCT數(shù)據(jù)集中的例子。ARCT數(shù)據(jù)中有一個(gè)結(jié)論Claim,一個(gè)原因Reason,一個(gè)論據(jù)Warrant,還有一個(gè)錯(cuò)誤論據(jù)Alternative。

如上圖所示,是ARCT任務(wù)的通用模型結(jié)構(gòu),就是同時(shí)輸入,Claim,Reason和兩個(gè)Warrant,預(yù)測(cè)哪個(gè)Warrant是正確的。

論文作者首先在ARCT原始數(shù)據(jù)集上用BERT進(jìn)行ARCT任務(wù)的預(yù)測(cè),發(fā)現(xiàn)BERT的效果確實(shí)很好,達(dá)到71.6±0.04,跟沒有接受過訓(xùn)練的人員成績(jī)接近。

然后,研究人員研究測(cè)試數(shù)據(jù)集發(fā)現(xiàn)數(shù)據(jù)集里面其實(shí)隱藏了一些統(tǒng)計(jì)線索。簡(jiǎn)單的說就是,數(shù)據(jù)集里正確的Warrant里包含某些詞的概率比錯(cuò)誤的Warrant要高。例如,只要看到Warrant中包含not就預(yù)測(cè)其為正確的Warrant就能夠達(dá)到60的正確率。

同時(shí),研究人員還做了只把warrant和claim、warrant和reason作為輸入來訓(xùn)練模型的實(shí)驗(yàn)。實(shí)驗(yàn)發(fā)現(xiàn),BERT的效果也能達(dá)到70+。這就好像老師題目都還沒有說完,學(xué)生就把答案寫出來,這顯然不太合理的,要么是學(xué)生作弊,要么是學(xué)生提前把答案背下來了。

最后,研究人員來了一招狠的,就是將數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行反轉(zhuǎn)和一些詞概率上的平均處理,如下所示:

實(shí)驗(yàn)結(jié)果令人驚訝,BERT最好的效果只有53%,只比瞎猜好一點(diǎn)點(diǎn)。

所以,BERT的預(yù)訓(xùn)練過程到底學(xué)到了什么呢?

要準(zhǔn)確回答這個(gè)問題并不容易。但通過上述兩篇論文在兩個(gè)維度上對(duì)BERT的解析,我們心里應(yīng)該能夠給BERT一個(gè)清晰的定位。BERT是一個(gè)強(qiáng)大的預(yù)訓(xùn)練,因其超大的參數(shù)量和較強(qiáng)的特征提取能力,能夠從海量的語料中學(xué)習(xí)到一些語言學(xué)和一定程度的語義信息。但是,筆者認(rèn)為,跟此前的所有NLP模型一樣,它還遠(yuǎn)沒有學(xué)習(xí)到語言中蘊(yùn)含的大量的常識(shí)和推理。例如,利用BERT或許能夠從"天下雨了",推斷出“要帶傘”。但是更深層次的,“要帶傘是因?yàn)榕铝軡?#xff0c;淋濕了會(huì)感冒”這些BERT是很難學(xué)到的。

NLP的難處就在于,語言是高度精煉和情境化的。一句簡(jiǎn)單的話,可能需要豐富的知識(shí)才能理解。現(xiàn)在來看,預(yù)訓(xùn)練模型是一條有希望但漫長(zhǎng)的道路。

總結(jié)

BERT是目前最火爆的NLP預(yù)訓(xùn)練模型,其基于MLM和雙向語言模型和以Transformer作為特征抽取器,是其成功最主要的兩個(gè)原因。我們先想想,BERT還有哪些地方可以改進(jìn)的,下周我們介紹XLnet的時(shí)候,就可以更好的理解了。

讀者們可以留言,或者加入我們的NLP群進(jìn)行討論。感興趣的同學(xué)可以微信搜索jen104,備注"加入有三AI NLP群"

下期預(yù)告:XLnet:BERT和GPT的結(jié)合

知識(shí)星球推薦

掃描上面的二維碼,就可以加入我們的星球,助你成長(zhǎng)為一名合格的自然語言處理算法工程師。

知識(shí)星球主要有以下內(nèi)容:

(1) 聊天機(jī)器人。考慮到聊天機(jī)器人是一個(gè)非常復(fù)雜的NLP應(yīng)用場(chǎng)景,幾乎涵蓋了所有的NLP任務(wù)及應(yīng)用。所以小Dream哥計(jì)劃以聊天機(jī)器人作為切入點(diǎn),通過介紹聊天機(jī)器人的原理和實(shí)踐,逐步系統(tǒng)的更新到大部分NLP的知識(shí),會(huì)包括語義匹配,文本分類,意圖識(shí)別,語義匹配命名實(shí)體識(shí)別、對(duì)話管理以及分詞等。

(2) 知識(shí)圖譜。知識(shí)圖譜對(duì)于NLP各項(xiàng)任務(wù)效果好壞的重要性,就好比基礎(chǔ)知識(shí)對(duì)于一個(gè)學(xué)生成績(jī)好壞的重要性。他是NLP最重要的基礎(chǔ)設(shè)施,目前各大公司都在著力打造知識(shí)圖譜,作為一個(gè)NLP工程師,必須要熟悉和了解他。

(3) NLP預(yù)訓(xùn)練模型。基于海量數(shù)據(jù),進(jìn)行超大規(guī)模網(wǎng)絡(luò)的無監(jiān)督預(yù)訓(xùn)練。具體的任務(wù)再通過少量的樣本進(jìn)行Fine-Tune。這樣模式是目前NLP領(lǐng)域最火熱的模式,很有可能引領(lǐng)NLP進(jìn)入一個(gè)全新發(fā)展高度。你怎么不深入的了解?


轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系

侵權(quán)必究

往期精選

  • 【NLP】自然語言處理專欄上線,帶你一步一步走進(jìn)“人工智能技術(shù)皇冠上的明珠”。

  • 【NLP】用于語音識(shí)別、分詞的隱馬爾科夫模型HMM

  • 【NLP】用于序列標(biāo)注問題的條件隨機(jī)場(chǎng)(Conditional Random Field, CRF)

  • 【NLP】經(jīng)典分類模型樸素貝葉斯解讀

  • 【NLP】 NLP專欄欄主自述,說不出口的話就交給AI說吧

  • 【NLP】 深度學(xué)習(xí)NLP開篇-循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)

  • 【NLP】 NLP中應(yīng)用最廣泛的特征抽取模型-LSTM

  • 【NLP】 聊聊NLP中的attention機(jī)制

  • 【NLP】 理解NLP中網(wǎng)紅特征抽取器Tranformer

  • 【每周NLP論文推薦】從預(yù)訓(xùn)練模型掌握NLP的基本發(fā)展脈絡(luò)

  • 【技術(shù)綜述】深度學(xué)習(xí)在自然語言處理中的應(yīng)用發(fā)展

總結(jié)

以上是生活随笔為你收集整理的【NLP】 深入浅出解析BERT原理及其表征的内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。