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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

深度學(xué)習(xí)在自然語(yǔ)言處理方面的研究進(jìn)展

Dbwd_Imgtec ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-07-19 09:20 ? 次閱讀

要是關(guān)注深度學(xué)習(xí)在自然語(yǔ)言處理方面的研究進(jìn)展,我相信你一定聽說過Attention Model(后文有時(shí)會(huì)簡(jiǎn)稱AM模型)這個(gè)詞。AM模型應(yīng)該說是過去一年來NLP領(lǐng)域中的重要進(jìn)展之一,在很多場(chǎng)景被證明有效。聽起來AM很高大上,其實(shí)它的基本思想是相當(dāng)直觀簡(jiǎn)潔的。

Encoder-Decoder框架

本文只談?wù)勎谋咎幚眍I(lǐng)域的AM模型,在圖片處理或者(圖片-圖片標(biāo)題)生成等任務(wù)中也有很多場(chǎng)景會(huì)應(yīng)用AM模型,但是我們此處只談文本領(lǐng)域的AM模型,其實(shí)圖片領(lǐng)域AM的機(jī)制也是相同的。

要提文本處理領(lǐng)域的AM模型,就不得不先談Encoder-Decoder框架,因?yàn)槟壳敖^大多數(shù)文獻(xiàn)中出現(xiàn)的AM模型是附著在Encoder-Decoder框架下的,當(dāng)然,其實(shí)AM模型可以看作一種通用的思想,本身并不依賴于Encoder-Decoder模型,這點(diǎn)需要注意。

Encoder-Decoder框架可以看作是一種文本處理領(lǐng)域的研究模式,應(yīng)用場(chǎng)景異常廣泛,本身就值得非常細(xì)致地談一下,但是因?yàn)楸疚牡淖⒁饬裹c(diǎn)在AM模型,所以此處我們就只談一些不得不談的內(nèi)容,詳細(xì)的Encoder-Decoder模型以后考慮專文介紹。

下圖是文本處理領(lǐng)域里常用的Encoder-Decoder框架最抽象的一種表示:

圖1:抽象的Encoder-Decoder框架

Encoder-Decoder框架可以這么直觀地去理解:可以把它看作適合處理由一個(gè)句子(或篇章)生成另外一個(gè)句子(或篇章)的通用處理模型。對(duì)于句子對(duì),我們的目標(biāo)是給定輸入句子X,期待通過Encoder-Decoder框架來生成目標(biāo)句子Y。X和Y可以是同一種語(yǔ)言,也可以是兩種不同的語(yǔ)言。而X和Y分別由各自的單詞序列構(gòu)成:

Encoder顧名思義就是對(duì)輸入句子X進(jìn)行編碼,將輸入句子通過非線性變換轉(zhuǎn)化為中間語(yǔ)義表示C:

對(duì)于解碼器Decoder來說,其任務(wù)是根據(jù)句子X的中間語(yǔ)義表示C和之前已經(jīng)生成的歷史信息y1,y2….yi-1來生成i時(shí)刻要生成的單詞yi

每個(gè)yi都依次這么產(chǎn)生,那么看起來就是整個(gè)系統(tǒng)根據(jù)輸入句子X生成了目標(biāo)句子Y。

Encoder-Decoder是個(gè)非常通用的計(jì)算框架,至于Encoder和Decoder具體使用什么模型都是由研究者自己定的,常見的比如CNN/RNN/BiRNN/GRU/LSTM/Deep LSTM等,這里的變化組合非常多,而很可能一種新的組合就能攢篇論文,所以有時(shí)候科研里的創(chuàng)新就是這么簡(jiǎn)單。比如我用CNN作為Encoder,用RNN作為Decoder,你用BiRNN做為Encoder,用深層LSTM作為Decoder,那么就是一個(gè)創(chuàng)新。所以正準(zhǔn)備跳樓的憋著勁想攢論文畢業(yè)的同學(xué)可以從天臺(tái)下來了,當(dāng)然是走下來,不是讓你跳下來,你可以好好琢磨一下這個(gè)模型,把各種排列組合都試試,只要你能提出一種新的組合并被證明有效,那恭喜你:施主,你可以畢業(yè)了。

扯遠(yuǎn)了,再拉回來。

Encoder-Decoder是個(gè)創(chuàng)新游戲大殺器,一方面如上所述,可以搞各種不同的模型組合,另外一方面它的應(yīng)用場(chǎng)景多得不得了,比如對(duì)于機(jī)器翻譯來說,就是對(duì)應(yīng)不同語(yǔ)言的句子,比如X是英語(yǔ)句子,Y是對(duì)應(yīng)的中文句子翻譯。再比如對(duì)于文本摘要來說,X就是一篇文章,Y就是對(duì)應(yīng)的摘要;再比如對(duì)于對(duì)話機(jī)器人來說,X就是某人的一句話,Y就是對(duì)話機(jī)器人的應(yīng)答;再比如……總之,太多了。哎,那位施主,聽老衲的話,趕緊從天臺(tái)下來吧,無(wú)數(shù)創(chuàng)新在等著你發(fā)掘呢。

Attention Model

圖1中展示的Encoder-Decoder模型是沒有體現(xiàn)出“注意力模型”的,所以可以把它看作是注意力不集中的分心模型。為什么說它注意力不集中呢?請(qǐng)觀察下目標(biāo)句子Y中每個(gè)單詞的生成過程如下:

其中f是decoder的非線性變換函數(shù)。從這里可以看出,在生成目標(biāo)句子的單詞時(shí),不論生成哪個(gè)單詞,是y1,y2也好,還是y3也好,他們使用的句子X的語(yǔ)義編碼C都是一樣的,沒有任何區(qū)別。而語(yǔ)義編碼C是由句子X的每個(gè)單詞經(jīng)過Encoder 編碼產(chǎn)生的,這意味著不論是生成哪個(gè)單詞,y1,y2還是y3,其實(shí)句子X中任意單詞對(duì)生成某個(gè)目標(biāo)單詞yi來說影響力都是相同的,沒有任何區(qū)別(其實(shí)如果Encoder是RNN的話,理論上越是后輸入的單詞影響越大,并非等權(quán)的,估計(jì)這也是為何Google提出Sequence to Sequence模型時(shí)發(fā)現(xiàn)把輸入句子逆序輸入做翻譯效果會(huì)更好的小Trick的原因)。這就是為何說這個(gè)模型沒有體現(xiàn)出注意力的緣由。這類似于你看到眼前的畫面,但是沒有注意焦點(diǎn)一樣。如果拿機(jī)器翻譯來解釋這個(gè)分心模型的Encoder-Decoder框架更好理解,比如輸入的是英文句子:Tom chase Jerry,Encoder-Decoder框架逐步生成中文單詞:“湯姆”,“追逐”,“杰瑞”。在翻譯“杰瑞”這個(gè)中文單詞的時(shí)候,分心模型里面的每個(gè)英文單詞對(duì)于翻譯目標(biāo)單詞“杰瑞”貢獻(xiàn)是相同的,很明顯這里不太合理,顯然“Jerry”對(duì)于翻譯成“杰瑞”更重要,但是分心模型是無(wú)法體現(xiàn)這一點(diǎn)的,這就是為何說它沒有引入注意力的原因。沒有引入注意力的模型在輸入句子比較短的時(shí)候估計(jì)問題不大,但是如果輸入句子比較長(zhǎng),此時(shí)所有語(yǔ)義完全通過一個(gè)中間語(yǔ)義向量來表示,單詞自身的信息已經(jīng)消失,可想而知會(huì)丟失很多細(xì)節(jié)信息,這也是為何要引入注意力模型的重要原因。

上面的例子中,如果引入AM模型的話,應(yīng)該在翻譯“杰瑞”的時(shí)候,體現(xiàn)出英文單詞對(duì)于翻譯當(dāng)前中文單詞不同的影響程度,比如給出類似下面一個(gè)概率分布值:

(Tom,0.3)(Chase,0.2)(Jerry,0.5)

每個(gè)英文單詞的概率代表了翻譯當(dāng)前單詞“杰瑞”時(shí),注意力分配模型分配給不同英文單詞的注意力大小。這對(duì)于正確翻譯目標(biāo)語(yǔ)單詞肯定是有幫助的,因?yàn)橐肓诵碌男畔?。同理,目?biāo)句子中的每個(gè)單詞都應(yīng)該學(xué)會(huì)其對(duì)應(yīng)的源語(yǔ)句子中單詞的注意力分配概率信息。這意味著在生成每個(gè)單詞Yi的時(shí)候,原先都是相同的中間語(yǔ)義表示C會(huì)替換成根據(jù)當(dāng)前生成單詞而不斷變化的Ci。理解AM模型的關(guān)鍵就是這里,即由固定的中間語(yǔ)義表示C換成了根據(jù)當(dāng)前輸出單詞來調(diào)整成加入注意力模型的變化的Ci。增加了AM模型的Encoder-Decoder框架理解起來如圖2所示。

圖2:引入AM模型的Encoder-Decoder框架

即生成目標(biāo)句子單詞的過程成了下面的形式:

而每個(gè)Ci可能對(duì)應(yīng)著不同的源語(yǔ)句子單詞的注意力分配概率分布,比如對(duì)于上面的英漢翻譯來說,其對(duì)應(yīng)的信息可能如下:

其中,f2函數(shù)代表Encoder對(duì)輸入英文單詞的某種變換函數(shù),比如如果Encoder是用的RNN模型的話,這個(gè)f2函數(shù)的結(jié)果往往是某個(gè)時(shí)刻輸入xi后隱層節(jié)點(diǎn)的狀態(tài)值;g代表Encoder根據(jù)單詞的中間表示合成整個(gè)句子中間語(yǔ)義表示的變換函數(shù),一般的做法中,g函數(shù)就是對(duì)構(gòu)成元素加權(quán)求和,也就是常常在論文里看到的下列公式:

假設(shè)Ci中那個(gè)i就是上面的“湯姆”,那么Tx就是3,代表輸入句子的長(zhǎng)度,h1=f(“Tom”),h2=f(“Chase”),h3=f(“Jerry”),對(duì)應(yīng)的注意力模型權(quán)值分別是0.6,0.2,0.2,所以g函數(shù)就是個(gè)加權(quán)求和函數(shù)。如果形象表示的話,翻譯中文單詞“湯姆”的時(shí)候,數(shù)學(xué)公式對(duì)應(yīng)的中間語(yǔ)義表示Ci的形成過程類似下圖:

圖3:Ci的形成過程

這里還有一個(gè)問題:生成目標(biāo)句子某個(gè)單詞,比如“湯姆”的時(shí)候,你怎么知道AM模型所需要的輸入句子單詞注意力分配概率分布值呢?就是說“湯姆”對(duì)應(yīng)的概率分布:

(Tom,0.6)(Chase,0.2)(Jerry,0.2)

是如何得到的呢?

為了便于說明,我們假設(shè)對(duì)圖1的非AM模型的Encoder-Decoder框架進(jìn)行細(xì)化,Encoder采用RNN模型,Decoder也采用RNN模型,這是比較常見的一種模型配置,則圖1的圖轉(zhuǎn)換為下圖:

圖4:RNN作為具體模型的Encoder-Decoder框架

那么用下圖可以較為便捷地說明注意力分配概率分布值的通用計(jì)算過程:

圖5:AM注意力分配概率計(jì)算

對(duì)于采用RNN的Decoder來說,如果要生成yi單詞,在時(shí)刻i,我們是可以知道在生成Yi之前的隱層節(jié)點(diǎn)i時(shí)刻的輸出值Hi的,而我們的目的是要計(jì)算生成Yi時(shí)的輸入句子單詞“Tom”、“Chase”、“Jerry”對(duì)Yi來說的注意力分配概率分布,那么可以用i時(shí)刻的隱層節(jié)點(diǎn)狀態(tài)Hi去一一和輸入句子中每個(gè)單詞對(duì)應(yīng)的RNN隱層節(jié)點(diǎn)狀態(tài)hj進(jìn)行對(duì)比,即通過函數(shù)F(hj,Hi)來獲得目標(biāo)單詞Yi和每個(gè)輸入單詞對(duì)應(yīng)的對(duì)齊可能性,這個(gè)F函數(shù)在不同論文里可能會(huì)采取不同的方法,然后函數(shù)F的輸出經(jīng)過Softmax進(jìn)行歸一化就得到了符合概率分布取值區(qū)間的注意力分配概率分布數(shù)值。圖5顯示的是當(dāng)輸出單詞為“湯姆”時(shí)刻對(duì)應(yīng)的輸入句子單詞的對(duì)齊概率。絕大多數(shù)AM模型都是采取上述的計(jì)算框架來計(jì)算注意力分配概率分布信息,區(qū)別只是在F的定義上可能有所不同。

上述內(nèi)容就是論文里面常常提到的Soft Attention Model的基本思想,你能在文獻(xiàn)里面看到的大多數(shù)AM模型基本就是這個(gè)模型,區(qū)別很可能只是把這個(gè)模型用來解決不同的應(yīng)用問題。那么怎么理解AM模型的物理含義呢?一般文獻(xiàn)里會(huì)把AM模型看作是單詞對(duì)齊模型,這是非常有道理的。目標(biāo)句子生成的每個(gè)單詞對(duì)應(yīng)輸入句子單詞的概率分布可以理解為輸入句子單詞和這個(gè)目標(biāo)生成單詞的對(duì)齊概率,這在機(jī)器翻譯語(yǔ)境下是非常直觀的:傳統(tǒng)的統(tǒng)計(jì)機(jī)器翻譯一般在做的過程中會(huì)專門有一個(gè)短語(yǔ)對(duì)齊的步驟,而注意力模型其實(shí)起的是相同的作用。在其他應(yīng)用里面把AM模型理解成輸入句子和目標(biāo)句子單詞之間的對(duì)齊概率也是很順暢的想法。

當(dāng)然,我覺得從概念上理解的話,把AM模型理解成影響力模型也是合理的,就是說生成目標(biāo)單詞的時(shí)候,輸入句子每個(gè)單詞對(duì)于生成這個(gè)單詞有多大的影響程度。這種想法也是比較好理解AM模型物理意義的一種思維方式。

圖6是論文“A Neural Attention Model for Sentence Summarization”中,Rush用AM模型來做生成式摘要給出的一個(gè)AM的一個(gè)非常直觀的例子。

圖6:句子生成式摘要例子

這個(gè)例子中,Encoder-Decoder框架的輸入句子是:“russian defense minister ivanov called sunday for the creation of a joint front for combating global terrorism”。對(duì)應(yīng)圖中縱坐標(biāo)的句子。系統(tǒng)生成的摘要句子是:“russia calls for joint front against terrorism”,對(duì)應(yīng)圖中橫坐標(biāo)的句子??梢钥闯瞿P鸵呀?jīng)把句子主體部分正確地抽出來了。矩陣中每一列代表生成的目標(biāo)單詞對(duì)應(yīng)輸入句子每個(gè)單詞的AM分配概率,顏色越深代表分配到的概率越大。這個(gè)例子對(duì)于直觀理解AM是很有幫助作用的。

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

    關(guān)注

    28

    文章

    4740

    瀏覽量

    128953
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47282

    瀏覽量

    238534
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5503

    瀏覽量

    121175

原文標(biāo)題:自然語(yǔ)言處理中的Attention Model:是什么及為什么

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自然語(yǔ)言處理與機(jī)器學(xué)習(xí)的關(guān)系 自然語(yǔ)言處理的基本概念及步驟

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能和語(yǔ)言學(xué)領(lǐng)域的一個(gè)分支,它致力于研究如何讓計(jì)算機(jī)能夠理解、解釋和生成人類
    的頭像 發(fā)表于 12-05 15:21 ?485次閱讀

    什么是LLM?LLM自然語(yǔ)言處理中的應(yīng)用

    所未有的精度和效率處理和生成自然語(yǔ)言。 LLM的基本原理 LLM基于深度學(xué)習(xí)技術(shù),尤其是變換器(Transformer)架構(gòu)。變換器模型因其自注意力(Self-Attention)機(jī)制
    的頭像 發(fā)表于 11-19 15:32 ?585次閱讀

    ASR與自然語(yǔ)言處理的結(jié)合

    ASR(Automatic Speech Recognition,自動(dòng)語(yǔ)音識(shí)別)與自然語(yǔ)言處理(NLP)是人工智能領(lǐng)域的兩個(gè)重要分支,它們許多應(yīng)用中緊密結(jié)合,共同構(gòu)成了自然語(yǔ)言理解和
    的頭像 發(fā)表于 11-18 15:19 ?413次閱讀

    自然語(yǔ)言處理與機(jī)器學(xué)習(xí)的區(qū)別

    人工智能的快速發(fā)展中,自然語(yǔ)言處理(NLP)和機(jī)器學(xué)習(xí)(ML)成為了兩個(gè)核心的研究領(lǐng)域。它們都致力于解決復(fù)雜的問題,但側(cè)重點(diǎn)和應(yīng)用場(chǎng)景有所
    的頭像 發(fā)表于 11-11 10:35 ?589次閱讀

    使用LLM進(jìn)行自然語(yǔ)言處理的優(yōu)缺點(diǎn)

    自然語(yǔ)言處理(NLP)是人工智能和語(yǔ)言學(xué)領(lǐng)域的一個(gè)分支,它致力于使計(jì)算機(jī)能夠理解、解釋和生成人類語(yǔ)言。大型語(yǔ)言模型(LLM)是NLP領(lǐng)域的一
    的頭像 發(fā)表于 11-08 09:27 ?459次閱讀

    圖像識(shí)別技術(shù)包括自然語(yǔ)言處理

    圖像識(shí)別技術(shù)與自然語(yǔ)言處理是人工智能領(lǐng)域的兩個(gè)重要分支,它們很多方面有著密切的聯(lián)系,但也存在一些區(qū)別。 一、圖像識(shí)別技術(shù)與自然語(yǔ)言
    的頭像 發(fā)表于 07-16 10:54 ?839次閱讀

    nlp自然語(yǔ)言處理模型怎么做

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能領(lǐng)域的一個(gè)重要分支,它涉及到計(jì)算機(jī)對(duì)人類語(yǔ)言的理解和生成。隨著深度
    的頭像 發(fā)表于 07-05 09:59 ?639次閱讀

    用于自然語(yǔ)言處理的神經(jīng)網(wǎng)絡(luò)有哪些

    自然語(yǔ)言處理(Natural Language Processing, NLP)是人工智能領(lǐng)域的一個(gè)重要分支,旨在讓計(jì)算機(jī)能夠理解和處理人類語(yǔ)言。隨著
    的頭像 發(fā)表于 07-03 16:17 ?1202次閱讀

    自然語(yǔ)言處理技術(shù)有哪些

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能領(lǐng)域的一個(gè)分支,它致力于使計(jì)算機(jī)能夠理解、解釋和生成人類語(yǔ)言自然語(yǔ)言
    的頭像 發(fā)表于 07-03 14:30 ?1157次閱讀

    自然語(yǔ)言處理模式的優(yōu)點(diǎn)

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能領(lǐng)域的一個(gè)重要分支,它致力于使計(jì)算機(jī)能夠理解、生成和處理人類語(yǔ)言。隨著技術(shù)的發(fā)展,
    的頭像 發(fā)表于 07-03 14:24 ?790次閱讀

    自然語(yǔ)言處理技術(shù)的核心是什么

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能領(lǐng)域的一個(gè)重要分支,其核心目標(biāo)是使計(jì)算機(jī)能夠理解、生成和處理人類語(yǔ)言。NLP技術(shù)的發(fā)展已經(jīng)取
    的頭像 發(fā)表于 07-03 14:20 ?760次閱讀

    自然語(yǔ)言處理是什么技術(shù)的一種應(yīng)用

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能和語(yǔ)言學(xué)領(lǐng)域的一個(gè)分支,它涉及到使用計(jì)算機(jī)技術(shù)來處理、分析和生成
    的頭像 發(fā)表于 07-03 14:18 ?915次閱讀

    自然語(yǔ)言處理包括哪些內(nèi)容

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能領(lǐng)域的一個(gè)重要分支,它涉及到計(jì)算機(jī)與人類語(yǔ)言之間的交互。NLP的目標(biāo)是讓計(jì)算機(jī)能夠理解、生成和處理
    的頭像 發(fā)表于 07-03 14:15 ?884次閱讀

    自然語(yǔ)言處理技術(shù)的原理的應(yīng)用

    自然語(yǔ)言處理(Natural Language Processing, NLP)作為人工智能(AI)領(lǐng)域的一個(gè)重要分支,旨在使計(jì)算機(jī)能夠理解和處理人類自然語(yǔ)言。隨著互聯(lián)網(wǎng)的普及和大數(shù)據(jù)
    的頭像 發(fā)表于 07-02 12:50 ?531次閱讀

    神經(jīng)網(wǎng)絡(luò)自然語(yǔ)言處理中的應(yīng)用

    自然語(yǔ)言處理(NLP)是人工智能領(lǐng)域中的一個(gè)重要分支,它研究的是如何使計(jì)算機(jī)能夠理解和生成人類自然語(yǔ)言。隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-01 14:09 ?516次閱讀