开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開(kāi)APP
          userphoto
          未登錄

          開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

          開(kāi)通VIP
          一文讀懂深度學(xué)習(xí):從神經(jīng)元到BERT

          阿里妹導(dǎo)讀:自然語(yǔ)言處理領(lǐng)域的殿堂標(biāo)志 BERT 并非橫空出世,背后有它的發(fā)展原理。今天,螞蟻金服財(cái)富對(duì)話算法團(tuán)隊(duì)整理對(duì)比了深度學(xué)習(xí)模型在自然語(yǔ)言處理領(lǐng)域的發(fā)展歷程。從簡(jiǎn)易的神經(jīng)元到當(dāng)前最復(fù)雜的BERT模型,深入淺出地介紹了深度學(xué)習(xí)在 NLP 領(lǐng)域進(jìn)展,并結(jié)合工業(yè)界給出了未來(lái)的 NLP 的應(yīng)用方向,相信讀完這篇文章,你對(duì)深度學(xué)習(xí)的整體脈絡(luò)會(huì)有更加深刻認(rèn)識(shí)。

          一個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)通常包含輸入層、隱藏層、輸出層。輸入層是我們的 features (特征),輸出層是我們的預(yù)測(cè) (prediction)。神經(jīng)網(wǎng)絡(luò)的目的是擬合一個(gè)函數(shù) f*:features -> prediction。在訓(xùn)練期間,通過(guò)減小 prediction 和實(shí)際 label 的差異的這種方式,來(lái)更改網(wǎng)絡(luò)參數(shù),使當(dāng)前的網(wǎng)絡(luò)能逼近于理想的函數(shù) f*。

          神經(jīng)元(Neural Cell)

          神經(jīng)網(wǎng)絡(luò)層的基本組成成員為神經(jīng)元,神經(jīng)元包含兩部分,一部分是上一層網(wǎng)絡(luò)輸出和當(dāng)前網(wǎng)絡(luò)層參數(shù)的一個(gè)線性乘積,另外一部分是線性乘積的非線性轉(zhuǎn)換。(如果缺少非線性轉(zhuǎn)換,則多層線性乘積可以轉(zhuǎn)化為一層的線性乘積)

          圖一

          淺層神經(jīng)網(wǎng)絡(luò)( Neural Network )

          只有一層隱藏層的,我們稱為淺層網(wǎng)絡(luò)。

          圖二

          深度學(xué)習(xí)網(wǎng)絡(luò)(Multilayer Perceptron)

          相對(duì)于淺層網(wǎng)絡(luò)結(jié)構(gòu),有兩層、三層及以上隱藏層的我們就可以稱為深度網(wǎng)絡(luò)。

          圖三

          在通常的理解中,一個(gè)足夠?qū)挼木W(wǎng)絡(luò),是能夠擬合任何函數(shù)的。而一個(gè)深層網(wǎng)絡(luò),則能夠用更少的參數(shù)來(lái)擬合該函數(shù),因?yàn)樯顚拥纳窠?jīng)元可以獲取比淺層神經(jīng)元更復(fù)雜的特征表示。

          在圖二及三所示網(wǎng)絡(luò),我們稱為全連接網(wǎng)絡(luò),也就是隱藏層的神經(jīng)元會(huì)和上一層所有的神經(jīng)元輸出相關(guān)。和全連接網(wǎng)絡(luò)相對(duì)應(yīng)的,是只和上一層部分神經(jīng)元輸出連接的網(wǎng)絡(luò),如下文介紹的卷積網(wǎng)絡(luò)。

          卷積網(wǎng)絡(luò)(CNN)

          卷積網(wǎng)絡(luò)神經(jīng)元只和上一層的部分神經(jīng)元輸出是連接的。(在直覺(jué)上,是因?yàn)槿说囊曈X(jué)神經(jīng)元觸突只對(duì)局部信息敏感,而不是全局所有信息都對(duì)同一個(gè)觸突產(chǎn)生等價(jià)作用)

          同一個(gè)卷積核從左到右,從上到下和輸入做乘積,得到了不同強(qiáng)度的輸出。從直覺(jué)上來(lái)理解,卷積核對(duì)原始數(shù)據(jù)的不同數(shù)據(jù)分布的敏感度是不一樣的。如果把卷積核理解為是某種 pattern,那么符合這種 pattern 的數(shù)據(jù)分布會(huì)得到比較強(qiáng)的輸出,而不符合這種 pattern 的輸出則得到弱的,甚至是不輸出。

          一個(gè)卷積核是一個(gè) pattern 提取器, 多個(gè)卷積核就是多個(gè) pattern 提取器。通過(guò)多個(gè)特征提取器對(duì)原始數(shù)據(jù)做特征提取轉(zhuǎn)換,就構(gòu)成了一層卷積。

          Alex Net, 因?yàn)?GPU 內(nèi)存的原因,Alex 使用了兩塊 GPU 對(duì)模型做了切割,本質(zhì)上的卷積層是用于特征提取, 最大池化層用于提取強(qiáng)特征及減少參數(shù),全連接層則是所有高級(jí)特征參與到最后分類決策中去。

          循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)

          CNN是對(duì)空間上特征的提取, RNN則是對(duì)時(shí)序上特征的提取。

          在RNN中,x1 , x2, x3, xt 是在時(shí)序上不一樣的輸入,而 V, U, W 三個(gè)矩陣則是共享。同時(shí) RNN 網(wǎng)絡(luò)中保存了自己的狀態(tài) S。 S 隨著輸入而改變,不同的輸入/不同時(shí)刻的輸入或多或少影響 RNN 網(wǎng)絡(luò)的狀態(tài) S。而 RNN 網(wǎng)絡(luò)的狀態(tài) S 則決定最后的輸出。

          在直覺(jué)上,我們理解 RNN 網(wǎng)絡(luò)是一個(gè)可模擬任何函數(shù)的一個(gè)神經(jīng)網(wǎng)絡(luò)( action ),加上同時(shí)有一份自己的歷史存儲(chǔ)( memory ),action+memory 兩者讓 RNN 成為了一個(gè)圖靈機(jī)器。

          長(zhǎng)短期記憶網(wǎng)絡(luò)( LSTM )

          RNN 的問(wèn)題是非線性操作 σ 的存在且每一步間通過(guò)連乘操作傳遞,會(huì)導(dǎo)致長(zhǎng)序列歷史信息不能很好的傳遞到最后,而有了 LSTM 網(wǎng)絡(luò)。

          在 lstmcell 中, 包含了通常意義上的遺忘門(點(diǎn)乘,決定什么要從狀態(tài)中去除),輸入更新門(按位相加,決定什么要添加到狀態(tài)中去),輸出門(點(diǎn)乘,決定狀態(tài)的輸出是什么?)雖然看起來(lái)很復(fù)雜,本質(zhì)上是矩陣的運(yùn)算。

          為了簡(jiǎn)化運(yùn)算,后面有 lstm 的變種 GRU, 如下圖:

          文本卷積網(wǎng)絡(luò) (TextCNN)

          CNN 在計(jì)算機(jī)識(shí)別領(lǐng)域中應(yīng)用廣泛,其捕捉局部特征的能力非常強(qiáng),為分析和利用圖像數(shù)據(jù)的研究者提供了極大的幫助。TextCNN 是2014年 Kim 在 EMNLP 上提出將 CNN 應(yīng)用于 NLP 的文本分類任務(wù)中。

          從直觀上理解,TextCNN 通過(guò)一維卷積來(lái)獲取句子中 n-gram 的特征表示。TextCNN 對(duì)文本淺層特征的抽取能力很強(qiáng),在短文本領(lǐng)域如搜索、對(duì)話領(lǐng)域?qū)W⒂谝鈭D分類時(shí)效果很好,應(yīng)用廣泛,且速度快,一般是首選;對(duì)長(zhǎng)文本領(lǐng)域,TextCNN 主要靠 filter 窗口抽取特征,在長(zhǎng)距離建模方面能力受限,且對(duì)語(yǔ)序不敏感。

          卷積核( filter )→  n-gram 特征

          文本卷積與圖像卷積的不同之處在于只在文本序列的一個(gè)方向做卷積。對(duì)句子單詞每個(gè)可能的窗口做卷積操作得到特征圖( feature map )。

          其中,

          。對(duì) feature map 做最大池化( max-pooling )操作,取中最大值max{c} 作為 filter 提取出的 feature。通過(guò)選擇每個(gè) feature map 的最大值,可捕獲其最重要的特征。

          每個(gè) filter 卷積核產(chǎn)生一個(gè) feature ,一個(gè) TextCNN 網(wǎng)絡(luò)包括很多不同窗口大小的卷積核,如常用的 filter size ∈{3,4,5} 每個(gè) filter 的 featuremaps=100。

          增強(qiáng)序列推理模型(ESIM)

          ESIM (Enhanced Sequential Inference Model) 為短文本匹配任務(wù)中常用且有力的模型。它對(duì)于 LSTM 的加強(qiáng)主要在于:將輸入的兩個(gè) LSTM 層( Encoding Layer) 通過(guò)序列推理交互模型輸出成新的表征。

          圖片來(lái)源:paper《Enhanced LSTM for Natural LanguageInference》

          如圖所示,ESIM 為圖的左邊部分。整體網(wǎng)絡(luò)結(jié)構(gòu)其實(shí)比較明確,整條通路大致包括三個(gè)步驟。

          步驟一:編碼層。該步驟每個(gè) token 將預(yù)訓(xùn)練的編碼通過(guò) Bi-LSTM 層,從而獲取了“新的編碼”,其目的是通過(guò) LSTM 學(xué)習(xí)每個(gè) token 的上下文信息。

          步驟二:局部推理層。步驟二本質(zhì)是一個(gè)句間注意力( intra-sentence attention )的計(jì)算過(guò)程。通過(guò)將兩句在步驟一中獲取的結(jié)果做 intra-sentence attention 操作,我們?cè)谶@里可以獲取到一個(gè)新的向量表征。接下來(lái)對(duì)向量的前后變化進(jìn)行了計(jì)算,該做法的目的是進(jìn)一步抽取局部推理信息在 attention 操作的前后變化,并捕捉其中的一些推理關(guān)系,如前后關(guān)系等。

          步驟三:組合推理&預(yù)測(cè)層。再次將抽取后的結(jié)果通過(guò) Bi-LSTM,并使用Avarage&Maxpooling 進(jìn)行池化(其具體操作就是分別進(jìn)行 average 和 max pooling 并進(jìn)行 concat),最后加上全連接層進(jìn)行 Softmax 預(yù)測(cè)其概率。

          ELMo

          直觀上來(lái)講,ELMo(Embedding from Language Model) 解決了一詞多義的問(wèn)題,例如詢問(wèn)“蘋果”的詞向量是什么,ELMo 會(huì)考慮是什么語(yǔ)境下的“蘋果”,我們應(yīng)該去詢問(wèn)“蘋果股價(jià)”里的“蘋果”詞向量是什么。ELMo 通過(guò)提供詞級(jí)別、攜帶上下文信息的動(dòng)態(tài)表示,能有效的捕捉語(yǔ)境信息。ELMo 的提出對(duì)后面的的 GPT 和 BRET有一個(gè)很好的引導(dǎo)和啟發(fā)的作用。一個(gè)好的詞向量,應(yīng)滿足兩個(gè)特點(diǎn):

          1. 能夠反映出語(yǔ)義和語(yǔ)法的復(fù)雜特征。

          2. 能夠準(zhǔn)確對(duì)不同上下文產(chǎn)生合適語(yǔ)義。

          傳統(tǒng)的 word2vec 對(duì)每個(gè) word 只有一個(gè)固定的 embedding 表達(dá),不能產(chǎn)生攜帶上下文信息的 embedding,對(duì)多義詞無(wú)法結(jié)合語(yǔ)境判斷。ELMo 中的每個(gè)單詞都要先結(jié)合語(yǔ)境通過(guò)多層 LSTM 網(wǎng)絡(luò)才得到最后的表達(dá),LSTM 是為捕獲上下文信息而生,因而 ELMo 能結(jié)合更多的上下文語(yǔ)境,在一詞多意上的效果比 word2vec 要好。

          ELMo 預(yù)訓(xùn)練時(shí)的網(wǎng)絡(luò)結(jié)構(gòu)圖與傳統(tǒng)語(yǔ)言模型有點(diǎn)類似,直觀理解為將中間的非線性層換成了 LSTM,利用 LSTM 網(wǎng)絡(luò)更好的提取每個(gè)單詞在當(dāng)前語(yǔ)境中的上下文信息,同時(shí)增加了前向和后向上下文信息。.

          預(yù)訓(xùn)練

          給定包含 N 個(gè)詞的序列

          ,前向語(yǔ)言模型通過(guò)前 k-1個(gè)詞
          預(yù)測(cè)第 k 個(gè)詞
          。在第 k 個(gè)位置,每個(gè) LSTM 層輸出上下文依賴的向量表達(dá) 
          , j=1,2,…,L。頂層 LSTM 層的輸出
           利用交叉熵?fù)p失預(yù)測(cè)下一個(gè)位置
          。

          后向語(yǔ)言模型對(duì)序列做反序,利用下文的信息去預(yù)測(cè)上文的詞。與前向類似,給定

          經(jīng)過(guò) L 層的后向深層 LSTM 網(wǎng)絡(luò)預(yù)測(cè)得到第 j 層的隱層輸出
          。

          雙向語(yǔ)言模型拼接前向語(yǔ)言模型和后向語(yǔ)言模型,構(gòu)建前向和后向聯(lián)合最大對(duì)數(shù)似然。

          其中,

          為序列詞向量層參數(shù),
          為交叉熵層參數(shù),在訓(xùn)練過(guò)程中這兩部分參數(shù)共享。

          嵌入式語(yǔ)言模型組合利用多層 LSTM 層的內(nèi)部信息,對(duì)中心詞,一個(gè) L 層的雙向語(yǔ)言模型計(jì)算得到 2L+1 個(gè)表達(dá)集合。

          Fine-tune

          在下游任務(wù)中,ELMo 將多層的輸出整合成一個(gè)向量,將所有 LSTM 層的輸出加上normalized 的 softmax 學(xué)習(xí)到的權(quán)重 s=Softmax(w),使用方法如下所示:

          直觀上來(lái)講,biLMs 的較高層次的 LSTM 向量抓住的是詞匯的語(yǔ)義信息, biLMs 的較低層次的 LSTM 向量抓住的是詞匯的語(yǔ)法信息。這種深度模型所帶來(lái)的分層效果使得將一套詞向量應(yīng)用于不同任務(wù)有了可能性,因?yàn)槊總€(gè)任務(wù)所需要的信息量是不同的。另外 LSTM 的層數(shù)不宜過(guò)多,多層 LSTM 網(wǎng)絡(luò)不是很容易 train 好,存在過(guò)擬合問(wèn)題。如下圖是一個(gè)多層 LSTM 用在文本分類問(wèn)題的實(shí)驗(yàn)結(jié)果,隨著 LSTM 層數(shù)增多,模型效果先增加后下降。

          Transformer

          曾經(jīng)有人說(shuō),想要提升 LSTM 效果只要加一個(gè) attention 就可以。但是現(xiàn)在attention is all you need。Transformer 解決了 NLP 領(lǐng)域深層網(wǎng)絡(luò)的訓(xùn)練問(wèn)題。

          Attention 此前就被用于眾多 NLP 的任務(wù),用于定位關(guān)鍵 token 或者特征,比如在文本分類的最后加一層 Attention 來(lái)提高性能。Transformer 起源自注意力機(jī)制(Attention),完全拋棄了傳統(tǒng)的 RNN,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)完全是由 Attention 機(jī)制組成。Transformer 可以通過(guò)堆疊 Transformer Layer 進(jìn)行搭建,作者的實(shí)驗(yàn)是通過(guò)搭建編碼器和解碼器各6層,總共12層的 Encoder-Decoder,并在機(jī)器翻譯中取得了 BLEU 值的新高。

          整個(gè)流程的可視化如圖:以N=2示例,實(shí)際Transformer的N=6。

          Encoder 階段:輸入“Thinking Machines”,對(duì)應(yīng)詞向量,疊加位置向量 Positional Encoding,對(duì)每個(gè)位置做 Self-Attention 得到;Add&Norm 分兩步,residual connection即,layer Normalization 得到新的,對(duì)每個(gè)位置分別做 feed forward 全連接和 Add&Norm,得到一個(gè) Encoder Layer 的輸出,重復(fù)堆疊2次,最后將 Encoder Layer 輸出到 Decoder 的 Encoder-Decoder Layer 層。

          Decoder 階段:先是對(duì) Decoder 的輸入做 Masked Self-Attention Layer,然后將Encoder 階段的輸出與 Decoder 第一級(jí)的輸出做 Encoder-Decoder Attention,最后接 FFN 全連接,堆疊2個(gè) Decoder,最后接全連接+Softmax 輸出當(dāng)前位置概率最大的的詞。

          Transformer 的結(jié)構(gòu)上比較好理解,主要是里邊的細(xì)節(jié)比較多,如 Mult-HeadAttention, Feed Forward, Layer Norm, Positional Encoding等。

          Transformer的優(yōu)點(diǎn):

          1. 并行計(jì)算,提高訓(xùn)練速度。這是相比 LSTM 很大的突破,LSTM 在訓(xùn)練的時(shí)候 ,當(dāng)前步的計(jì)算要依賴于上一步的隱狀態(tài),這是一個(gè)連續(xù)過(guò)程,每次計(jì)算都需要等之前的計(jì)算完成才能展開(kāi),限制模型并行能力。而 Transformer 不用LSTM結(jié)構(gòu),Attention 機(jī)制的每一步計(jì)算只是依賴上一層的輸出,并不依賴上一詞的信息,因而詞與詞之間是可以并行的,從而訓(xùn)練時(shí)可以并行計(jì)算, 提高訓(xùn)練速度。

          2. 一步到位的全局聯(lián)系捕捉。順序計(jì)算的過(guò)程中信息會(huì)丟失,盡管 LSTM 等門機(jī)制的結(jié)構(gòu)一定程度上緩解了長(zhǎng)期依賴的問(wèn)題,但是對(duì)于特別長(zhǎng)期的依賴現(xiàn)象,LSTM 依舊無(wú)能為力。Transformer 使用了 Attention 機(jī)制,從而將序列中的任意兩個(gè)位置之間的距離是縮小為1,這對(duì)解決 NLP 中棘手的長(zhǎng)期依賴問(wèn)題是非常有效的。

          總結(jié)對(duì)比CNN、RNN和Self-Attention:

          CNN:只能看到局部領(lǐng)域,適合圖像,因?yàn)樵趫D像上抽象更高層信息僅僅需要下一層特征的局部區(qū)域,文本的話強(qiáng)在抽取局部特征,因而更適合短文本。

          RNN:理論上能看到所有歷史,適合文本,但是存在梯度消失問(wèn)題。

          Self-Attention:相比 RNN 不存在梯度消失問(wèn)題。對(duì)比 CNN 更加適合長(zhǎng)文本,因?yàn)槟軌蚩吹礁h(yuǎn)距離的信息,CNN 疊高多層之后可以看到很遠(yuǎn)的地方,但是 CNN本來(lái)需要很多層才能完成的抽象,Self-Attention 在很底層就可以做到,這無(wú)疑是非常巨大的優(yōu)勢(shì)。

          BERT

          BERT (Bidirectional Encoder Representations from Transformers) 本質(zhì)來(lái)講是NLP 領(lǐng)域最底層的語(yǔ)言模型,通過(guò)海量語(yǔ)料預(yù)訓(xùn)練,得到序列當(dāng)前最全面的局部和全局特征表示。

          BERT 網(wǎng)絡(luò)結(jié)構(gòu)如下所示,BERT 與 Transformer 的 Encoder 網(wǎng)絡(luò)結(jié)構(gòu)完全相同。假設(shè) Embedding 向量的維度是,輸入序列包含 n 個(gè)token,則 BERT 模型一個(gè)layer 的輸入是一個(gè)的矩陣,而它的輸出也同樣是一個(gè)的矩陣,所以這樣 N 層 BERT layer 就可以很方便的首尾串聯(lián)起來(lái)。BERT 的 large model 使用了 N=24 層這樣的Transformer block。

          目標(biāo)函數(shù)

          ★ 1. Masked Language Model, MLM

          MLM 是為了訓(xùn)練深度雙向語(yǔ)言表示向量,BERT 用了一個(gè)非常直接的方式,遮住句子里某些單詞,讓編碼器預(yù)測(cè)這個(gè)單詞是什么。具體操作流程如下圖示例:先按一個(gè)較小概率 mask 掉一些字,再對(duì)這些字利用語(yǔ)言模型由上下文做預(yù)測(cè)。

          BERT 具體訓(xùn)練方法為:隨機(jī)遮住15%的單詞作為訓(xùn)練樣本。

          • 其中80%用 masked token 來(lái)代替。

          • 10%用隨機(jī)的一個(gè)詞來(lái)替換。

          • 10%保持這個(gè)詞不變。

          直觀上來(lái)說(shuō),只有15%的詞被遮蓋的原因是性能開(kāi)銷,雙向編碼器比單向編碼器訓(xùn)練要慢;選80% mask,20%具體單詞的原因是在 pretrain 的時(shí)候做了 mask,在特定任務(wù)微調(diào)如分類任務(wù)的時(shí)候,并不對(duì)輸入序列做 mask,會(huì)產(chǎn)生 gap,任務(wù)不一致;10%用隨機(jī)的一個(gè)詞來(lái)替換,10%保持這個(gè)詞不變的原因是讓編碼器不知道哪些詞需要預(yù)測(cè)的,哪些詞是錯(cuò)誤的,因此被迫需要學(xué)習(xí)每一個(gè) token 的表示向量,做了一個(gè)折中。

          ★ 2. Next Sentence Prediction

          預(yù)訓(xùn)練一個(gè)二分類的模型,來(lái)學(xué)習(xí)句子之間的關(guān)系。預(yù)測(cè)下一個(gè)句子的方法對(duì)學(xué)習(xí)句子之間關(guān)系很有幫助。

          訓(xùn)練方法:正樣本和負(fù)樣本比例是1:1,50%的句子是正樣本,即給定句子A和B,B是A的實(shí)際語(yǔ)境下一句;負(fù)樣本:在語(yǔ)料庫(kù)中隨機(jī)選擇的句子作為B。通過(guò)兩個(gè)特定的 token[CLS]和[SEP]來(lái)串接兩個(gè)句子,該任務(wù)在[CLS]位置輸出預(yù)測(cè)。

          輸入表示

          Input:每個(gè)輸入序列的第一個(gè) token [CLS]專門用來(lái)分類,直接利用此位置的最后輸出作為分類任務(wù)的輸入 embedding。

          從直觀上來(lái)說(shuō),在預(yù)訓(xùn)練時(shí),[CLS]不參與 mask,因而該位置面向整個(gè)序列的所有position 做 attention,[CLS]位置的輸出足夠表達(dá)整個(gè)句子的信息,類似于一個(gè)global feature;而單詞 token 對(duì)應(yīng)的 embedding 更關(guān)注該 token 的語(yǔ)義語(yǔ)法及上下文信息表達(dá),類似于一個(gè) local feature。

          Position Embeddings: transformer 的 PositionEncoding 是通過(guò) sin,cos 直接構(gòu)造出來(lái)的,PositionEmbeddings 是通過(guò)模型學(xué)習(xí)到的 embedding 向量,最高支持512維。

          Segment Embeddings:在預(yù)訓(xùn)練的句對(duì)預(yù)測(cè)任務(wù)及問(wèn)答、相似匹配等任務(wù)中,需要對(duì)前后句子做區(qū)分,將句對(duì)輸入同一序列,以特殊標(biāo)記 [SEP] 分割,同時(shí)對(duì)第一個(gè)句子的每個(gè) token 添加 Sentence A Embedding, 第二個(gè)句子添加 Sentence BEmbedding,實(shí)驗(yàn)中讓EA =1, EB =0。

          Fine-tune

          針對(duì)不同任務(wù),BERT 采用不同部分的輸出做預(yù)測(cè),分類任務(wù)利用[CLS]位置的embedding,NER 任務(wù)利用每個(gè) token 的輸出 embedding。

          BERT的主要貢獻(xiàn)有以下幾個(gè)方面:

          預(yù)訓(xùn)練的有效性:這方面來(lái)說(shuō) BERT 改變了游戲規(guī)則,是因?yàn)橄啾仍O(shè)計(jì)復(fù)雜巧妙的網(wǎng)絡(luò)結(jié)構(gòu),在海量無(wú)監(jiān)督數(shù)據(jù)上預(yù)訓(xùn)練得到的BERT語(yǔ)言表示+少量訓(xùn)練數(shù)據(jù)微調(diào)的簡(jiǎn)單網(wǎng)絡(luò)模型的實(shí)驗(yàn)結(jié)果取得了很大的優(yōu)勢(shì)。

          網(wǎng)絡(luò)深度:基于 DNN 語(yǔ)言模型 (NNLM,CBOW等) 獲取詞向量的表示已經(jīng)在 NLP領(lǐng)域獲得很大成功,而 BERT 預(yù)訓(xùn)練網(wǎng)絡(luò)基于 Transformer 的 Encoder,可以做的很深。

          雙向語(yǔ)言模型:在 BERT 之前,ELMo 和 GPT 的主要局限在于標(biāo)準(zhǔn)語(yǔ)言模型是單向的,GPT 使用 Transformer 的 Decoder 結(jié)構(gòu),只考慮了上文的信息。ELMo 從左往右的語(yǔ)言模型和從右往左的語(yǔ)言模型其實(shí)是獨(dú)立開(kāi)來(lái)訓(xùn)練的,共享 embedding,將兩個(gè)方向的 LSTM 拼接并不能真正表示上下文,其本質(zhì)仍是單向的,且多層 LSTM難訓(xùn)練。

          目標(biāo)函數(shù):對(duì)比語(yǔ)言模型任務(wù)只做預(yù)測(cè)下一個(gè)位置的單詞,想要訓(xùn)練包含更多信息的語(yǔ)言模型,就需要讓語(yǔ)言模型完成更復(fù)雜的任務(wù),BERT 主要完成完形填空和句對(duì)預(yù)測(cè)的任務(wù),即兩個(gè) loss:一個(gè)是 Masked Language Model,另一個(gè)是 Next Sentence Prediction。

          總結(jié)

          我們?cè)谧?NLU 意圖分類任務(wù)中實(shí)踐了以上主流模型,包括 Xgboost、TextCNN、LSTM、BERT 及 ERNIE 等,下邊是在前期模型調(diào)研階段,在選型測(cè)試數(shù)據(jù)上的對(duì)比實(shí)驗(yàn),BERT 模型表現(xiàn)出極大的優(yōu)勢(shì)。

          同時(shí)在我們部署上線的過(guò)程中,對(duì) BERT 時(shí)耗做了測(cè)試,在壓測(cè)實(shí)驗(yàn)數(shù)據(jù)上的測(cè)試結(jié)果供參考。針對(duì)我們的問(wèn)答query:

          (1 ) BERT layer 的層數(shù)與時(shí)耗基本成線性關(guān)系,多頭數(shù)目增加對(duì)時(shí)耗增加不明顯;

          (2) 針對(duì)短文本 query 的意圖理解,更多依賴淺層語(yǔ)法語(yǔ)義特征,因而 BERT 層數(shù)對(duì)模型準(zhǔn)召影響較??;

          (3) attention 多頭決定了可以從多少個(gè)角度理解 query,在我們的實(shí)驗(yàn)里降低多頭數(shù)比降低層數(shù)對(duì)準(zhǔn)召的影響略大,而時(shí)耗無(wú)明顯降低。

          圖像領(lǐng)域,Alexnet 打開(kāi)了深度學(xué)習(xí)的大門,Resnet是圖像領(lǐng)域深度學(xué)習(xí)的殿堂標(biāo)志。

          隨著Transformer, Bert 興起,網(wǎng)絡(luò)也在往12層,24層發(fā)展,得到了 SOTA. Bert 證明了在nlp領(lǐng)域,深層網(wǎng)絡(luò)的效果要優(yōu)于淺層網(wǎng)絡(luò)。

          自然語(yǔ)言領(lǐng)域,Transformer 打開(kāi)了深層網(wǎng)絡(luò)的大門,BERT 也成為了自然語(yǔ)言處理領(lǐng)域的殿堂標(biāo)志。

          關(guān)于我們

          我們是螞蟻金服財(cái)富對(duì)話算法團(tuán)隊(duì),致力于用最新的算法,做最好的模型,造就更智能的對(duì)話系統(tǒng),摘取AI皇冠上的明珠,歡迎討論、轉(zhuǎn)發(fā)。團(tuán)隊(duì)最近正在大力招聘NLP、推薦、用戶畫(huà)像方面的算法專家(P6-P9),歡迎聯(lián)系:

          shiming.xsm@antfin.com。

          本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
          打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
          猜你喜歡
          類似文章
          一步步理解BERT
          從語(yǔ)言模型到Seq2Seq:Transformer如戲,全靠Mask
          NLP中的變形金剛
          一文讀懂BERT(原理篇)
          BERT學(xué)習(xí)
          從ChatGPT聊聊大語(yǔ)言模型的歷史、技術(shù)和應(yīng)用
          更多類似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
          綁定賬號(hào)成功
          后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點(diǎn)擊這里聯(lián)系客服!

          聯(lián)系客服