0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

XLNet和Bert比,有什么不同?要進行改進嗎?

深度學習自然語言處理 ? 來源:陳年麗 ? 2019-07-26 14:39 ? 次閱讀

1. XLNet和Bert

首先講講我對XLNet和Bert比,有什么異同?有什么模型方面的改進?的理解

1.1 自回歸語言模型

第一次聽到自回歸語言模型(Autoregressive LM)這個詞。我們知道一般的語言模型都是從左到右計算某個詞出現(xiàn)的概率,但是當我們做完型填空或者閱讀理解這一類NLP任務的時候詞的上下文信息都是需要考慮的,而這個時候只考慮了該詞的上文信息而沒有考慮到下文信息。所以,反向的語言模型出現(xiàn)了,就是從右到左計算某個詞出現(xiàn)的概率,這一類語言模型稱之為自回歸語言模型。像堅持只用單向Transformer的GPT就是典型的自回歸語言模型,也有像ELMo那種拼接兩個上文和下文LSTM的變形自回歸語言模型。

1.2 自編碼語言模型

自編碼語言模型(Autoencoder LM)這個名詞毫無疑問也是第一次聽到。區(qū)別于上一節(jié)所述,自回歸語言模型是根據(jù)上文或者下文來預測后一個單詞。那不妨換個思路,我把句子中隨機一個單詞用[mask]替換掉,是不是就能同時根據(jù)該單詞的上下文來預測該單詞。我們都知道Bert在預訓練階段使用[mask]標記對句子中15%的單詞進行隨機屏蔽,然后根據(jù)被mask單詞的上下文來預測該單詞,這就是自編碼語言模型的典型應用。

1.3 兩種模型的優(yōu)缺點對比

自回歸語言模型沒能自然的同時獲取單詞的上下文信息(ELMo把兩個方向的LSTM做concat是一個很好的嘗試,但是效果并不是太好),而自編碼語言模型能很自然的把上下文信息融合到模型中(Bert中的每個Transformer都能看到整句話的所有單詞,等價于雙向語言模型),但自編碼語言模型也有其缺點,就是在Fine-tune階段,模型是看不到[mask]標記的,所以這就會帶來一定的誤差。XLNet將二者的上述優(yōu)缺點做了一個完美的結合,在自回歸語言模型中自然地引入上下文信息,并且解決自編碼語言模型兩階段保持一致的問題。

2. XLNet是怎么做的

XLNet的思路采用的是自回歸語言模型,根據(jù)上文來預測下一個單詞,但是在上文中添加了下文信息,這樣就既解決了[mask]帶來的兩階段不一致問題和無法同時引入上下文信息的問題。改進之后,取了個新名字:Permutation Language Model。舉個例子:輸入句子為x1->x2->x3->x4,假設我們要預測的單詞是x3,那我們需要在x3的上文x1和x2的位置看到x4的信息,這樣才能解決同時引入上下文的問題。那就可以這么做了:隨機排列組合x1、x2、x3、x4的順序,并從中隨機選擇一部分作為新的句子輸入。比如選擇了x2->x4->x3->x1,那這個時候預測x3的時候是不是就能看到上文x2和下文x4的信息了呢,這就是XLNet的基本思路。就是通過排列組合的方式將一部分下文單詞放到上文單詞的位置,但實際形式還是一個從左到右預測的自回歸語言模型。

但是我們在Fine-tune的時候總不能也隨機組合輸入的句子吧,那這和加了[mask]有啥區(qū)別呢?別急,繼續(xù)往下看。XLNet在輸入階段并沒有改變輸入順序,隨機打亂輸入句子的順序這個過程是在Transformer中通過Attention mask實現(xiàn)的,就是隨機掩蓋掉序列中的一些單詞,并將未掩蓋掉的單詞作為預測單詞的上文。拿原文中的一個圖舉例:

右圖的紅色矩陣就是Attention Mask矩陣,1->2->3->4的輸入序列在Attention Mask的作用下變成了3->2->4->1,Attention Mask也分為兩種,一種是能看見自身的Content stream和Query stream。對于1來說3,2,4就是1的上文,所以第一行全是紅色;對于2來說上文就只有3,所以對應位置為紅色;對于3來說沒有上文,所以全為白色...以此類推。那這樣就實現(xiàn)了在輸入側不改變單詞順序,在Transformer內(nèi)部實現(xiàn)了輸入的隨機排列了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 語言模型
    +關注

    關注

    0

    文章

    487

    瀏覽量

    10201
  • nlp
    nlp
    +關注

    關注

    1

    文章

    481

    瀏覽量

    21932

原文標題:講講我理解的XLNet

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    BERT原理詳解

    BERT原理詳解
    發(fā)表于 07-02 16:45

    串行BERT用戶指南

    A guide on using the Serial BERT
    發(fā)表于 09-23 11:01

    J-BERT N4903A高性能串行BERT手冊

    Brochure for the Keysight J-BERT N4903A High-Performance Serial BERT: 4 pages
    發(fā)表于 09-26 12:17

    介紹XLNet的原理及其與BERT的不同點

    1、什么是XLNet?  首先,XLNet是一個類似于bert的模型,而不是一個完全不同的模型。但它是一個非常有前途和潛力的??傊?,XLNet是一種廣義的自回歸預訓練方法。  那么,什
    發(fā)表于 11-01 15:29

    BERT模型的PyTorch實現(xiàn)

    BertModel是一個基本的BERT Transformer模型,包含一個summed token、位置和序列嵌入層,然后是一系列相同的self-attention blocks(BERT-base是12個blocks, BERT
    的頭像 發(fā)表于 11-13 09:12 ?1.4w次閱讀

    谷歌大腦CMU聯(lián)手推出XLNet,20項任務全面超越BERT

    谷歌大腦和CMU聯(lián)合團隊提出面向NLP預訓練新方法XLNet,性能全面超越此前NLP領域的黃金標桿BERT,在20個任務上實現(xiàn)了性能的大幅提升,刷新了18個任務上的SOTA結果,可謂全面屠榜!
    的頭像 發(fā)表于 06-22 11:19 ?2921次閱讀

    碾壓Bert?“屠榜”的XLnet對NLP任務意味著什么

    張俊林新作,一文帶你剖析XLnet的運行機制,與BERT對比異同。
    的頭像 發(fā)表于 06-25 14:11 ?2430次閱讀

    簡化版的XLNet在PyTorch Wrapper實現(xiàn)

    土豪土豪的用法,窮人有窮人的訣竅。最近有個韓國小哥就成功將XLNet挪到了Pytorch框架上,可以在僅使用小規(guī)模訓練數(shù)據(jù)(批規(guī)模=1)的情況下,實現(xiàn)一個簡單的XLNet實例,并弄清XLNe
    的頭像 發(fā)表于 07-07 09:15 ?4083次閱讀

    XLNet vs BERT,對比得明明白白!

    訓練語料庫:Wikipedia + BooksCorpus,在處理Wikipedia時使用了與BERT repo相同的工具,但出于某種原因,我們的Wiki語料庫僅有20億單詞,BERT使用了25億單詞,因此XLNet的訓練數(shù)據(jù)略
    的頭像 發(fā)表于 07-27 07:14 ?4233次閱讀
    <b class='flag-5'>XLNet</b> vs <b class='flag-5'>BERT</b>,對比得明明白白!

    BERT再次制霸GLUE排行榜!BERT王者歸來了!

    不過,XLNet的王座沒坐太久。就在今天,F(xiàn)acebook公布一個基于BERT開發(fā)的加強版預訓練模型RoBERTa——在GLUE、SQuAD和RACE三個排行榜上全部實現(xiàn)了最先進的結果!
    的頭像 發(fā)表于 08-02 08:53 ?5496次閱讀
    <b class='flag-5'>BERT</b>再次制霸GLUE排行榜!<b class='flag-5'>BERT</b>王者歸來了!

    改進BERT——SpanBERT,通過表示和預測分詞提升預訓練效果!

    在本文中,作者提出了一個新的分詞級別的預訓練方法 SpanBERT ,其在現(xiàn)有任務中的表現(xiàn)優(yōu)于 BERT ,并在問答、指代消解等分詞選擇任務中取得了較大的進展。對 BERT 模型進行了如下改進
    的頭像 發(fā)表于 08-02 09:29 ?8657次閱讀

    語言建模中XLNetBERT好在哪里

    XLNet可能會改變語言建模,這就是為什么它是任何NLP從業(yè)者的重要補充。在本文中,我們將討論XLNet背后的原理,它使它比BERT更好。為了更好地理解它,我們還將研究它之前的相關技術。
    的頭像 發(fā)表于 04-20 09:30 ?2509次閱讀

    什么是XLNet,它為什么BERT效果好

    介紹最基本的XLNet的原理,理解XLNetBERT的直覺上的不同點。作者:Xu LIANG編譯:ronghuaiyang首發(fā):AI公園公眾號
    的頭像 發(fā)表于 12-10 19:10 ?636次閱讀

    Bert體積更小速度更快的 TinyBERT

    TinyBERT 是華為不久前提出的一種蒸餾 BERT 的方法,本文梳理了 TinyBERT 的模型結構,探索了其在不同業(yè)務上的表現(xiàn),證明了 TinyBERT 對...
    的頭像 發(fā)表于 12-10 20:35 ?397次閱讀

    如何使用BERT模型進行抽取式摘要

      最近在梳理文本摘要相關內(nèi)容,翻到一篇19年關于基于BERT模型進行抽取式摘要的老文「BertSum」,在這里分享給大家。該論文一開始掛在arXiv時,為《Fine-tune BERT
    的頭像 發(fā)表于 03-12 16:41 ?4668次閱讀
    如何使用<b class='flag-5'>BERT</b>模型<b class='flag-5'>進行</b>抽取式摘要