對于文本和語音這樣的序列化數(shù)據(jù)而言,循環(huán)神經(jīng)網(wǎng)絡(RNN)是非常高效的深度學習模型。RNN的變體,特別是長短時記憶(LSTM)網(wǎng)絡和門控循環(huán)單元(GRU),在自然語言處理(NLP)任務中得到了廣泛應用。
然而,盡管在語言建模、機器翻譯、語言識別、情感分析、閱讀理解、視頻分析等任務中表現(xiàn)出色,RNN仍然是“黑盒”,難以解釋和理解。
有鑒于此,香港科技大學的Yao Ming等提出了一種新的可視化分析系統(tǒng)RNNVis,基于RNNVis,可以更好地可視化用于NLP任務的RNN網(wǎng)絡,理解RNN的隱藏記憶。
在介紹RNNVis系統(tǒng)之前,先讓我們溫習一下RNN及其變體LSTM和GRU.
RNN及其變體
循環(huán)神經(jīng)網(wǎng)絡
如上圖所示,原始RNN接受序列化輸入{x(0), ...,x(T)},并維護一個基于時間的隱藏狀態(tài)向量h(t)。在第t步,模型接受輸入x(t),并據(jù)下式更新隱藏狀態(tài)h(t-1)至h(t):
其中,W、V為權重矩陣而f是非線性激活函數(shù)。上圖中,f為tanh.
h(t)可直接用作輸出,也可以經(jīng)后續(xù)處理后用作輸出。比如,在分類問題中,對隱藏狀態(tài)應用softmax運算后輸出概率分布:
長短時記憶網(wǎng)絡
和原始RNN不同,LSTM除了維護隱藏狀態(tài)h(t)外,還維護另一個稱為細胞狀態(tài)(cell state)的記憶向量c(t)。此外,LSTM使用輸入門i(t)、遺忘門f(t)、輸出門o(t)顯式地控制h(t)、c(t)的更新。三個門向量通過如下方法計算:
細胞狀態(tài)和隱藏狀態(tài)則通過如下方法計算:
上面的第一個公式為候選細胞狀態(tài)。
基于細胞狀態(tài)和門向量,相比原始RNN,LSTM能維持更久的信息。
門控循環(huán)單元
相比LSTM,GRU要簡單一點。GRU只使用隱藏狀態(tài)向量h(t),和兩個門向量,更新門z(t)、重置門r(t):
在更新隱藏狀態(tài)之前,GRU會先使用重置門計算候選隱藏狀態(tài):
多層模型
為了增加表示能力,直接堆疊RNN網(wǎng)絡可得到多層RNN模型:
其中,h0(t)=x(t)
類似地,LSTM和GRU也可以通過堆疊得到多層模型。
協(xié)同聚類可視化二分圖
還記得我們之前提到,對隱藏狀態(tài)進行后續(xù)處理(例如softmax)可以輸出分類的概率分布嗎?
上式可以分解為乘積:
其中,?h(t)可以解讀為模型對輸入單詞t的反應。
相應地,模型對輸入單詞w的反應的期望可以通過下式計算:
其中,x為單詞w的嵌入向量,s(x)i表示hi和w之間的關系。s(x)i的絕對值較大,意味著x對hi較重要。基于足夠的數(shù)據(jù),我們可以據(jù)下式估計反應的期望:
下圖為一個雙層LSTM對三個不同的單詞的反應分布。該LSTM每層有600個細胞狀態(tài)單元,基于Penn Tree Bank(PTB)數(shù)據(jù)集訓練。我們可以看到,模型對介詞(“for”)和代詞(“he”、“she”)的反應模式大不相同。
基于前述期望反應,每個單詞可以計算出n個隱藏單位的期望反應,同時,每個隱藏單元可以計算出對n個單詞的期望反應。如果將單詞和隱藏單元看作節(jié)點,這一多對多關系可以建模為二分圖G = (Vw, Vh, E)。其中,Vw和Vh分別為單詞和隱藏節(jié)點的集合。而E為加權邊:
要可視化分析二分圖,很自然地就想到使用協(xié)同聚類。
從上圖我們可以看到,功能類似的單詞傾向于聚類在一起。
RNNVis
以上述可視化分析技術為核心,論文作者構建了RNNVis可視化系統(tǒng):
如上圖所示,RNNVis包含3個主要模塊:
模型管理器使用TensorFlow框架構建、訓練和測試RNN模型。用戶可以通過編輯配置文件修改模型的架構。
RNN評估器分析訓練好的模型,提取隱藏狀態(tài)中學習到的表示,并進一步處理評估結果以供可視化。同時,它也能夠提供單詞空間中每個隱藏狀態(tài)的解釋。
交互式可視化用戶可以在主界面點擊單詞或記憶單元,以查看詳情。另外,用戶也可以調整可視化風格。
上圖為詳情頁面。箱形圖顯示,第48維和第123維都捕捉到了像“buy”(“買”)和“sell”(“賣”)這樣的動詞,盡管兩者的符號不同。另外,這一詳情界面也表明,LSTM網(wǎng)絡能夠理解單詞的語法功能。
比較不同模型
除了用于理解單個模型的隱藏記憶,RNNVis還可以用來比較兩個模型:
上圖比較了原始RNN和LSTM。無論是記憶單元的飽和度(B和E),還是具體的響應歷史(C和D),都反映了RNN比LSTM更密集地更新隱藏記憶。換句話說,LSTM對輸入的反應更加稀疏。詳情頁面基于單個單詞的比較也印證了這一點(G和H)。
LSTM相比RNN更“懶惰”,這可能是它在長期記憶方面勝過RNN的原因。
比較同一模型的不同層
除了用來比較不同模型,RNNVis還可以用來比較同一模型的不同層。
對CNN的可視化研究揭示了,CNN使用不同層捕捉圖像中不同層次的結構。初始層捕捉較小的特征,例如邊緣和角落,而接近輸出的層學習識別更復雜的結構,以表達不同的分類。
圖片來源:arXiv:1710.10777
而關于RNN及其變體不同層的作用,研究較少。一個自然的假想是初始層學習抽象表示,而后續(xù)層更多地學習特定任務的表示。
從上圖我們可以看到,第0層的“記憶芯片”的尺寸比第1層更均勻。另一方面,第1層的單詞云中單詞的顏色更一致。也就是說,第1層的單詞云的質量比第0層更高。這意味著第0層對不同單詞的用法的把握更模糊,而第1層在識別不同功能的單詞方面更聰明。
分別點擊兩層中的單詞“thou”,我們可以看到,相比第0層(C1),第1層對單詞“thou”的反應更稀疏(C2)。在其他單詞上也有類似的現(xiàn)象。對于語言建模而言,這樣的稀疏性有助于最后層,在最后層,輸出通過softmax直接投影到一個巨大的單詞空間(包含數(shù)千單詞)。
如此,我們通過可視化印證了之前的假想,模型使用第一層構建抽象表示,使用最后一層表達更為任務相關的表示。
案例研究
論文作者通過兩個案例試驗了RNNVis的效果。
情感分析
論文作者使用的數(shù)據(jù)集是Yelp Data Challenge,該數(shù)據(jù)集包含四百萬餐館點評及評分(一分到五分)。評分正好可以視為點評的標簽。為了簡化問題,論文作者預處理了五個標簽,將其歸并為兩個標簽,其中,一分、二分映射為“消極”,四分、五分映射為“積極”,三分的點評不計在內。同樣是為了簡化問題,只使用了原數(shù)據(jù)集的一個子集,2萬條長度小于100個單詞的點評。然后按照80/10/10的百分比分割訓練/驗證/測試集。
所用網(wǎng)絡為單層GRU,包含50個細胞狀態(tài),在驗證集和測試集上分別達到了89.5%和88.6%的精確度。
從上圖的單詞云可以看到,GRU可以理解單詞的極性。上面的云包含“never”、“not”之類的消極單詞,而下面的云包含“l(fā)ove”、“awesome”、“helpful”之類的積極單詞。
另外,上圖分析的是兩個不同的轉折句:
I love the food, though the staff is not helpful. (我喜歡食物,不過服務人員不熱情。)
The staff is not helpful, though I love the food. (服務人員不熱情,不過我喜歡食物。)
從上圖可以看到,GRU對同一個單詞“though”的反應不同,第一個句子中的“though”導致隱藏狀態(tài)的更新更多,也就是說,GRU對消極情緒更敏感。
另一方面,數(shù)據(jù)集中許多消極單詞,比如“bad”(“糟”)和“worst”(“最糟”)并沒有出現(xiàn)在可視化之中。
這兩點暗示GRU在積極點評和消極點評上的表現(xiàn)可能不一樣。論文作者檢查了數(shù)據(jù)集,發(fā)現(xiàn)數(shù)據(jù)集并不均衡,積極點評與消極點評的比例接近3:1?;谶^采樣技術,得到了均衡的數(shù)據(jù)集。在該數(shù)據(jù)集上重新訓練的GRU模型,表現(xiàn)提升了,在驗證集和測試集上分別達到了91.52%和91.91%的精確度。
可視化新模型后,單詞云(C)包含更多情緒強烈的單詞,比如消極單詞云中的“rude”(粗魯)、“worst”(最糟)、“bad”(糟),和積極單詞云中的“excellent”(極好)、“delicious”(美味)、“great”(棒)。詳情頁面(A)顯示,模型對“excellent”和“worst”具備完全相反的反應模式。
莎士比亞著作
論文作者使用莎士比亞的著作(包含一百萬單詞)構建了一個語言建模數(shù)據(jù)集(詞匯量一萬五千)。數(shù)據(jù)集按80/10/10百分比分為訓練/驗證/測試數(shù)據(jù)集。
研究人員使用小、中、大三個規(guī)模的LSTM網(wǎng)絡。
下面的評估和可視化結果屬于中等規(guī)模的LSTM網(wǎng)絡,不過,其他兩個LSTM網(wǎng)絡上的結果與此類似。
莎士比亞的語言混雜了新舊兩個時期的英語。而從上圖我們可以看到,“hath”、“dost”、“art”和“have”、“do”、“are”位于同一片單詞云中。這說明,模型能夠學習這些用途相似的助詞,不管它們是來自古英語還是現(xiàn)代英語。詳情界面印證了這一點,成對的新詞和舊詞具有相應的反應模式。
上圖中有一個例外,是“thou”和“you”。這是因為在莎士比亞時期,“thou”和“you”的用法有細微的差別,“thou”為單數(shù),常用于非正式場合,而“you”為復數(shù),更正式、更禮貌。
以后的工作
論文作者計劃部署一個RNNVis的線上版本,并增加更多RNN模型的量化指標以提升可用性。
由于可視化分析技術基于文本的離散輸入空間,RNNVis只適用于分析用于文本的RNN系列模型。分析用于音頻應用的RNN模型尚需構建可解釋的表示。
當前RNNVis的瓶頸在于協(xié)同聚類的效率和質量,可能導致交互時的延遲。
另外,目前RNNVis還不能可視化一些特化的RNN變體,比如記憶網(wǎng)絡(memory network)或注意力模型(attention model)。支持這些RNN變體需要對RNNVis進行擴展。
-
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4772瀏覽量
100807 -
深度學習
+關注
關注
73文章
5503瀏覽量
121206 -
自然語言
+關注
關注
1文章
288瀏覽量
13353
原文標題:可視化循環(huán)神經(jīng)網(wǎng)絡的隱藏記憶
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論