摘要:單層年發表的文章使用了單層解決機器翻譯中不同長度的源語言對齊問題。使用的基本思想是目標語言端的詞往往只與源語言端部分詞相關。其中計算上下文環境與源語言詞語的相關得分,是根據語言特性設計的一個對齊模型,感興趣的朋友可以深入了解一下。
1. 前言
2017 年 KDD,Sigir 以及 Recsys 會議被接收的論文早已公示,本文對這些會議中 Attention Model 相關的 10 篇論文進行了整理,主要包括 Attention Model 的變型與應用。其中文中部分內容不是原創,有爭議的請聯系我。
2. 寫作動機
Attention Model 在 Image Caption、Machine Translation、Speech Recognition 等領域上有著不錯的結果。那么什么是 Attention Model 呢?
舉個例子,給下面這張圖片加字幕(Image Caption):一只黃色的小貓帶著一個鹿角帽子趴在沙發上。可以發現在翻譯的過程中我們的注意力由小貓到鹿角帽子再到沙發(小貓→鹿角帽子→沙發)。其實在很多和時序有關的事情上,人類的注意力都不是一成不變的,隨著事情(時間)發展,我們的注意力不斷改變。
因此,從理論上來講在使用深度學習來訓練模型時,引入注意力機制(Attention Model)是很有幫助的。本文根據 2017 年三個頂會的 10 篇關于 Attention Model 的文章,給大家介紹一下 Attention Model 的發展和應用。
這篇文章的預備知識是 Decoder-Encoder 模型。本文主要做一個介紹,基本不會有公式推導,旨在讓大家對 Attention Model 的變型和應用有一個大概的印象。
3. 單層Attention Model
2014 年發表的文章 Neural Machine Translation by Jointly Learning to Align and Translate 使用了單層 Attention Model 解決機器翻譯中不同長度的源語言對齊問題。使用 Attention Model 的基本思想是目標語言端的詞往往只與源語言端部分詞相關。而這個相關度通常用概率的形式表示。
這個過程基本為:首先計算當前上下文的環境與每個源語言詞語的相關度(一個得分),然后使用 softmax 公式,將這個相關度轉化為概率的形式,最后用得到的概率乘以對應源語言端詞的隱含表示作為該詞對預測目標的貢獻,將所有源語言端的詞貢獻加起來作為預測下一個詞的部分輸入。
其中計算上下文環境與源語言詞語的相關得分,是根據語言特性設計的一個對齊模型(Alignment Model),感興趣的朋友可以深入了解一下。
通常情況下,單層 Attention Model 的不同之處主要在于相關分數計算方式的不同,接下來我們介紹三種通用的計算方式。同時在后文中,不再重復敘述 Attention Model 中根據相關分數計算輸出向量的過程。
論文 Dipole: Diagnosis Prediction in Healthcare via Attention-based Bidirectional Recurrent Neural Networks,介紹了單個 Attention Model 在醫療診斷預測中的應用。
這個模型的輸入是用戶前 t 次的醫療代碼(每次的醫療代碼用 one-hot 的形式表示),輸出是用戶下一時刻的醫療診斷類型。使用 Attention Model 的思想是:用戶下一時刻被診斷的疾病類型可能更與前面某一次或某幾次的醫療診斷相關。論文模型框架如下。
本篇論文和前一篇論文 Attention 模型的差別主要在于每個源輸入單位與目標輸出的相關分數計算方式。本文介紹了三種通用的得分計算公式(見下圖右上角):主要有和位置相關的計算方式(location-based)、與指定目標相關并通過點積計算得到的計算方式(General)以及與指定目標相關并通過拼接計算得到的計算方式(Concatenation-based)。
論文 Dynamic Attention Deep Model for Article Recommendation by Learning Human Editors’ Demonstration 介紹了單個 Attention Model 在新聞推薦/篩選領域的應用。該模型的輸入是一個文章的文本和種類信息,輸出是0/1,表示輸入的新聞是否被選中(二分類問題)。
下圖展示的是該模型的 Attention Model 部分,未展示的部分是處理輸入數據的過程,該過程是通過 CNN 等模型將文本和種類特征處理成固定維度的隱含向量表示。
論文的整體思路為:根據新聞的文本信息和種類信息,考慮新聞的時效性和時間特征。它主要是基于兩個假設:第一,用戶在不同的日子可能會有不同的喜好,比如用戶在周一更喜歡金融類的新聞,而在周五可能更喜歡娛樂相關的論文;第二,不同類型的新聞時效性也不同,金融相關的新聞時效性短,而娛樂類的新聞時效性長。
該論文中 Attention Model 的作用是,在第 t 時刻,給定新聞的文本和種類信息,不僅僅考慮第 t 時刻的模型(假設考慮一周中不同日子的影響,則有 7 個模型),我們也考慮該新聞在其他時刻的影響,然后根據新聞在各個時刻下的影響度隨著時間的變化,綜合考慮該新聞被選擇的概率。 但是這個模型人工干涉的部分太多,隨著假設的增加,模型會越來越復雜。
論文 Enhancing Recurrent Neural Networks with Positional Attention for Question Answering 將 Attention Model 變形,然后應用于問答系統(Question Answer)。該模型輸入為“問題”句子中所有詞語的詞向量,輸出“回答”句子中所有詞語的詞向量。
該論文使用 Attention Model 的假設為:如果“問題”句子中某個單詞出現在“回答”句子中,則在“回答”句子中該單詞周圍的詞語影響度更大,且該影響度隨距離變化呈高斯分布。
通過擬合高斯分布得到所有輸入詞的影響概率,然后將影響概率作為權重,和輸入向量加權求和得到基于位置的影響向量,最后將得到的影響向量作為指定向量,計算所有輸入單詞的隱含向量與該指定向量的相關度,通過 Attention Model 計算得到的向量作為輸入幫助完成預測。
這篇論文中,相關度的計算并沒有使用上面提到的三種方法,而是根據問題的實際情況以及模型的前提假設進行變型。
論文 Video Question Answering via Attribute-Augmented Attention Network Learning 使用基于屬性擴展的 Attention Model 來解決以給定視頻作為背景材料的問題。
本文的基本思路是根據問題發現哪一部分視頻和這個問題相關,從而能生成更加相關答案。本文的輸入包括,多幀視頻信息(視頻每一幀通過 CNN 等模型得到固定維度的隱含向量表示)以及處理問題(文本信息)得到隱含向量表示,輸出為回答中的多個單詞。
其實這篇論文只簡單地將每一幀視頻處理成一個固定向量,且 multi-modal 部分的求和取平均有些過于簡單。如果能更較精確地分析每一幀畫面相關的重點信息,結果應該會更加優化。
而接下來,我們要介紹多注意力機制(Hierarchical Attention 以及 Dual Attention)是如何更加較精確地完成任務。
4. 多注意力機制(Hierarchical Attention & Dual Attention)
論文 A Context-aware Attention Network for Interactive Interactive Question Answering 介紹了如何用 Hierarchical Attention Model 完成 QA 任務。
該任務的輸入是:給定文檔(多個句子,每個句子由多個單詞組成)的所有詞向量,以及給定問題的隱含向量表示;輸出是:回答句子中的一個個單詞。
本文 Attention Model 部分的基本思路為:首先在給定的文檔集中的每一個句子中,計算該句子中每一個單詞和給定問題的相關度,通過這一層的 Attention Model 計算得到的向量作為每個句子的隱含向量表示;然后在給定的文檔集中,計算每一個句子和給定問題的相關度,然后利用第二層 Attention Model 計算得到的向量作為 Context vector,用以生成回答。
論文 Leveraging Contextual Sentence Relations for Extractive Summarization Using a Neural Attention Model 介紹了如何使用 Hierarchical Attention Model 完成文章的摘要提取。
摘要提取這類任務的輸入是一個文檔中所有詞向量,輸出是 0/1,表示每一個句子是否作為摘要。摘要提取的一個關鍵是判斷哪些詞語或者哪些句子更具有代表性,更能代表其他詞語或者句子,而通常的做法就是對于句子 t ,計算 [1,t-1] 以及 [t+1,] 與 t 的cosine相似度,作為判斷 t 是否作為摘要的依據。
首先,對每一個詞計算其對該句子的貢獻率(影響概率),通過單詞級別(word-level)的 Attention Model 計算生成的向量作為句子的隱含向量;而在句子級別計算每個句子和其前面 t-1 個句子的相似度,利用第二層 Attention 生成的上文相關向量,同時計算每個句子和其后面所有句子的相似度,利用第二層 Attention 生成的下文相關向量;最后將上文下文相關向量作為最終預測的一部分輸入。
上述文章中的 Attention Model 與前一篇論文類似,都是用了單詞級別(word-level)和句子級別(sentence-level)的 Hierarchical Attention Model。
當然,這種 Hierarchical Attention Model 不僅可以使用在 NLP 領域,它在很多領域都有不錯的發展。接下來這篇文章就介紹了 Hierarchical Attention Model 在醫療領域的應用。
論文 Learning to Generate Rock Descriptions from Multivariate Well Logs with Hierarchical Attention 介紹了如何利用 Hierarchical Attention Model 幫助生成巖石描述。
該模型的輸入是鉆井得到的多類數據(每類數據的數值隨時間或者其他維度不斷變化)以及詞典集中所有單詞的詞向量,輸出為巖石描述的文本。它第一層 Attention Model 是為了判斷,在預測下一個描述詞時,每類數據中具體哪個數值與該描述詞相關;而第二層 Attention Model 的意義在于判斷在預測下一個描述詞時,哪一類數據與該描述詞相關。
前三篇論文都是關于 Hierarchical Attention Model,接下來介紹一篇關于 Dual Attention 的論文。論文 Interpretable Convolutional Neural Networks with Dual Local and Global Attention for Review Rating Prediction 介紹了如何將 Dual Attention Model 用于推薦系統。
這個模型有兩個輸入:User Network 的輸入是該用戶給出的所有評論;Item Network 的輸入是該產品收到的所有評論。輸出是該用戶對給定產品的評分。
本文有一個假設:不同用戶對喜愛或者厭惡情感的表達是不同的,比如一個用戶喜歡打高分,不喜歡的產品他可能打 4 分,但是另一個用戶喜歡打低分,他喜歡的產品也僅僅給 4 分,因此要根據用戶真正的喜好來推薦,而不能僅僅把用戶的評分作為依據。
本文的 Dual Attention Model,是一個平行的模型,不同于前三篇文章第一層 Attention Model 的輸出是第二層 Attention Model 的輸入。這個 Dual Attention 由一個 Local-Attention(L-Attn)和一個 Global-Attention(G-Attn)組成。L-Attn 旨在在滑動窗口中發掘出一些有意義的關鍵詞(可以根據這些關鍵詞發掘用戶的喜好,比如“喜歡”、“裙子”);而 G-Attn 旨在抓住用戶的整體情感表達情況(假設中提到的)。
同理,在 Item Network 中也使用 L- 和 G-Attn 用來抓住一些和該產品有關的關鍵詞以及其他用戶對這個產品的一個整體喜好情況。然后將 Dual Attention Model 得到的輸出拼接起來作為完成最終任務的輸入。
5. 基于知識圖譜或者領域知識的注意力機制(Knowledge-base Attention)
論文 Attentive Collaborative Filtering: Multimedia Recommendation with Item- and Component-Level Attention 介紹了基于領域知識的注意力機制如何用于推薦系統的。其中的 Attention Model 框架和上一節中介紹的 Hierarchical Attention Model 十分類似,的不同就是它的輸入使用了其他領域信息。
不同于傳統的 CF 推薦模型,本文有如下假設:兩個用戶同時喜歡一件衣服,有人因為它的顏色,有人因為它的裁剪,在實際推薦中,精準分析將提升推薦準確性。因此某一個產品的隱含向量表示不再是固定不變的了,它會根據用戶的喜好有不同的表現。模型的輸入是用戶之前購買的所有產品以及每個產品的多個特征表示,輸出是用戶喜歡該產品的可能性。
首先,對于每一個輸入的產品,計算用戶特征向量和該產品每一個特征的相關度,通過第一層 Attention Model 計算得到的向量作為該產品的隱含表示;然后計算用戶特征向量和所有輸入產品的相關度,通過第二層 Attention Model 計算得到的向量作為用戶的喜好特征,從而完成最終的推薦任務。
當我們要引入知識圖譜或者領域知識時,并不代表模型會十分復雜,也不是說 Attention 的層數越高,模型越好。論文 GRAM: Graph-based Attention Model For Healthcare Representation Learning 就用了一個簡單漂亮的模型完成了預測任務。
和小節 2 中提到的 Dipole 模型一樣,這是一個醫療診斷預測問題。這個模型的輸入是用戶前 t 次的醫療代碼(每次的醫療代碼用 one-hot 的形式表示),輸出是用戶下一時刻的醫療診斷類型。但是有很多醫療代碼數據稀疏甚至缺失,導致該醫療代碼的隱含向量表示不能很好地完成預測任務。本文通過引入知識圖譜信息一定程度地改善了這種情況。
首先引入外部知識圖譜,這個知識圖譜是一個有向無環圖,每個節點的父節點表示了一種相關但更寬泛的定義/概念。當醫療代碼 c_i 信息稀少或者缺失時,可以考慮使用更加寬泛的定義。而 Attention Model 就是用來判斷 c_i,c_g,c_c,c_a(從葉子節點到根結點上所有節點)對預測任務的貢獻度。
6. 總結
上文介紹了單層 Attention Model, 多層 Attention Model(包括 Hierarchical Attention 和 Dual Attention)以及引入知識圖譜或者領域信息的 Attention Model 的一些變型和應用。可以發現,對于某一個問題或者時序任務,如果能針對任務提出合理的假設,Attention Model 會有很多種變型和應用的。
7. 論文列表
? KDD-2017
[1] Dipole: Diagnosis Prediction in Healthcare via Attention-based Bidirectional Recurrent Neural Networks
[2] A Context-aware Attention Network for Interactive Interactive Question Answering
[3] Dynamic Attention Deep Model for Article Recommendation by Learning Human Editors’ Demonstration
[4] GRAM: Graph-based Attention Model For Healthcare Representation Learning
[5] Learning to Generate Rock Descriptions from Multivariate Well Logs with Hierarchical Attention
? SIGIR-2017
[6] Enhancing Recurrent Neural Networks with Positional Attention for Question Answering
[7] Attentive Collaborative Filtering: Multimedia Recommendation with Item- and Component-Level Attention
[8] Video Question Answering via Attribute-Augmented Attention Network Learning
[9] Leveraging Contextual Sentence Relations for Extractive Summarization Using a Neural Attention Model
? Recsys-2017
[10] Interpretable Convolutional Neural Networks with Dual Local and Global Attention for Review Rating Prediction
歡迎加入本站公開興趣群商業智能與數據分析群
興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識
QQ群:81035754
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/4662.html
摘要:深度學習推動領域發展的新引擎圖擁有記憶能力最早是提出用來解決圖像識別的問題的一種深度神經網絡。深度學習推動領域發展的新引擎圖深度神經網絡最近相關的改進模型也被用于領域。 從2015年ACL會議的論文可以看出,目前NLP最流行的方法還是機器學習尤其是深度學習,所以本文會從深度神經網絡的角度分析目前NLP研究的熱點和未來的發展方向。我們主要關注Word Embedding、RNN/LSTM/CN...
摘要:摘要來自阿里云團隊的論文面向大規模海量云數據庫的服務質量實時采集與診斷系統被數據庫頂會收錄。評委評價以下為阿里云入選論文。云數據庫對客戶業務的穩定性至關重要,因此快速發現云數據庫性能出現異常,及時定位異常原因是云數據庫廠商的一個挑戰。 摘要:?來自阿里云RDS團隊的論文TcpRT: Instrument and Diagnostic Analysis System for Servic...
閱讀 2648·2021-11-11 16:55
閱讀 685·2021-09-04 16:40
閱讀 3082·2019-08-30 15:54
閱讀 2620·2019-08-30 15:54
閱讀 2411·2019-08-30 15:46
閱讀 407·2019-08-30 15:43
閱讀 3233·2019-08-30 11:11
閱讀 2987·2019-08-28 18:17