訂閱
糾錯
加入自媒體

百度提出的持續學習語義理解框架RNIE基本原理簡析

2020-12-17 09:30
程序媛驛站
關注

本文以通俗易懂的語言介紹了百度提出的 持續學習語義理解框架 ERNIE 的基本原理,和利用 ERNIE 來解決下游 NLP 任務的過程。

一、簡介

人工智能這個古老而又年輕的學科,正在經歷一場由深度學習引領的革命。深度學習最早在圖像和語音領域取得成功,人們發現在解決這兩個領域的問題時,各類基于神經網絡的方法大大超越了其它傳統方法的效果。隨后這樣的變革也發生在了自然語言處理 (NLP) 領域。時至今日,人們在處理 NLP 任務時,例如詞法分析、語言模型、機器翻譯等,通常會選擇構建各種神經網絡來解決,這已形成了一種范式。不過,不同任務所適用的神經網絡可能千差萬別,人們要把相當大的精力放在神經網絡結構的設計或者選擇上來,這無疑增加了深度學習的使用成本。

近年來,語義表示(language representation)技術的發展,使得 “預訓練-微調” 作為解決NLP任務的一種新的范式開始出現。一個通用的表示能力強的模型被選擇為語義表示模型,在預訓練階段,用大量的語料和特定的任務訓練該模型,使其編碼海量的語義知識;在微調階段,該模型會被加上不同的簡單輸出層用以解決下游的 NLP 任務。

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

可以看到,用語義表示模型解決特定的NLP任務是個相對簡單的過程。因此,語義表示模型的預訓練階段就變得十分重要,具體來說,模型結構的選取、訓練數據以及訓練方法等要素都會直接影響下游任務的效果。當前的很多學術工作就是圍繞預訓練階段而展開的,在BERT之后各種語義表示模型不斷地被提了出來。

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

項目開源地址:https://github.com/PaddlePaddle/ERNIE

該項目包含了對預訓練,以及常見下游 NLP 任務的支持,如分類、匹配、序列標注和閱讀理解等。

二、基本原理Transformer Encoder

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

Transformer 的簡要結構如圖1所示,基于 Encoder-Decoder 框架, 其主要結構由 Attention(注意力) 機制構成:

Encoder 由全同的多層堆疊而成,每一層又包含了兩個子層:一個Self-Attention層和一個前饋神經網絡。Self-Attention 層主要用來輸入語料之間各個詞之間的關系(例如搭配關系),其外在體現為詞匯間的權重,此外還可以幫助模型學到句法、語法之類的依賴關系的能力。

Decoder 也由全同的多層堆疊而成,每一層同樣包含了兩個子層。在 Encoder 和 Decoder 之間還有一個Encoder-Decoder Attention層。Encoder-Decoder Attention層的輸入來自于兩部分,一部分是 Encoder 的輸出,它可以幫助解碼器關注輸入序列哪些位置值得關注。另一部分是 Decoder 已經解碼出來的結果再次經過Decoder的Self-Attention層處理后的輸出,它可以幫助解碼器在解碼時把已翻譯的內容中值得關注的部分考慮進來。例如:將“read a book”翻譯成中文,我們把“book”之所以翻譯成了“書”而沒有翻譯成“預定”就是因為前面Read這個讀的動作。

在解碼過程中 Decoder 每一個時間步都會輸出一個實數向量,經過一個簡單的全連接層后會映射到一個詞典大小、被稱作對數幾率(logits)的向量,再經過 softmax 歸一化之后得到當前時間步各個詞出現的概率分布。

圖 1 Transformer 的簡要結構圖

Transformer 在機器翻譯任務上面證明了其超過 LSTM/GRU 的卓越表示能力。從 RNN 到 Transformer,模型的表示能力在不斷的增強,語義表示模型的骨架也經歷了這樣的一個演變過程。

如圖2所示,該圖為BERT、GPT 與 ELMo的結構示意圖,可以看到 ELMo 使用的就是 LSTM 結構,接著 GPT 使用了 Transformer Decoder。進一步 BERT 采用了 Transformer Encoder,從理論上講其相對于 Decoder 有著更強的語義表示能力,因為Encoder接受雙向輸入,可同時編碼一個詞的上下文信息。最后在NLP任務的實際應用中也證明了Encoder的有效性,因此ERNIE也采用了Transformer Encoder架構。

圖2 BERT、GPT 與 ELMo

1  2  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

發表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續

暫無評論

暫無評論

文章糾錯
x
*文字標題:
*糾錯內容:
聯系郵箱:
*驗 證 碼:

粵公網安備 44030502002758號

重庆时时彩app安卓系统 足彩比分推荐app 重庆麻将培训 时时彩人工计划 bet365体育比分直播 比特币,狗狗币、以太坊、瑞波币、莱特币、柚子、达世币、比特币 11选5走势图安徽时时彩网站一首页 海王星百家乐 新疆福彩喜乐彩开奖 mba双证和单证的区别 股票走势紫光国微 海南麻将游戏单机版 江西新时时彩中奖qq群 博备用网 江西多乐彩11选5 兼职五分快三是真是假 辽宁快乐12开奖结果走势图遗漏