循環神經網絡(RNN)是用于自然語言建模的主流架構,通常,RNN按順序讀取輸入的token,再輸出每個token的分布式表示。通過利用相同的函數來循環更新隱藏狀態,RNN的計算成本將保持不變。雖然這一特點對于某些應用來說很常見,但在語言處理過程中,并不是所有token都同等重要,關鍵要學會取舍。例如,在問答題中,只對重要部分進行大量計算,不相關部分分配較少的計算才是有效的方法。
雖然有注意力模型和LSTM等方法提高計算效率或挑選重要任務,但它們的表現都不夠好。在本篇論文中,研究人員提出了“Skim-RNN”的概念,用很少的時間進行快速閱讀,不影響讀者的主要目標。
Skim-RNN的構成
受人類快速閱讀原理的啟發,Skim-RNN的結構由兩個RNN模型構成:較大的默認RNN模型d和較小的RNN模型d’。d和d’是用戶定義的超參數,并且d’<< d。
如果當前token比較重要,Skim-RNN就會使用大的RNN;如果不重要,它就會轉向使用小的RNN。由于小RNN比大RNN需要的浮點運算次數更少,所以該模型比單獨使用大RNN所得結果更快,甚至更好。
推理過程
在每一步驟t中,Skim-RNN將輸入的Xt∈Rd和之前的隱藏狀態ht-1∈Rd作為其參數,輸出新的狀態ht。k代表每一步做出harddecision的次數。在Skim-RNN中,不論是完全閱讀或跳過,k=2。
研究人員使用多項隨機變量Qt對選擇概率分布Pt的決策過程進行建模。Pt表示為:
這里,W∈Rk×2d,b∈Rk。
接下來我們定義隨機變量Qt,通過從概率分布Pt對Qt進行采樣:
如果Qt=1,那么該模型與標準RNN模型一樣。如果Qt=2,那么模型選用了較小RNN模型以獲取較小的隱藏狀態。即:
其中f是帶有d輸出的完全RNN,而f'是帶有d'輸出的小RNN,d'<< d。
實驗結果
研究人員在七組數據集上對Skim-RNN進行測試,包括分類測試和問答題兩種形式,目的是為了檢驗模型的準確度和浮點運算減少率(Flop-R)。
文本分類
在這項任務中,輸入的是單詞序列,輸出的是分類概率的向量。最終,下表顯示出Skim-RNN模型與LSTM、LSTM-Jump的精確度和計算成本對比。
以SST、爛番茄、IMDB和AGnews四個網站為例進行本文分類,在標準LSTM、Skim-RNN、LSTM-Jump和最先進的模型(SOTA)上進行對比
改變較小隱藏狀態的尺寸的影響,以及參數γ對精確度和計算成本的影響(默認d=100,d'=10,γ=0.02)
下圖是IMDB數據集中的一個例子,其中Skim-RNN的參數為:d=200,d'=10,γ=0.01,最終將本段文字正確分類的概率為92%。
其中黑色的字被略過(用小LSTM模型,d'=10),藍色的字表示被閱讀(用較大的LSTM模型,d=200)
和預期的一樣,模型忽略了類似介詞等不重要的詞語,而注意到了非常重要的單詞,例如“喜歡”、“可怕”、“討厭的”。
回答問題
這項任務的目的是在給定段落中找到答案的位置。為了檢測Skim-RNN的準確度,研究人員建立了兩個不同的模型:LSTM+注意力和BiDAF。結果如下所示:
F1和EM值可表明Skim-RNN的準確度。最終發現,速讀(skimming)模型的F1分數比默認沒有速讀(non-skimming)的模型相同甚至更高,并且計算成本消耗得更少(大于1.4倍)。
LSTM+注意力模型中,不同層的LSTM速度率(skimming rate)隨γ的變化而變化的情況
LSTM+注意力模型的F1分數。計算成本越大,模型表現得越好。在同樣的計算成本下,Skim LSTM(紅色)比標準LSTM(藍色)的表現要好。另外,Skim-LSTM的F1分數在不同參數和計算成本下都更穩定
F1分數與Flop-R之間的關系
下圖是模型回答問題的一個例子,問題為:最大的建筑項目(construction project)也稱作什么?(正確答案:megaprojects)
模型給出的答案:megaprojects。
紅色代表閱讀,白色代表略過
運行時間
上圖顯示了與標準LSTM相比,Skim-LSTM的相對速度增益的隱藏狀態有不同大小和速度速率。在這一過程中,研究人員使用的是NumPy,并在CPU的單個線程上進行推論。
可以看到,實際增益(實線)和理論增益(虛線)之間的差距無法避免。隨著隱藏狀態增大,這一差距會減小。所以對于更大的隱藏狀態,Skim-RNN的表現會更好。
結語
本次研究表明,新型循環神經網絡Skim-RNN可以根據輸入的重要性決定使用大的RNN還是小的RNN,同時計算成本比RNN更低,準確度與標準LSTM和LSTM-Jump相比類似甚至更好。由于Skim-RNN與RNN具有相同的輸入輸出接口,因此可以輕松替換現有應用中的RNN。
所以,這樣工作適用于需要更高隱藏狀態的應用,比如理解視頻,同時還可以利用小RNN做不同程度的略讀。
-
循環神經網絡
+關注
關注
0文章
38瀏覽量
2985
原文標題:用Skim-RNN顯著降低計算成本,實現“速讀”
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論