(轉)自然語言處理中的Attention Model:是什麼及爲什麼

原文鏈接:http://blog.csdn.net/malefactor/article/details/50550211

要是關注深度學習在自然語言處理方面的研究進展,我相信你一定聽說過Attention Model(後文有時會簡稱AM模型)這個詞。AM模型應該說是過去一年來NLP領域中的重要進展之一,在很多場景被證明有效。聽起來AM很高大上,其實它的基本思想是相當直觀簡潔的。本文作者可以對燈發誓:在你讀完這篇囉裏囉嗦的文章及其後續文章後,一定可以透徹瞭解AM到底是什麼,以及輕易看懂任何有關論文看上去複雜的數學公式部分。怎麼樣,這廣告打的挺有吸引力吧,尤其是對那些患有數學公式帕金森病的患者。

在正戲開演前,我們先來點題外話。

|引言及廢話

你應該常常聽到被捉姦在牀的男性經常感嘆地說一句話:女性的第六感通常都很準,當然這裏的女性一般是特指這位男性的老婆或者女友,當然也可能是他的某位具有女性氣質的男友。要我說,男人的第六感其實也不差(這裏的“男人”特指本文作者本人,當然非上文所引用的“男性”,爲避免混淆特做聲明)。當我第一次看到機器學習領域中的Attention Model這個名字的時候,我的第一直覺就是:這是從認知心理學裏面的人腦注意力模型引入的概念。若干年前,也就是在我年輕不懂事的花樣年華里,曾有一陣子沉迷於人腦的工作機制,大量閱讀了認知心理學方面的書籍和論文,而一般注意力模型會作爲書籍的單獨一章來講。下面請允許我顯擺一下鄙人淵博的知識。

注意力這東西其實挺有意思,但是很容易被人忽略。讓我們來直觀地體會一下什麼是人腦中的注意力模型。首先,請您睜開眼並確認自己處於意識清醒狀態;第二步,請找到本文最近出現的一個“Attention Model”字眼(就是“字眼”前面的兩個英文單詞,…^@@^)並盯住看三秒鐘。好,假設此刻時間停止,在這三秒鐘你眼中和腦中看到的是什麼?對了,就是“Attention Model”這兩個詞,但是你應該意識到,其實你眼中是有除了這兩個單詞外的整個一副畫面的,但是在你盯着看的這三秒鐘,時間靜止,萬物無息,彷彿這個世界只有我和你…..對不起,串景了,彷彿這個世界只有“Attention Model”這兩個單詞。這是什麼?這就是人腦的注意力模型,就是說你看到了整幅畫面,但在特定的時刻t,你的意識和注意力的焦點是集中在畫面中的某一個部分上,其它部分雖然還在你的眼中,但是你分配給它們的注意力資源是很少的。其實,只要你睜着眼,注意力模型就無時不刻在你身上發揮作用,比如你過馬路,其實你的注意力會被更多地分配給紅綠燈和來往的車輛上,雖然此時你看到了整個世界;比如你很精心地偶遇到了你心儀的異性,此刻你的注意力會更多的分配在此時神光四射的異性身上,雖然此刻你看到了整個世界,但是它們對你來說跟不存在是一樣的…..

這就是人腦的注意力模型,說到底是一種資源分配模型,在某個特定時刻,你的注意力總是集中在畫面中的某個焦點部分,而對其它部分視而不見。

其實吧,深度學習裏面的注意力模型工作機制啊,它跟你看見心動異性時荷爾蒙驅動的注意力分配機制是一樣一樣的。

好,前戲結束,正戲開場。

|Encoder-Decoder框架

本文只談談文本處理領域的AM模型,在圖片處理或者(圖片-圖片標題)生成等任務中也有很多場景會應用AM模型,但是我們此處只談文本領域的AM模型,其實圖片領域AM的機制也是相同的。

要提文本處理領域的AM模型,就不得不先談Encoder-Decoder框架,因爲目前絕大多數文獻中出現的AM模型是附着在Encoder-Decoder框架下的,當然,其實AM模型可以看作一種通用的思想,本身並不依賴於Encoder-Decoder模型,這點需要注意。

Encoder-Decoder框架可以看作是一種文本處理領域的研究模式,應用場景異常廣泛,本身就值得非常細緻地談一下,但是因爲本文的注意力焦點在AM模型,所以此處我們就只談一些不得不談的內容,詳細的Encoder-Decoder模型以後考慮專文介紹。下圖是文本處理領域裏常用的Encoder-Decoder框架最抽象的一種表示:

                                 圖1. 抽象的Encoder-Decoder框架

Encoder-Decoder框架可以這麼直觀地去理解:可以把它看作適合處理由一個句子(或篇章)生成另外一個句子(或篇章)的通用處理模型。對於句子對

發佈了30 篇原創文章 · 獲贊 75 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章