
你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
六種方法解決LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)中的超長(zhǎng)序列問(wèn)題
發(fā)布時(shí)間:2017-06-27 來(lái)源:Jason Brownlee 責(zé)任編輯:wenwei
【導(dǎo)讀】長(zhǎng)短期記憶(LSTM)循環(huán)神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)和記憶長(zhǎng)段序列的輸入。如果你的問(wèn)題對(duì)于每個(gè)輸入都有一個(gè)輸出(如時(shí)間序列預(yù)測(cè)和文本翻譯任務(wù)),那么 LSTM 可以運(yùn)行得很好。但 LSTM 在面臨超長(zhǎng)輸入序列——單個(gè)或少量輸出的情形時(shí)就會(huì)遇到困難了。這種問(wèn)題通常被稱為序列標(biāo)記,或序列分類。
其中的一些例子包括:
包含數(shù)千個(gè)單詞的文本內(nèi)容情緒分類(自然語(yǔ)言處理)。
分類數(shù)千個(gè)時(shí)間步長(zhǎng)的腦電圖數(shù)據(jù)(醫(yī)療領(lǐng)域)。
分類數(shù)千個(gè) DNA 堿基對(duì)的編碼/非編碼基因序列(基因信息學(xué))。
當(dāng)使用循環(huán)神經(jīng)網(wǎng)絡(luò)(如 LSTM)時(shí),這些所謂的序列分類任務(wù)需要特殊處理。在這篇文章中,你將發(fā)現(xiàn) 6 種處理長(zhǎng)序列的方法。
1. 原封不動(dòng)
原封不動(dòng)地訓(xùn)練/輸入,這或許會(huì)導(dǎo)致訓(xùn)練時(shí)間大大增長(zhǎng)。另外,嘗試在很長(zhǎng)的序列里進(jìn)行反向傳播可能會(huì)導(dǎo)致梯度消失,反過(guò)來(lái)會(huì)削弱模型的可靠性。在大型 LSTM 模型中,步長(zhǎng)通常會(huì)被限制在 250-500 之間。
2. 截?cái)嘈蛄?/strong>
處理非常長(zhǎng)的序列時(shí),最直觀的方式就是截?cái)嗨鼈儭_@可以通過(guò)在開(kāi)始或結(jié)束輸入序列時(shí)選擇性地刪除一些時(shí)間步來(lái)完成。這種方式通過(guò)失去部分?jǐn)?shù)據(jù)的代價(jià)來(lái)讓序列縮短到可以控制的長(zhǎng)度,而風(fēng)險(xiǎn)也顯而易見(jiàn):部分對(duì)于準(zhǔn)確預(yù)測(cè)有利的數(shù)據(jù)可能會(huì)在這個(gè)過(guò)程中丟失。
3. 總結(jié)序列
在某些領(lǐng)域中,我們可以嘗試總結(jié)輸入序列的內(nèi)容。例如,在輸入序列為文字的時(shí)候,我們可以刪除所有低于指定字頻的文字。我們也可以僅保留整個(gè)訓(xùn)練數(shù)據(jù)集中超過(guò)某個(gè)指定值的文字??偨Y(jié)可以使得系統(tǒng)專注于相關(guān)性最高的問(wèn)題,同時(shí)縮短了輸入序列的長(zhǎng)度。
4. 隨機(jī)取樣
相對(duì)更不系統(tǒng)的總結(jié)序列方式就是隨機(jī)取樣了。我們可以在序列中隨機(jī)選擇時(shí)間步長(zhǎng)并刪除它們,從而將序列縮短至指定長(zhǎng)度。我們也可以指定總長(zhǎng)的選擇隨機(jī)連續(xù)子序列,從而兼顧重疊或非重疊內(nèi)容。
在缺乏系統(tǒng)縮短序列長(zhǎng)度的方式時(shí),這種方法可以奏效。這種方法也可以用于數(shù)據(jù)擴(kuò)充,創(chuàng)造很多可能不同的輸入序列。當(dāng)可用的數(shù)據(jù)有限時(shí),這種方法可以提升模型的魯棒性。
5. 時(shí)間截?cái)嗟姆聪騻鞑?/strong>
除基于整個(gè)序列更新模型的方法之外,我們還可以在最后的數(shù)個(gè)時(shí)間步中估計(jì)梯度。這種方法被稱為「時(shí)間截?cái)嗟姆聪騻鞑ィ═BPTT)」。它可以顯著加速循環(huán)神經(jīng)網(wǎng)絡(luò)(如 LSTM)長(zhǎng)序列學(xué)習(xí)的過(guò)程。
這將允許所有輸入并執(zhí)行的序列向前傳遞,但僅有最后數(shù)十或數(shù)百時(shí)間步會(huì)被估計(jì)梯度,并用于權(quán)重更新。一些最新的 LSTM 應(yīng)用允許我們指定用于更新的時(shí)間步數(shù),分離出一部分輸入序列以供使用。例如:
Theano 中的「truncate_gradient」參數(shù):deeplearning
6. 使用編碼器-解碼器架構(gòu)

你可以使用自編碼器來(lái)讓長(zhǎng)序列表示為新長(zhǎng)度,然后解碼網(wǎng)絡(luò)將編碼表示解釋為所需輸出。這可以是讓無(wú)監(jiān)督自編碼器成為序列上的預(yù)處理傳遞者,或近期用于神經(jīng)語(yǔ)言翻譯的編碼器-解碼器 LSTM 網(wǎng)絡(luò)。
當(dāng)然,目前機(jī)器學(xué)習(xí)系統(tǒng)從超長(zhǎng)序列中學(xué)習(xí)或許仍然非常困難,但通過(guò)復(fù)雜的架構(gòu)和以上一種或幾種方法的結(jié)合,我們是可以找到辦法解決這些問(wèn)題的。
其他瘋狂的想法
這里還有一些未被充分驗(yàn)證過(guò)的想法可供參考。
將輸入序列拆分為多個(gè)固定長(zhǎng)度的子序列,并構(gòu)建一種模型,將每個(gè)子序列作為單獨(dú)的特征(例如并行輸入序列)進(jìn)行訓(xùn)練。
雙向 LSTM,其中每個(gè) LSTM 單元對(duì)的一部分處理輸入序列的一半,在輸出至層外時(shí)組合。這種方法可以將序列分為兩塊或多塊處理。
我們還可以探索序列感知編碼方法、投影法甚至哈希算法來(lái)將時(shí)間步的數(shù)量減少到指定長(zhǎng)度。
推薦閱讀:
特別推薦
- 破局PMIC定制困境:無(wú)代碼方案加速產(chǎn)品落地
- 線繞電阻與碳膜電阻技術(shù)對(duì)比及選型指南
- 超越毫秒級(jí)響應(yīng)!全局快門(mén)圖像傳感器如何驅(qū)動(dòng)視覺(jué)系統(tǒng)效能躍升
- 立體視覺(jué)的“超感進(jìn)化”:軟硬件協(xié)同突破機(jī)器人感知極限
- 線繞電阻與金屬膜電阻技術(shù)對(duì)比及選型指南
- MOSFET技術(shù)解析:定義、原理與選型策略
- 光敏電阻從原理到國(guó)產(chǎn)替代的全面透視與選型指南
技術(shù)文章更多>>
- 如何通過(guò) LLC 串聯(lián)諧振轉(zhuǎn)換器優(yōu)化LLC-SRC設(shè)計(jì)?
- 科技自立自強(qiáng) 筑牢強(qiáng)國(guó)之基——金天國(guó)際全球首發(fā)雪蓮養(yǎng)護(hù)貼活力型引領(lǐng)生命養(yǎng)護(hù)革命
- 滑動(dòng)分壓器的技術(shù)解析與選型指南
- 水泥電阻技術(shù)深度解析:選型指南與成本對(duì)比
- 智能終端的進(jìn)化論:邊緣AI突破能耗與安全隱私的雙重困局
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
元件符號(hào)
元器件選型
云電視
云計(jì)算
云母電容
真空三極管
振蕩器
振蕩線圈
振動(dòng)器
振動(dòng)設(shè)備
震動(dòng)馬達(dá)
整流變壓器
整流二極管
整流濾波
直流電機(jī)
智能抄表
智能電表
智能電網(wǎng)
智能家居
智能交通
智能手機(jī)
中電華星
中電器材
中功率管
中間繼電器
周立功單片機(jī)
轉(zhuǎn)換開(kāi)關(guān)
自耦變壓器
自耦調(diào)壓器
阻尼三極管