449
技術社區[雲棲]
簡單入門循環神經網絡RNN:時間序列數據的首選神經網絡
首發地址:https://yq.aliyun.com/articles/119575
隨著科學技術的發展以及硬件計算能力的大幅提升,人工智能已經從幾十年的幕後工作一下子躍入人們眼簾。人工智能的背後源自於大數據、高性能的硬件與優秀的算法的支持。2016年,深度學習已成為Google搜索的熱詞,隨著最近一兩年的圍棋人機大戰中,阿法狗完勝世界冠軍後,人們感覺到再也無法抵擋住AI的車輪的快速駛來。在2017年這一年中,AI已經突破天際,相關產品也出現在人們的生活中,比如智能機器人、無人駕駛以及語音搜索等。最近,世界智能大會在天津舉辦成功,大會上許多業內行家及企業家發表自己對未來的看法,可以了解到,大多數的科技公司及研究機構都非常看好人工智能的前景,比如百度公司將自己的全部身家壓在人工智能上,不管破釜沉舟後是一舉成名還是一敗塗地,隻要不是一無所獲就行。為什麼突然之間深度學習會有這麼大的效應與熱潮呢?這是因為科技改變生活,很多的職業可能在今後的時間裏慢慢被人工智能所取代。全民都在熱議人工智能與深度學習,就連Yann LeCun大牛都感受到了人工智能在中國的火熱
言歸正傳,人工智能的背後是大數據、優秀的算法以及強大運算能力的硬件支持。比如,CNN
本文將介紹經典的網絡之循環神經網絡(RNN),這一網絡也是時序數據的首選網絡。當涉及某些順序機器學習任務時,RNN可以達到很高的精度,沒有其他算法可以與之一較高下。這是由於傳統的神經網絡隻是具有一種短期記憶,而RNN具有有限的短期記憶的優勢。然而,第一代RNNs網絡並沒有引起人們著重的注意,這是由於研究人員在利用反向傳播和梯度下降算法過程中遭受到了嚴重的梯度消失問題,阻礙了RNN幾十年的發展。最後,於90年代後期出現了重大突破,導致更加準確的新一代RNN的問世。基於這一突破的Google Voice Search和Apple Siri等應用程序開始搶奪其關鍵流程,開發人員完善和優化了新一代的RNN。現在,RNN遍布各個研究領域,並且正在幫助點燃人工智能的複興之火。
大多數人造神經網絡,如前饋神經網絡,都沒有記憶剛剛收到的輸入。例如,如果提供前饋神經網絡的“WISDOM”“D”剛剛讀過“S”,這是一個大問題。無論訓練該網絡是多麼的辛苦,總是很難猜出下一個最有可能的字符“O”。這使得它成為某些任務的一個相當無用的候選人,例如在語音識別中,識別的好壞在很大程度上受益於預測下一個字符的能力。另一方麵,RNN網絡確實記住了之前的輸入,但是處於一個非常複雜的水平。
“WISDOM”複發性RNN網絡中的單元“D”之前“S”換句話說,就是把剛剛過去的事情聯合現在的事情作為輸入,來預測接下來會發生的事情,這給了它有限的短期記憶的優勢。當訓練時,提供足夠的背景下,可以猜測下一個字符“O”。
RNN單元為其多個輸入分配一個權重矩陣,這些權重代表各個輸入在網絡層中所占的比重;然後對這些權重應用一個函數來確定單個輸出,這個函數一般被稱為損失函數(代價函數),限定實際輸出與目標輸出之間的誤差。然而,循環神經網絡不僅對當前輸入分配權重,而且還從對過去時刻輸入分配權重。然後,通過使得損失函數最下來動態的調整分配給當前輸入和過去輸入的權重,這個過程涉及到兩個關鍵概念:梯度下降和反向傳播BPTT
機器學習中最著名的算法之一就是梯度下降算法“維數災難”“這個問題困擾著諸多神經網絡係統,因為太多的變量需要計算來達到最小的損失函數。然而,梯度下降算法通過放大多維誤差或代價函數的局部最小值來打破維數災難。這有助於係統調整分配給各個單元的權重值,以使網絡變得更加精確。
RNN微調其權重來訓練其單元。簡單的說,就是根據單元計算出的總輸出與目標輸出之間的誤差,從網絡的最終輸出端反向逐層回歸,利用損失函數的偏導調整每個單元的權重。這就是著名的BP使用的是類似的一個版本,稱為通過時間的反向傳播BPTT了調整過程,包括負責前一時刻(T-1)輸入值對應的每個單元的記憶的權重。
Yikes梯度消失問題
盡管在梯度下降算法BPTT(RNNs網絡),最終都遭受了嚴重的挫折——梯度消失問題。什麼是梯度消失問題呢,其基本思想其實很簡單。首先,來看一個梯度的概念,將梯度視為斜率。在訓練深層神經網絡的背景中,梯度值越大代表坡度越陡峭,係統能夠越快地下滑到終點線並完成訓練。但這也是研究者陷入困境的地方——斜坡太平坦時,無法進行快速的訓練。這對於深層網絡中的第一層而言特別關鍵,因為若第一層的梯度值為零,說明沒有了調整方向,無法調整相關的權重值來最下化損失函數,這一現象就是“梯度”。隨著梯度越來越小,訓練時間也會越來越長,類似於物理學中的沿直線運動,光滑表麵,小球會一直運動下去。
大的突破:長短期記憶(LSTM)
在九十年代後期,一個重大的突破解決了上述梯度消失問題,給RNN網絡發展帶來了第二次研究熱潮。這種大突破的中心思想是引入了單元LSTM
LSTMAI這些新單元或人造神經元RNN從一開始就記住了的輸入掛載在它們LSTM模擬,而不是數字,使的可以區分。換句話說,的曲線是連續的,可以找到的斜坡的LSTM特別和梯度下降所涉及的偏微積分。
LSTM訓練的來保留刪除LSTM重要的錯誤信息,以使梯度相對陡峭,從而訓練時間相對較短。這LSTMRNN蘋果許多其他RNN。
總結
-
(RNN)、與()時,。
- RNN網絡的發展曆程:第一代RNNs通過反向傳播和梯度下降算法達到了糾正錯誤的能力。但梯度消失問題阻止了RNN的發展;直到1997年,引入了一個基於LSTM的架構後,取得了大的突破。
-
作者信息
Jason Roell:軟件工程師,熱愛深度學習及其可改變技術的應用
Linkedinhttps://www.linkedin.com/in/jason-roell-47830817/
文章原標題《Understanding Recurrent Neural Networks: The Preferred Neural Network for Time-Series Data》,作者:Jason Roel譯者:海棠,審閱:袁虎
最後更新:2017-07-27 09:03:44