如何解決LSTM循環神經網路中的超長序列問題
選自MachineLearningMastery
作者:William Vorhies
機器之心編譯
參與:Jason Brownlee
在 LSTM 循環神經網路面臨長序列輸入時,我們應該怎樣應對?Jason Brownlee 給了我們 6 種解決方案。
長短期記憶(LSTM)循環神經網路可以學習和記憶長段序列的輸入。如果你的問題對於每個輸入都有一個輸出(如時間序列預測和文本翻譯任務),那麼 LSTM 可以運行得很好。但 LSTM 在面臨超長輸入序列——單個或少量輸出的情形時就會遇到困難了。這種問題通常被稱為序列標記,或序列分類。
其中的一些例子包括:
包含數千個單詞的文本內容情緒分類(自然語言處理)。
分類數千個時間步長的腦電圖數據(醫療領域)。
分類數千個 DNA 鹼基對的編碼/非編碼基因序列(基因信息學)。
當使用循環神經網路(如 LSTM)時,這些所謂的序列分類任務需要特殊處理。在這篇文章中,你將發現 6 種處理長序列的方法。
1. 原封不動
原封不動地訓練/輸入,這或許會導致訓練時間大大增長。另外,嘗試在很長的序列里進行反向傳播可能會導致梯度消失,反過來會削弱模型的可靠性。在大型 LSTM 模型中,步長通常會被限制在 250-500 之間。
2. 截斷序列
處理非常長的序列時,最直觀的方式就是截斷它們。這可以通過在開始或結束輸入序列時選擇性地刪除一些時間步來完成。這種方式通過失去部分數據的代價來讓序列縮短到可以控制的長度,而風險也顯而易見:部分對於準確預測有利的數據可能會在這個過程中丟失。
3. 總結序列
在某些領域中,我們可以嘗試總結輸入序列的內容。例如,在輸入序列為文字的時候,我們可以刪除所有低於指定字頻的文字。我們也可以僅保留整個訓練數據集中超過某個指定值的文字。總結可以使得系統專註於相關性最高的問題,同時縮短了輸入序列的長度。
4. 隨機取樣
相對更不系統的總結序列方式就是隨機取樣了。我們可以在序列中隨機選擇時間步長並刪除它們,從而將序列縮短至指定長度。我們也可以指定總長的選擇隨機連續子序列,從而兼顧重疊或非重疊內容。
在缺乏系統縮短序列長度的方式時,這種方法可以奏效。這種方法也可以用於數據擴充,創造很多可能不同的輸入序列。當可用的數據有限時,這種方法可以提升模型的魯棒性。
5. 時間截斷的反向傳播
除基於整個序列更新模型的方法之外,我們還可以在最後的數個時間步中估計梯度。這種方法被稱為「時間截斷的反向傳播(TBPTT)」。它可以顯著加速循環神經網路(如 LSTM)長序列學習的過程。
這將允許所有輸入並執行的序列向前傳遞,但僅有最後數十或數百時間步會被估計梯度,並用於權重更新。一些最新的 LSTM 應用允許我們指定用於更新的時間步數,分離出一部分輸入序列以供使用。例如:
Theano 中的「truncate_gradient」參數:http://deeplearning.net/software/theano/library/scan.html
6. 使用編碼器-解碼器架構
你可以使用自編碼器來讓長序列表示為新長度,然後解碼網路將編碼表示解釋為所需輸出。這可以是讓無監督自編碼器成為序列上的預處理傳遞者,或近期用於神經語言翻譯的編碼器-解碼器 LSTM 網路。
當然,目前機器學習系統從超長序列中學習或許仍然非常困難,但通過複雜的架構和以上一種或幾種方法的結合,我們是可以找到辦法解決這些問題的。
其他瘋狂的想法
這裡還有一些未被充分驗證過的想法可供參考。
將輸入序列拆分為多個固定長度的子序列,並構建一種模型,將每個子序列作為單獨的特徵(例如並行輸入序列)進行訓練。
雙向 LSTM,其中每個 LSTM 單元對的一部分處理輸入序列的一半,在輸出至層外時組合。這種方法可以將序列分為兩塊或多塊處理。
我們還可以探索序列感知編碼方法、投影法甚至哈希演算法來將時間步的數量減少到指定長度。
擴展閱讀
序列標記:https://en.wikipedia.org/wiki/Sequence_labeling
序列分類簡述:http://dl.acm.org/citation.cfm?id=1882478


※MIT提出mNeuron:一個可視化深度模型神經元的Matlab插件
※腦技術商業化,正成為矽谷熱詞
※9 個測試教你如何考察創業公司
※量子計算,「潛在收益巨大的地方就要適用不同規則」|創業
TAG:機器之心 |
※TBOX網路安全解決方案
※在 METATRADER 中使用神經網路
※TD-LTE網路大規模MIMO深度覆蓋解決方案
※如何把神經網路keras模型轉PMML文件?
※雲計算系列深度之一:解密雲網路設備商 ANET 高成長之路,紫光股份、星網銳捷再走中國路徑
※綠化網路環境 鬥魚堅決查處ASMR直播亂象
※用生成對抗網路解決NLP問題:谷歌大腦提出MaskGAN
※四方框框|ANTONELLA ARISMENDI~網路時代意象中的古代知識融合
※ANN神經網路入門-分類問題
※多路由組網竟如此簡單!徹底解決家庭WiFi網路問題
※新型循環神經網路IndRNN:可構建更長更深的RNN
※神經網路簡史:BP演算法後的又一突破—信念網路
※ICLR oral:清華提出離散化架構WAGE,神經網路訓練推理合二為一
※獨立循環神經網路:打造更長更深的RNN
※Sony IPELA E 系列網路攝像頭遠程命令執行漏洞預警
※iOS 如何進行網路測速
※沒錯,純SQL查詢語句可以實現神經網路
※卷積神經網路十五問:CNN與生物視覺系統的研究探索
※CNN 入門講解:圖片在卷積神經網路中是怎麼變化的
※深度|卷積神經網路十五問:CNN與生物視覺系統的研究探索