
你的位置:首頁(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ò)在開始或結(jié)束輸入序列時(shí)選擇性地刪除一些時(shí)間步來(lái)完成。這種方式通過(guò)失去部分?jǐn)?shù)據(jù)的代價(jià)來(lái)讓序列縮短到可以控制的長(zhǎng)度,而風(fēng)險(xiǎ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è)指定值的文字。總結(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)度。
推薦閱讀:
特別推薦
- 詳解超級(jí)電容器與電池在儲(chǔ)能解決方案的對(duì)比 (上)
- 【車內(nèi)消費(fèi)類接口測(cè)試】泰克助力DisplayPort及eDP在車載顯示領(lǐng)域的應(yīng)用
- 單芯多域!MCU跨界賦能汽車儀表與工業(yè)HMI一體化開發(fā)
- 基于賽靈思、紫光芯片開發(fā)的FPGA高速通信開發(fā)板,適用于圖像處理、工業(yè)控制場(chǎng)景
- 從硅到碳的跨越:EA10000電源技術(shù)路線對(duì)比與選型指南
- 智能無(wú)線工業(yè)傳感器設(shè)計(jì)完全指南
- 借力 Mendix 低代碼,加速博世汽車電子數(shù)字化轉(zhuǎn)型
技術(shù)文章更多>>
- Arm 架構(gòu)將占據(jù)半數(shù) 2025 年出貨到頭部云服務(wù)提供商的算力
- 金海迪電子攜0.5mm超薄貼片器件亮相深圳電子展 定義新能源磁性元件新標(biāo)桿
- 粵港澳大灣區(qū)領(lǐng)航全球電子產(chǎn)業(yè)革新 CITE2025啟幕勾勒AI與低空經(jīng)濟(jì)新紀(jì)元
- 醫(yī)療設(shè)備中的溫度傳感器:精準(zhǔn)醫(yī)療的“溫度守護(hù)者”
- 晶閘管選型與應(yīng)用實(shí)戰(zhàn)指南:多維參數(shù)平衡與場(chǎng)景化設(shè)計(jì)深度解析
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
偏光片
偏轉(zhuǎn)線圈
頻率測(cè)量?jī)x
頻率器件
頻譜測(cè)試儀
平板電腦
平板顯示器
齊納二極管
氣動(dòng)工具
氣體傳感器
氣體放電管
汽車電子
汽車?yán)^電器
汽車連接器
墻壁開關(guān)
翹板開關(guān)
驅(qū)動(dòng)模塊
燃料電池
繞線電感
繞線設(shè)備
熱繼電器
熱敏電阻
熔斷器
融斷電阻
柔性PCB
銳迪科
瑞薩
賽普拉斯
三端穩(wěn)壓管
三極管