深度學習之注意力機制


  

一、前提

該篇為基於實現LSTM中文情感傾向分析的基礎上,為提高情感傾向預測的准確度,而引入的一個注意力機制模塊,通過翻閱相關學術文獻和其他資料所作的歸納總結。

二、注意力機制簡介

簡單來說,注意力機制與人類視覺注意力相似,正如人在看事物一樣,會選擇重點的對象,而忽略次要對象。近幾年來,注意力機制在圖片處理領域和自然語言處理領域得到廣泛的應用,並展現出顯著的效果。注意力機制主要是利用神經網絡找到輸入特征的有效部分。

三、Encoder-Decoder模型

注意力機制的框架主要是基於Encoder-Decoder框架發展而來。Encoder-Decoder模型又被稱為編碼-解碼模型,其中Encoder會將輸入的句子序列轉化為一個固定長度的向量,Decoder會將該向量在轉化為其他語言形式的句子序列。自然語言處理中的Encoder-Decoder框架如下圖1所示(注:圖片來源於網絡)

 

 

 

1 Encoder-Decoder框架

    給出一組文本(X,Y),其中X={x1,x2,x3,...,xn},Y={y1,y2,y3,...,ym}。Encoder對X文本進行編碼處理,通過非線性變換轉化,將X文本轉化為中間語義C,其表達式為:

C=φ(x1,x2,x3,...,xn)

Decoder對中間語義C和已生成的歷史信息{y1,y2,y3,...,yi-1}來生成i時刻的信息yi,其表達式為:

yi=φ(C,y1,y2,y3,...,yi-1)

四、Attention模型

    Encoder-Decoder框架中可以注意到,每預測一個yi所對應的語義編碼都是C,說明X中的每個詞匯對Y中的每個詞匯的影響程度都是相同的,這樣會導致語義向量無法表達整個文本的信息,使得解碼效果降低。基於Encoder-Decoder框架無法突出輸入序列的區分度,因而專家們提出了注意力機制使Encoder-Decoder框架缺陷得到改善。注意力機制的結構框架如圖2所示:

2 注意力機制框架

當生成目標句子詞匯yi時,都有唯一中間語義Ci與之對應,其中i=(1,2,3,...),其表達式如下所示:

y1=Φ(C1)

y2=Φ(C2,y1)

y3=Φ(C3,y1,y2)

以此類推,當i時刻時,

yi=Φ(Ci,y1,y2,y3,...,yi-1)

其中CiEncoder-Decoder框架中的中間語義C有所區別,它是一個權重處理后的權值,Ci的表達式為(注:由於博客無法使用MathType編寫的公式,且本地編寫困難,這里用截圖代替)

 

 

其中,Vij表示為編碼中的第j個詞匯與解碼中的第i個詞匯之間的權值,hj表示為Encoder中第j個詞匯的隱向量,bij表示一個矩陣,用於衡量編碼中第i個詞匯對解碼中的第j個詞匯的影響程度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM