訂閱
糾錯(cuò)
加入自媒體

百度提出的持續(xù)學(xué)習(xí)語(yǔ)義理解框架RNIE基本原理簡(jiǎn)析

本文以通俗易懂的語(yǔ)言介紹了百度提出的 持續(xù)學(xué)習(xí)語(yǔ)義理解框架 ERNIE 的基本原理,和利用 ERNIE 來(lái)解決下游 NLP 任務(wù)的過(guò)程。

一、簡(jiǎn)介

人工智能這個(gè)古老而又年輕的學(xué)科,正在經(jīng)歷一場(chǎng)由深度學(xué)習(xí)引領(lǐng)的革命。深度學(xué)習(xí)最早在圖像和語(yǔ)音領(lǐng)域取得成功,人們發(fā)現(xiàn)在解決這兩個(gè)領(lǐng)域的問(wèn)題時(shí),各類基于神經(jīng)網(wǎng)絡(luò)的方法大大超越了其它傳統(tǒng)方法的效果。隨后這樣的變革也發(fā)生在了自然語(yǔ)言處理 (NLP) 領(lǐng)域。時(shí)至今日,人們?cè)谔幚?NLP 任務(wù)時(shí),例如詞法分析、語(yǔ)言模型、機(jī)器翻譯等,通常會(huì)選擇構(gòu)建各種神經(jīng)網(wǎng)絡(luò)來(lái)解決,這已形成了一種范式。不過(guò),不同任務(wù)所適用的神經(jīng)網(wǎng)絡(luò)可能千差萬(wàn)別,人們要把相當(dāng)大的精力放在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)或者選擇上來(lái),這無(wú)疑增加了深度學(xué)習(xí)的使用成本。

近年來(lái),語(yǔ)義表示(language representation)技術(shù)的發(fā)展,使得 “預(yù)訓(xùn)練-微調(diào)” 作為解決NLP任務(wù)的一種新的范式開(kāi)始出現(xiàn)。一個(gè)通用的表示能力強(qiáng)的模型被選擇為語(yǔ)義表示模型,在預(yù)訓(xùn)練階段,用大量的語(yǔ)料和特定的任務(wù)訓(xùn)練該模型,使其編碼海量的語(yǔ)義知識(shí);在微調(diào)階段,該模型會(huì)被加上不同的簡(jiǎn)單輸出層用以解決下游的 NLP 任務(wù)。

早期較為著名的語(yǔ)義表示模型包括ELMo 和 GPT ,分別基于雙層雙向LSTM和Transformer Decoder框架,而真正讓語(yǔ)義表示技術(shù)大放異彩的是BERT (Bidirectional Encoder Representations from Transformers) 的提出。BERT以Transformer Encoder為骨架,以屏蔽語(yǔ)言模型 (Masked LM) 和下一句預(yù)測(cè)(Next Sentence Prediction)這兩個(gè)無(wú)監(jiān)督預(yù)測(cè)任務(wù)作為預(yù)訓(xùn)練任務(wù),用英文Wikipedia和Book Corpus的混合語(yǔ)料進(jìn)行訓(xùn)練得到預(yù)訓(xùn)練模型。結(jié)合簡(jiǎn)單的輸出層,BERT提出伊始就在11個(gè)下游NLP任務(wù)上取得了 SOTA(State of the Art)結(jié)果,即效果最佳,其中包括了自然語(yǔ)言理解任務(wù)GLUE和閱讀理解SQuAD。

可以看到,用語(yǔ)義表示模型解決特定的NLP任務(wù)是個(gè)相對(duì)簡(jiǎn)單的過(guò)程。因此,語(yǔ)義表示模型的預(yù)訓(xùn)練階段就變得十分重要,具體來(lái)說(shuō),模型結(jié)構(gòu)的選取、訓(xùn)練數(shù)據(jù)以及訓(xùn)練方法等要素都會(huì)直接影響下游任務(wù)的效果。當(dāng)前的很多學(xué)術(shù)工作就是圍繞預(yù)訓(xùn)練階段而展開(kāi)的,在BERT之后各種語(yǔ)義表示模型不斷地被提了出來(lái)。

ERNIE(Enhanced Representation through kNowledge IntEgration)是百度提出的語(yǔ)義表示模型,同樣基于Transformer Encoder。相較于BERT,其預(yù)訓(xùn)練過(guò)程利用了更豐富的語(yǔ)義知識(shí)和更多的語(yǔ)義任務(wù),在多個(gè)NLP任務(wù)上取得了比BERT等模型更好的效果。

項(xiàng)目開(kāi)源地址:https://github.com/PaddlePaddle/ERNIE

該項(xiàng)目包含了對(duì)預(yù)訓(xùn)練,以及常見(jiàn)下游 NLP 任務(wù)的支持,如分類、匹配、序列標(biāo)注和閱讀理解等。

二、基本原理Transformer Encoder

ERNIE 采用了 Transformer Encoder 作為其語(yǔ)義表示的骨架。Transformer 是由論文Attention is All You Need 首先提出的機(jī)器翻譯模型,在效果上比傳統(tǒng)的 RNN 機(jī)器翻譯模型更加優(yōu)秀。

Transformer 的簡(jiǎn)要結(jié)構(gòu)如圖1所示,基于 Encoder-Decoder 框架, 其主要結(jié)構(gòu)由 Attention(注意力) 機(jī)制構(gòu)成:

Encoder 由全同的多層堆疊而成,每一層又包含了兩個(gè)子層:一個(gè)Self-Attention層和一個(gè)前饋神經(jīng)網(wǎng)絡(luò)。Self-Attention 層主要用來(lái)輸入語(yǔ)料之間各個(gè)詞之間的關(guān)系(例如搭配關(guān)系),其外在體現(xiàn)為詞匯間的權(quán)重,此外還可以幫助模型學(xué)到句法、語(yǔ)法之類的依賴關(guān)系的能力。

Decoder 也由全同的多層堆疊而成,每一層同樣包含了兩個(gè)子層。在 Encoder 和 Decoder 之間還有一個(gè)Encoder-Decoder Attention層。Encoder-Decoder Attention層的輸入來(lái)自于兩部分,一部分是 Encoder 的輸出,它可以幫助解碼器關(guān)注輸入序列哪些位置值得關(guān)注。另一部分是 Decoder 已經(jīng)解碼出來(lái)的結(jié)果再次經(jīng)過(guò)Decoder的Self-Attention層處理后的輸出,它可以幫助解碼器在解碼時(shí)把已翻譯的內(nèi)容中值得關(guān)注的部分考慮進(jìn)來(lái)。例如:將“read a book”翻譯成中文,我們把“book”之所以翻譯成了“書(shū)”而沒(méi)有翻譯成“預(yù)定”就是因?yàn)榍懊鍾ead這個(gè)讀的動(dòng)作。

在解碼過(guò)程中 Decoder 每一個(gè)時(shí)間步都會(huì)輸出一個(gè)實(shí)數(shù)向量,經(jīng)過(guò)一個(gè)簡(jiǎn)單的全連接層后會(huì)映射到一個(gè)詞典大小、被稱作對(duì)數(shù)幾率(logits)的向量,再經(jīng)過(guò) softmax 歸一化之后得到當(dāng)前時(shí)間步各個(gè)詞出現(xiàn)的概率分布。

圖 1 Transformer 的簡(jiǎn)要結(jié)構(gòu)圖

Transformer 在機(jī)器翻譯任務(wù)上面證明了其超過(guò) LSTM/GRU 的卓越表示能力。從 RNN 到 Transformer,模型的表示能力在不斷的增強(qiáng),語(yǔ)義表示模型的骨架也經(jīng)歷了這樣的一個(gè)演變過(guò)程。

如圖2所示,該圖為BERT、GPT 與 ELMo的結(jié)構(gòu)示意圖,可以看到 ELMo 使用的就是 LSTM 結(jié)構(gòu),接著 GPT 使用了 Transformer Decoder。進(jìn)一步 BERT 采用了 Transformer Encoder,從理論上講其相對(duì)于 Decoder 有著更強(qiáng)的語(yǔ)義表示能力,因?yàn)镋ncoder接受雙向輸入,可同時(shí)編碼一個(gè)詞的上下文信息。最后在NLP任務(wù)的實(shí)際應(yīng)用中也證明了Encoder的有效性,因此ERNIE也采用了Transformer Encoder架構(gòu)。

圖2 BERT、GPT 與 ELMo

1  2  下一頁(yè)>  
聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)