韩国资源视频一区二区三区,午夜私人影院粉色视频我要,99国产高清久久久久久网站,久久国内精品自在自线观看,国产青榴在线观看视频

Internet Develppment
互聯(lián)網(wǎng)開(kāi)發(fā)& 推廣服務(wù)提供商

我們擅長(cháng)商業(yè)策略與用戶(hù)體驗的完美結合。

歡迎瀏覽我們的案例。

首頁(yè) > 新聞中心 > 新聞動(dòng)態(tài) > 正文

谷歌最強NLP模型BERT解讀

發(fā)布時(shí)間:2018-10-24 14:54:21來(lái)源:雷鋒網(wǎng)

  最近谷歌研究人員通過(guò)新的 BERT 模型在 11 項 NLP 任務(wù)中奪得 STOA 結果,這在自然語(yǔ)言處理學(xué)界以及工業(yè)界都引起了不小的熱議。作者通過(guò)在 33 億文本的語(yǔ)料上訓練語(yǔ)言模型,再分別在不同的下游任務(wù)上微調,這樣的模型在不同的任務(wù)均得到了目前為止最好的結果,并且有一些結果相比此前的最佳成績(jì)得到了幅度不小的提升。作者的這一研究其實(shí)是今年深度學(xué)習在自然語(yǔ)言處理中一個(gè)新熱點(diǎn)方向的延續,故事還得從更早一點(diǎn)說(shuō)起。

  BERT 的“前任”們

  早在 2015 年的時(shí)候,微軟研究院的何愷明和他的同事們發(fā)表了殘差網(wǎng)絡(luò )的論文,第一次通過(guò)殘差的方式將卷積神經(jīng)網(wǎng)絡(luò )推進(jìn)到了 100 層以上,并在圖像識別的任務(wù)上刷新了當時(shí)的最高紀錄。自那以后起,隨著(zhù)網(wǎng)絡(luò )不斷地加深,效果也在不斷提升。然而大量的數據訓練出來(lái)的大型網(wǎng)絡(luò )雖然效果更好,但隨著(zhù)網(wǎng)絡(luò )的加深以及數據集的不斷擴大,完全重新訓練一個(gè)模型所需要的成本也在不斷地增加。

  因此在計算機視覺(jué)處理中,人們越來(lái)越多地采用預訓練好的大型網(wǎng)絡(luò )來(lái)提取特征,然后再進(jìn)行后續任務(wù)。目前這種處理方式已經(jīng)是圖像處理中很常見(jiàn)的做法了。

  相比之下,自然語(yǔ)言處理目前通常會(huì )使用預訓練的詞向量來(lái)進(jìn)行后續任務(wù)。但詞向量是通過(guò)淺層網(wǎng)絡(luò )進(jìn)行無(wú)監督訓練,雖然在詞的級別上有著(zhù)不錯的特性,但卻缺少對連續文本的內在聯(lián)系和語(yǔ)言結構的表達能力。因此大家也希望能像圖像領(lǐng)域那樣,通過(guò)大量數據來(lái)預訓練一個(gè)大型的神經(jīng)網(wǎng)絡(luò ),然后用它來(lái)對文本提取特征去做后續的任務(wù),以期望能得到更好的效果。其實(shí)這一方向的研究一直在持續,直到今年的早些時(shí)候 AllenAI 提出的[ELMo](https://arxiv.org/pdf/1802.05365.pdf)由于其在后續任務(wù)上的優(yōu)異表現獲得了不小的關(guān)注。

  在 CMRC2018 閱讀理解比賽中,追一科技的參賽方案就運用了 ELMo 模型的預訓練方式,并做了相應的改進(jìn)。因為原本的 ELMo 當中對英文進(jìn)行了字符級別的編碼,但這對中文并不適用。我們在此基礎上改進(jìn)為筆畫(huà)級別的編碼,同時(shí)結合原有的詞級別編碼一起通過(guò)雙層 LSTM 變換來(lái)進(jìn)行語(yǔ)言模型預訓練。經(jīng)過(guò)實(shí)驗驗證,最后選擇了 512 維的詞級別 ELMo 向量進(jìn)行后續任務(wù)。

  在 ELMo 獲得成功以后不久 FastAI 就推出了[ULMFiT](https://arxiv.org/abs/1801.06146),其大體思路是在微調時(shí)對每一層設置不同的學(xué)習率。此后 OpenAI 又提出了[GPT](https://blog.openai.com/language-unsupervised/)。預訓練的語(yǔ)言模型是在百度 15 億詞文本的語(yǔ)料上進(jìn)行的,模型參數選擇了 12 層,12head 的 Transformer 結構。然后采用此模型直接在子任務(wù)上微調來(lái)進(jìn)行后續任務(wù)。

  從上面提及的這些論文的結果以及學(xué)界和工業(yè)界的反饋來(lái)看,這種使用大量的語(yǔ)料進(jìn)行預訓練,然后再在預訓練好的模型上進(jìn)行后續任務(wù)訓練,雖然訓練方式各有不同,但在后續任務(wù)都有不同程度的提高。

  而谷歌提出的 BERT 就是在 OpenAI 的 GPT 的基礎上對預訓練的目標進(jìn)行了修改,并用更大的模型以及更多的數據去進(jìn)行預訓練,從而得到了目前為止最好的效果。

  Trransformer 的編碼器結構

  BERT 的主體結構和創(chuàng )新點(diǎn)

  BERT 模型沿襲了 GPT 模型的結構,采用[Transfomer](https://arxiv.org/abs/1706.03762) 的編碼器作為主體模型結構。Transformer 舍棄了 RNN 的循環(huán)式網(wǎng)絡(luò )結構,完全基于注意力機制來(lái)對一段文本進(jìn)行建模。

  Transformer 所使用的注意力機制的核心思想是去計算一句話(huà)中的每個(gè)詞對于這句話(huà)中所有詞的相互關(guān)系,然后認為這些詞與詞之間的相互關(guān)系在一定程度上反應了這句話(huà)中不同詞之間的關(guān)聯(lián)性以及重要程度。因此再利用這些相互關(guān)系來(lái)調整每個(gè)詞的重要性(權重)就可以獲得每個(gè)詞新的表達。這個(gè)新的表征不但蘊含了該詞本身,還蘊含了其他詞與這個(gè)詞的關(guān)系,因此和單純的詞向量相比是一個(gè)更加全局的表達。

  Transformer 通過(guò)對輸入的文本不斷進(jìn)行這樣的注意力機制層和普通的非線(xiàn)性層交疊來(lái)得到最終的文本表達。

  Transformer 的注意力層得到的詞-詞之間關(guān)系

  GPT 則利用了 Transformer 的結構來(lái)進(jìn)行單向語(yǔ)言模型的訓練。所謂的語(yǔ)言模型其實(shí)是自然語(yǔ)言處理中的一種基礎任務(wù),其目標是給定一個(gè)序列文本,預測下一個(gè)位置上會(huì )出現的詞。

  模型學(xué)習這樣的任務(wù)過(guò)程和我們人學(xué)習一門(mén)語(yǔ)言的過(guò)程有些類(lèi)似。我們學(xué)習語(yǔ)言的時(shí)候會(huì )不斷地練習怎么選用合適的詞來(lái)造句,對于模型來(lái)說(shuō)也這樣。例如:

  > 今天天氣不錯,我們去公園玩吧。

  這句話(huà),單向語(yǔ)言模型在學(xué)習的時(shí)候是從左向右進(jìn)行學(xué)習的,先給模型看到“今天天氣”兩個(gè)詞,然后告訴模型下一個(gè)要填的詞是“不錯”。然而單向語(yǔ)言模型有一個(gè)欠缺,就是模型學(xué)習的時(shí)候總是按照句子的一個(gè)方向去學(xué)的,因此模型學(xué)習每個(gè)詞的時(shí)候只看到了上文,并沒(méi)有看到下文。更加合理的方式應該是讓模型同時(shí)通過(guò)上下文去學(xué)習,這個(gè)過(guò)程有點(diǎn)類(lèi)似于完形填空題。例如:

  >今天天氣 { },我們去公園玩吧。

  通過(guò)這樣的學(xué)習,模型能夠更好地把握“不錯”這個(gè)詞所出現的上下文語(yǔ)境。

  而 BERT 對 GPT 的第一個(gè)改進(jìn)就是引入了雙向的語(yǔ)言模型任務(wù)。

  此前其實(shí)也有一些研究在語(yǔ)言模型這個(gè)任務(wù)上使用了雙向的方法,例如在 ELMo 中是通過(guò)雙向的兩層 RNN 結構對兩個(gè)方向進(jìn)行建模,但兩個(gè)方向的 loss 計算相互獨立。追一科技在文本意圖模型中,也加入了通過(guò)上下文預測某個(gè)詞的輔助任務(wù),通過(guò)實(shí)驗發(fā)現在做意圖分類(lèi)的同時(shí)加入這個(gè)輔助任務(wù)能夠讓編碼器盡可能的包含輸入文本的全局信息,從而提高意圖判斷的準確率。

  而 BERT 的作者指出這種兩個(gè)方向相互獨立或只有單層的雙向編碼可能沒(méi)有發(fā)揮最好的效果,我們可能不僅需要雙向編碼,還應該要加深網(wǎng)絡(luò )的層數。但加深雙向編碼網(wǎng)絡(luò )卻會(huì )引入一個(gè)問(wèn)題,導致模型最終可以間接地“窺探”到需要預測的詞。這個(gè)“窺探”的過(guò)程可以用下面的圖來(lái)表示:

  從圖中可以看到經(jīng)過(guò)兩層的雙向操作,每個(gè)位置上的輸出就已經(jīng)帶有了原本這個(gè)位置上的詞的信息了。這樣的“窺探”會(huì )導致模型預測詞的任務(wù)變得失去意義,因為模型已經(jīng)看到每個(gè)位置上是什么詞了。

  為了解決這個(gè)問(wèn)題,我們可以從預訓練的目標入手。我們想要的其實(shí)是讓模型學(xué)會(huì )某個(gè)詞適合出現在怎樣的上下文語(yǔ)境當中;反過(guò)來(lái)說(shuō),如果給定了某個(gè)上下文語(yǔ)境,我們希望模型能夠知道這個(gè)地方適合填入怎樣的詞。從這一點(diǎn)出發(fā),其實(shí)我們可以直接去掉這個(gè)詞,只讓模型看上下文,然后來(lái)預測這個(gè)詞。但這樣做會(huì )丟掉這個(gè)詞在文本中的位置信息,那么還有一種方式是在這個(gè)詞的位置上隨機地輸入某一個(gè)詞,但如果每次都隨機輸入可能會(huì )讓模型難以收斂。

  BERT 的作者提出了采用 MaskLM 的方式來(lái)訓練語(yǔ)言模型

  通俗地說(shuō)就是在輸入一句話(huà)的時(shí)候,隨機地選一些要預測的詞,然后用一個(gè)特殊的符號來(lái)代替它們。盡管模型最終還是會(huì )看到所有位置上的輸入信息,但由于需要預測的詞已經(jīng)被特殊符號代替,所以模型無(wú)法事先知道這些位置上是什么詞,這樣就可以讓模型根據所給的標簽去學(xué)習這些地方該填的詞了。

  然而這里還有一個(gè)問(wèn)題,就是我們在預訓練過(guò)程中所使用的這個(gè)特殊符號,在后續的任務(wù)中是不會(huì )出現的。

  因此,為了和后續任務(wù)保持一致,作者按一定的比例在需要預測的詞位置上輸入原詞或者輸入某個(gè)隨機的詞。當然,由于一次輸入的文本序列中只有部分的詞被用來(lái)進(jìn)行訓練,因此 BERT 在效率上會(huì )低于普通的語(yǔ)言模型,作者也指出 BERT 的收斂需要更多的訓練步數。

  BERT 另外一個(gè)創(chuàng )新是在雙向語(yǔ)言模型的基礎上額外增加了一個(gè)句子級別的連續性預測任務(wù)。這個(gè)任務(wù)的目標也很簡(jiǎn)單,就是預測輸入 BERT 的兩端文本是否為連續的文本,作者指出引入這個(gè)任務(wù)可以更好地讓模型學(xué)到連續的文本片段之間的關(guān)系。在訓練的時(shí)候,輸入模型的第二個(gè)片段會(huì )以 50% 的概率從全部文本中隨機選取,剩下 50% 的概率選取第一個(gè)片段的后續的文本。

  除了模型結構,模型大小和數據量都很重要

  以上的描述涵蓋了 BERT 在模型結構和訓練目標上的主要創(chuàng )新點(diǎn),而 BERT 的成功還有一個(gè)很大的原因來(lái)自于模型的體量以及訓練的數據量。

  BERT 訓練數據采用了英文的開(kāi)源語(yǔ)料 BooksCropus 以及英文維基百科數據,一共有 33 億個(gè)詞。同時(shí) BERT 模型的標準版本有 1 億的參數量,與 GPT 持平,而 BERT 的大號版本有 3 億多參數量,這應該是目前自然語(yǔ)言處理中最大的預訓練模型了。

  當然,這么大的模型和這么多的數據,訓練的代價(jià)也是不菲的。谷歌用了 16 個(gè)自己的 TPU 集群(一共 64 塊 TPU)來(lái)訓練大號版本的 BERT,一共花了 4 天的時(shí)間。對于是否可以復現預訓練,作者在 [Reddit](https://www.reddit.com/r/MachineLearning/comments/9nfqxz/r_bert_pretraining_of_deep_bidirectional)上有一個(gè)大致的回復,指出 OpenAI 當時(shí)訓練 GPT 用了將近 1 個(gè)月的時(shí)間,而如果用同等的硬件條件來(lái)訓練 BERT 估計需要 1 年的時(shí)間。不過(guò)他們會(huì )將已經(jīng)訓練好的模型和代碼開(kāi)源,方便大家訓練好的模型上進(jìn)行后續任務(wù)。

  雖然訓練的代價(jià)很大,但是這個(gè)研究還是帶來(lái)了一些思考和啟發(fā)。例如雙向語(yǔ)言模型的運用,多任務(wù)對預訓練的幫助以及模型深度帶來(lái)的收益。相信在未來(lái)的一段時(shí)間,自然語(yǔ)言處理中預訓練的神經(jīng)網(wǎng)絡(luò )語(yǔ)言模型會(huì )得到更多的關(guān)注和運用。
 ?。?a href="http://www.cki5.com">邯鄲小程序快速開(kāi)發(fā))

最新資訊
? 2018 河北碼上網(wǎng)絡(luò )科技有限公司 版權所有 冀ICP備18021892號-1   
? 2018 河北碼上科技有限公司 版權所有.
韩国资源视频一区二区三区,午夜私人影院粉色视频我要,99国产高清久久久久久网站,久久国内精品自在自线观看,国产青榴在线观看视频