人工智能之機器學習記憶神經(jīng)網(wǎng)絡LSTM算法解析
前言:人工智能之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下長短時記憶神經(jīng)網(wǎng)絡(LSTM)算法。
我們知道,RNN是一類功能強大的人工神經(jīng)網(wǎng)絡算法,RNN一個重要的優(yōu)點在于,其能夠在輸入和輸出序列之間的映射過程中利用上下文相關(guān)信息。但是RNN存在著梯度消失或梯度爆炸等問題。因此,為了解決上述問題,長短時記憶神經(jīng)網(wǎng)絡(LSTM)誕生了。
長短期記憶神經(jīng)網(wǎng)絡LSTM是一種特殊的RNN,能夠?qū)W習長期依賴關(guān)系。由Hochreiter和Schmidhuber (1997)提出,在后期工作中又由許多人進行了調(diào)整和普及(除了原始作者之外,許多人為現(xiàn)代LSTM做出了貢獻,不完全統(tǒng)計:Felix Gers(目前在谷歌的DeepMind任職), Fred Cummins, Santiago Fernandez, Felix Gers(發(fā)明了LSTM遺忘門),JusTIn Bayer(自動演化), Daan Wierstra, Julian Togelius, FausTIan Gomez, Matteo Gagliolo 和 Alex Graves)。LSTM在大量問題上效果異常出色,現(xiàn)在正在廣泛使用。
LTSM概念:長短時記憶神經(jīng)網(wǎng)絡LSTM(Long Short–Term Memory)是一種時間遞歸神經(jīng)網(wǎng)絡,適合于處理和預測時間序列中間隔和延遲相對較長的重要事件。
與其說長短時記憶神經(jīng)網(wǎng)絡LSTM是一種循環(huán)神經(jīng)網(wǎng)絡,倒不如說是一個加強版的組件被放在了循環(huán)神經(jīng)網(wǎng)絡中。具體地說,就是把循環(huán)神經(jīng)網(wǎng)絡中隱含層的小圓圈換成長短時記憶的模塊,如下圖所示。
LTSM本質(zhì):
LSTM引入自循環(huán)的巧妙構(gòu)思,以產(chǎn)生梯度長時間持續(xù)流動的路徑是初始LSTM模型的核心貢獻。其中一個關(guān)鍵擴展是使自循環(huán)的權(quán)重視上下文而定,而不是固定的。門控此自循環(huán)(由另一個隱藏單元控制)的權(quán)重,累積的時間尺度可以動態(tài)地改變。
LSTM循環(huán)網(wǎng)絡除了外部的RNN循環(huán)外,還具有內(nèi)部的LSTM細胞循環(huán)(自環(huán))。
LSTM 通過刻意的設(shè)計來避免長期依賴問題。記住長期的信息在實踐中是 LSTM 的默認行為,而非需要付出很大代價才能獲得的能力。
LSTM原理:
LSTM區(qū)別于RNN的地方,主要就在于它在算法中加入了一個判斷信息有用與否的“處理器”,這個處理器作用的結(jié)構(gòu)被稱為cell。
一個cell當中被放置了三扇門,分別叫做輸入門、遺忘門和輸出門。一個信息進入LSTM的網(wǎng)絡當中,可以根據(jù)規(guī)則來判斷是否有用。只有符合算法認證的信息才會留下,不符的信息則通過遺忘門被遺忘。
說起來無非就是一進二出的工作原理,卻可以在反復運算下解決神經(jīng)網(wǎng)絡中長期存在的大問題。目前已經(jīng)證明,LSTM是解決長序依賴問題的有效技術(shù),并且這種技術(shù)的普適性非常高,導致帶來的可能性變化非常多。各研究者根據(jù)LSTM紛紛提出了自己的變量版本,這就讓LSTM可以處理千變?nèi)f化的垂直問題。