精講深度學習RNN三大核心點,三分鐘掌握迴圈神經網路
本文將剖析迴圈神經網路(RNN)的工作原理,精講迴圈神經網路的特點和實現方式。野蠻智慧,小白也能看懂的人工智慧。
迴圈神經網路從何而來?
我在我的這篇文章介紹了卷積神經網路(CNN)卷積神經網路(CNN)核心知識點彙總,三分鐘讓你從小白到精通,卷積神經網路主要用來處理計算機視覺問題,在計算機“看”的過程中,主要是進行特徵的對比,透過特徵的對比,可以分辨出來這個圖片(影片)是哪一種,是不是我們想要的。這在很大程度可以幫助我們實現計算機的智慧化。
但是單單靠計算機視覺能力並不能實現自主的智慧,其他人類能力的實現也是很重要的。例如,人類可以根據一個故事的開頭猜到一個故事的結尾;可以根據對方說的話,揣測他背後的目的;這就是人類的分析能力,根據前因後果、語言的規則、說話的習慣,我們可以得到很多重要的資訊。智者往往處理事情有理有據,層次分明,我們期待計算機也有這樣的能力。所以學者們設計了神奇的迴圈神經網路。
迴圈神經網路的最大創新點
簡單來說,序列指的就是前因後果。這種分辨因果的能力,對於計算機的智慧化具有重要意義,所以序列問題倍受計算機學界關注。為了解決序列問題,迴圈神經網路在1982年被提出,由於當時計算能力不足,無法實現。所以很長一段時間,序列問題的解決方案一直被傳統機器學習演算法所壟斷,但是機器學習依賴於人工提取特徵,這也使得序列問題一直沒有被很好的解決。
RNN的第一大創新點是與深度學習結合,自動提取特徵。 深度學習的核心本質是自動提取特徵,這是深度學習對比於機器學習的優勢所在,因此在深度學習理論成熟後,迴圈神經網路快速發展,獲得了成熟的應用。例如,谷歌的翻譯系統拋棄掉原來的機器學習演算法,採用RNN,獲得了遠遠好於之前的效果。
RNN的第二大創新點是,RNN的輸入不僅有資料,也有序列。 一個RNN網路執行過程中,資料輸入進來後,就會被網路記住,然後把這個被記住的資料表達為一個向量,下一次再輸入資料,就繼續填到這個向量裡,這樣反覆迴圈,這個向量就記住了這些資料的先來後到,這個向量叫做 隱狀態 。所以說,RNN的輸入包含兩部分,第一部分是資料,第二部分是上一時刻的隱狀態。
迴圈神經網路記憶的具體過程
上圖基本概括了迴圈神經網路的核心。假設我們輸入一句話:我愛北京,這句話就會被分為三個詞我,愛,北京,第一時刻,“我”也就是X1進入系統,經過分解產生一個隱狀態h1,接下來,這個隱狀態h2和第二個詞X2一起輸入網路,再經過運算,又產生了第二個時刻的狀態h2,然後X3再和h2一起輸入,最終得到h3作為輸出。h3作為一個向量,表示了這句話的內容。用一句總結, 當前時刻的資料 + 上一時刻的狀態 = 當前時刻的狀態。
公式表示為:h(i+1) = f { [w*x + b] ,[W*h(i) + B] },公式中“w”表示資料x的權重,b表示資料x的偏置值。“W”表示隱狀態的權重,B表示隱狀態的偏置值。這兩部分進過函式f就得到了下一個隱狀態,經過迴圈,最終得到最終的隱狀態。
迴圈神經網路的具體應用
既然是解決了序列問題,那麼對順序有依賴的問題都將迎刃而解。
機器翻譯系統 :把一種語言經過上述過程,變成一個隱狀態向量,然後再反向用另一種語言解釋出來,就得到了翻譯的結果。你一直以為高大上的翻譯系統其實就是這麼簡單。在小編的後續文章中,會專門寫一篇文章,附加程式碼,來手把手帶你做一個自己的翻譯系統。
語音識別 ,人說的話,其實就是一組音訊,如果每個固定的頻率表示一定的含義,那麼就可以得到語音的全部表達了。解決這一問題的關鍵在於,這樣的特徵是用語言描述不清楚的,所以可以交給深度學習自動提取音訊特徵,進行學習,利用RNN的序列特性,就可以清晰表達所說的內容。
除了以上應用,迴圈神經網路在自然語言處理等其他眾多領域,也有十分可觀的前景。所以下一篇文章,我會帶領大家用程式碼敲出來一個迴圈神經網路。讓理論紮根於實踐!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2637963/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度學習之RNN(迴圈神經網路)深度學習RNN神經網路
- 迴圈神經網路(RNN)神經網路RNN
- 迴圈神經網路 RNN神經網路RNN
- 深度學習迴圈神經網路詳解深度學習神經網路
- NLP與深度學習(二)迴圈神經網路深度學習神經網路
- (一)線性迴圈神經網路(RNN)神經網路RNN
- (二)非線性迴圈神經網路(RNN)神經網路RNN
- 迴圈神經網路(Recurrent Neural Network,RNN)神經網路RNN
- 4.5 RNN迴圈神經網路(recurrent neural network)RNN神經網路
- Recurrent Neural Networks(RNN) 迴圈神經網路初探RNN神經網路
- 深度學習四從迴圈神經網路入手學習LSTM及GRU深度學習神經網路
- 從網路架構方面簡析迴圈神經網路RNN架構神經網路RNN
- [譯] RNN 迴圈神經網路系列 2:文字分類RNN神經網路文字分類
- 迴圈神經網路(RNN,Recurrent Neural Networks)介紹神經網路RNN
- RNN 迴圈神經網路系列 5: 自定義單元RNN神經網路
- 30分鐘講清楚深度神經網路神經網路
- 迴圈神經網路LSTM RNN迴歸:sin曲線預測神經網路RNN
- 迴圈神經網路神經網路
- RNN-迴圈神經網路和LSTM_01基礎RNN神經網路
- TensorFlow學習筆記(8):基於MNIST資料的迴圈神經網路RNN筆記神經網路RNN
- 【神經網路篇】--RNN遞迴神經網路初始與詳解神經網路RNN遞迴
- [譯] RNN 迴圈神經網路系列 3:編碼、解碼器RNN神經網路
- 關於 RNN 迴圈神經網路的反向傳播求導RNN神經網路反向傳播求導
- 深度學習與CV教程(11) | 迴圈神經網路及視覺應用深度學習神經網路視覺
- 神經網路和深度學習神經網路深度學習
- 從前饋到反饋:解析迴圈神經網路(RNN)及其tricks神經網路RNN
- 技術概述深度學習:詳解前饋、卷積和迴圈神經網路深度學習卷積神經網路
- CICC科普欄目|神經網路淺講:從神經元到深度學習神經網路深度學習
- 迴圈神經網路介紹神經網路
- 迴圈神經網路入門神經網路
- 深度學習系列(2)——神經網路與深度學習深度學習神經網路
- 吳恩達《序列模型》課程筆記(1)– 迴圈神經網路(RNN)吳恩達模型筆記神經網路RNN
- 迴圈神經網路(RNN)模型與前向反向傳播演算法神經網路RNN模型反向傳播演算法
- 【深度學習】神經網路入門深度學習神經網路
- 再聊神經網路與深度學習神經網路深度學習
- 深度學習與圖神經網路深度學習神經網路
- AI之(神經網路+深度學習)AI神經網路深度學習
- 【深度學習篇】--神經網路中的卷積神經網路深度學習神經網路卷積