人工智能的重要算法之一--LSTM算法
長短期記憶神經(jīng)網(wǎng)絡(luò)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)絡(luò)LSTM(Long Short–Term Memory)是一種時間遞歸神經(jīng)網(wǎng)絡(luò),適合于處理和預(yù)測時間序列中間隔和延遲相對較長的重要事件。
與其說長短時記憶神經(jīng)網(wǎng)絡(luò)LSTM是一種循環(huán)神經(jīng)網(wǎng)絡(luò),倒不如說是一個加強版的組件被放在了循環(huán)神經(jīng)網(wǎng)絡(luò)中。具體地說,就是把循環(huán)神經(jīng)網(wǎng)絡(luò)中隱含層的小圓圈換成長短時記憶的模塊,如下圖所示。
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)絡(luò)除了外部的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)絡(luò)當中,可以根據(jù)規(guī)則來判斷是否有用。只有符合算法認證的信息才會留下,不符的信息則通過遺忘門被遺忘。
說起來無非就是一進二出的工作原理,卻可以在反復運算下解決神經(jīng)網(wǎng)絡(luò)中長期存在的大問題。目前已經(jīng)證明,LSTM是解決長序依賴問題的有效技術(shù),并且這種技術(shù)的普適性非常高,導致帶來的可能性變化非常多。各研究者根據(jù)LSTM紛紛提出了自己的變量版本,這就讓LSTM可以處理千變?nèi)f化的垂直問題。
LSTM深度剖析:LSTM 有通過精心設(shè)計的稱作為“門”的結(jié)構(gòu)來去除或者增加信息到細胞狀態(tài)的能力。門是一種讓信息選擇式通過的方法。其包含一個 sigmoid 神經(jīng)網(wǎng)絡(luò)層和一個 pointwise 乘法操作。
Sigmoid 層輸出 0 到 1 之間的數(shù)值,描述每個部分有多少量可以通過。0 代表“不許任何量通過”,1 就指“允許任意量通過”!
LSTM 擁有三個門(輸入門,遺忘門,輸出門),來保護和控制細胞狀態(tài)。
標準LSTM:1)決定丟棄信息:
2)確定更新的信息:
3)更新細胞狀態(tài):
4)輸出信息:
LSTM的變體:
1)peephole 連接:
2)coupled 忘記門和輸入門:
3) GRU(Gated Recurrent Unit):
LSTM應(yīng)用場景:
LSTM已經(jīng)在科技領(lǐng)域有了多種應(yīng)用?;贚STM的系統(tǒng)可以學習翻譯語言、控制機器人、圖像分析、文檔摘要、語音識別、圖像識別、手寫識別、控制聊天機器人、預(yù)測疾病、點擊率和股票、合成音樂等任務(wù)。
2015 年谷歌通過基于CTC 訓練的 LSTM 程序大幅提升了安卓手機和其他設(shè)備中語音識別的能力。百度也使用了 CTC;蘋果的 iPhone 在 QucikType 和 Siri 中使用了LSTM;微軟不僅將LSTM 用于語音識別,還將這一技術(shù)用于虛擬對話形象生成和編寫程序代碼等。亞馬遜 Alexa 通過雙向LSTM在家中與用戶交流,而谷歌使用 LSTM 的范圍更加廣泛,它可以生成圖像字幕,自動回復電子郵件,它包含在新的智能助手Allo中,也顯著地提高了谷歌翻譯的質(zhì)量。目前,谷歌數(shù)據(jù)中心的很大一部分計算資源現(xiàn)在都在執(zhí)行 LSTM 任務(wù)。
結(jié)語:長短期記憶網(wǎng)絡(luò)LSTM是一種時間遞歸神經(jīng)網(wǎng)絡(luò),適合于處理和預(yù)測時間序列中間隔和延遲相對較長的重要事件。LSTM是使用RNN的一個飛躍。LSTM算法在人工智能之機器學習、翻譯語言、控制機器人、圖像分析、文檔摘要、語音識別、圖像識別、手寫識別、控制聊天機器人、預(yù)測疾病、點擊率和股票、合成音樂等領(lǐng)域有著廣泛應(yīng)用。