1. 程式人生 > >【直觀理解】一文搞懂RNN(迴圈神經網路)基礎篇

【直觀理解】一文搞懂RNN(迴圈神經網路)基礎篇

0?wx_fmt=gif&wxfrom=5&wx_lazy=1

推薦閱讀時間8min~15min

主要內容簡介:神經網路基礎、為什麼需要RNN、RNN的具體結構、以及RNN應用和一些結論

1神經網路基礎

神經網路可以當做是能夠擬合任意函式的黑盒子,只要訓練資料足夠,給定特定的x,就能得到希望的y,結構圖如下:

640?wxfrom=5&wx_lazy=1

將神經網路模型訓練好之後,在輸入層給定一個x,通過網路之後就能夠在輸出層得到特定的y,那麼既然有了這麼強大的模型,為什麼還需要RNN(迴圈神經網路)呢?

2 為什麼需要RNN(迴圈神經網路)

他們都只能單獨的取處理一個個的輸入,前一個輸入和後一個輸入是完全沒有關係的。但是,某些任務需要能夠更好的處理序列的資訊,即前面的輸入和後面的輸入是有關係的。

比如,當我們在理解一句話意思時,孤立的理解這句話的每個詞是不夠的,我們需要處理這些詞連線起來的整個序列; 當我們處理視訊的時候,我們也不能只單獨的去分析每一幀,而要分析這些幀連線起來的整個序列。

以nlp的一個最簡單詞性標註任務來說,將我 吃 蘋果 三個單詞標註詞性為 我/nn 吃/v 蘋果/nn。

那麼這個任務的輸入就是:

我 吃 蘋果 (已經分詞好的句子)

這個任務的輸出是:

我/nn 吃/v 蘋果/nn(詞性標註好的句子)

對於這個任務來說,我們當然可以直接用普通的神經網路來做,給網路的訓練資料格式了就是我-> 我/nn 這樣的多個單獨的單詞->詞性標註好的單詞。

但是很明顯,一個句子中,前一個單詞其實對於當前單詞的詞性預測是有很大影響的,比如預測蘋果的時候,由於前面的吃是一個動詞,那麼很顯然蘋果作為名詞的概率就會遠大於動詞的概率,因為動詞後面接名詞很常見,而動詞後面接動詞很少見。

所以為了解決一些這樣類似的問題,能夠更好的處理序列的資訊,RNN就誕生了。

3 RNN結構

首先看一個簡單的迴圈神經網路如,它由輸入層、一個隱藏層和一個輸出層組成:

640?

不知道初學的同學能夠理解這個圖嗎,反正我剛開始學習的時候是懵逼的,每個結點到底代表的是一個值的輸入,還是說一層的向量結點集合,如何隱藏層又可以連線到自己,等等這些疑惑~這個圖是一個比較抽象的圖。

我們現在這樣來理解,如果把上面有W的那個帶箭頭的圈去掉,它就變成了最普通的全連線神經網路

x是一個向量,它表示輸入層的值(這裡面沒有畫出來表示神經元節點的圓圈);s是一個向量,它表示隱藏層的值(這裡隱藏層面畫了一個節點,你也可以想象這一層其實是多個節點,節點數與向量s的維度相同);

U是輸入層到隱藏層的權重矩陣,o也是一個向量,它表示輸出層的值;V是隱藏層到輸出層的權重矩陣

那麼,現在我們來看看W是什麼。迴圈神經網路隱藏層的值s不僅僅取決於當前這次的輸入x,還取決於上一次隱藏層的值s。權重矩陣 W就是隱藏層上一次的值作為這一次的輸入的權重。

我們給出這個抽象圖對應的具體圖:

640?

我們從上圖就能夠很清楚的看到,上一時刻的隱藏層是如何影響當前時刻的隱藏層的。

如果我們把上面的圖展開,迴圈神經網路也可以畫成下面這個樣子:

640?

現在看上去就比較清楚了,這個網路在t時刻接收到輸入  之後,隱藏層的值是  ,輸出值是  。關鍵一點是,  的值不僅僅取決於  ,還取決於  。我們可以用下面的公式來表示迴圈神經網路的計算方法:

用公式表示如下:

640?

4總結

好了,到這裡大概講解了RNN最基本的幾個知識點,能夠幫助大家直觀的感受RNN和了解為什麼需要RNN,後續總結它的反向求導知識點。

最後給出RNN的總括圖:

640?

致謝:夏沖和實驗室的小夥伴們 
參考:零基礎入門深度學習(5) - 迴圈神經網路(多謝這麼好的資料)

相關推薦

直觀理解RNN迴圈神經網路基礎

推薦閱讀時間8min~15min 主要內容簡介:神經網路基礎、為什麼需要RNN、RNN的具體結構、以及RNN應用和一些結論 1神經網路基礎 神經網路可以當做是能夠擬合任意函式的黑盒子,只要訓練資料足夠,給定特定的x,就能得到希望的y,結構圖如下: 將神經網路模型訓練好之後,在輸入層給定一

DL4J中文件/模型/RNN迴圈神經網路

DL4J中的迴圈神經網路 本文概述了在DL4J中如何使用迴圈神經網路的具體訓練特徵和實用性。本文假定對迴圈神經網路及其使用有一定了解,而不是對遞迴神經網路的介紹,並且假定你對它們的使用和術語有一些熟悉。 內容 基礎:資料和網路配置 RNN訓練特徵 通過時間截

詳解什麼是RNN迴圈神經網路

目錄  1. RNN怎麼來的?  2. RNN的網路結構及原理  3. RNN的改進1:雙向RNN  4. RNN的改進2:深層雙向RNN  4.1 Pyramidal RNN  5. RNN的訓練-BPTT  6. RNN與CNN的結合應用:看圖說話 

深度學習機器學習常用損失函數Loss Function

back and 們的 wiki 導出 歐氏距離 classes 自變量 關於 最近太忙已經好久沒有寫博客了,今天整理分享一篇關於損失函數的文章吧,以前對損失函數的理解不夠深入,沒有真正理解每個損失函數的特點以及應用範圍,如果文中有任何錯誤,請各位朋友指教,謝謝~

機器學習機器學習常用損失函式

損失函式(loss function)是用來估量模型的預測值f(x)與真實值Y的不一致程度,它是一個非負實值函式,通常使用L(Y, f(x))來表示,損失函式越小,模型的魯棒性就越好。損失函式是經驗風險函式的核心部分,也是結構風險函式重要組成部分。模型的結構風險函式包括了經驗風險項和正則項,通常可以

python迭代器iteror(__next__物件與可迭代iterable物件

一、定義區別 剛開始學的經常會被迭代器與可迭代物件弄混淆,下面清晰的介紹兩者的不同。 迭代器 Iterator (物件):如果一個物件同時擁有__iter__  和 __next__方法的(物件),也就是說可以被next()函式呼叫並不斷返回下一個值的物件稱為迭

科普雜談大資料的技術生態圈,Hadoop,hive,spark都有了

大資料本身是個很寬泛的概念,Hadoop生態圈(或者泛生態圈)基本上都是為了處理超過單機尺度的資料處理而誕生的。你可以把它比作一個廚房所以需要的各種工具。鍋碗瓢盆,各有各的用處,互相之間又有重合。你可以用湯鍋直接當碗吃飯喝湯,你可以用小刀或者刨子去皮。但是每個工具有自

智慧物流自動化立體倉庫

自動化立體倉庫,是物流倉儲中出現的新概念。利用立體倉庫裝置可實現倉庫高層合理化,存取自動化,操作

Java基本功String及其包裝類的實現原理

    String作為Java中最常用的引用型別,相對來說基本上都比較熟悉,無論在平時的編碼過程中還是在筆試面試中,String都很受到青睞,然而,在使用String過程中,又有較多需要注意的細節之處。   String的連線 @Testp

Java基本功final關鍵字的用法

本文主要介紹了final關鍵字的基本使用方法及原理 final關鍵字可以修飾類、方法和引用。 修飾類,該類不能被繼承。並且這個類的物件在堆中分配記憶體後地址不可變。 修飾方法,方法不能被子類重寫。 修飾引用,引用無法改變,對於基本

機器學習分類演算法常用評價指標

評價指標是針對將相同的資料,輸入不同的演算法模型,或者輸入不同引數的同一種演算法模型,而給出這個演算法或者引數好壞的定量指標。 在模型評估過程中,往往需要使用多種不同的指標進行評估,在諸多的評價指標中,大部分指標只能片面的反應模型的一部分效能,如果不能合理的運用評估指標,不僅不能發現模型本身的問題,而且會得出

HMM隱馬爾可夫模型

什麼是熵(Entropy) 簡單來說,熵是表示物質系統狀態的一種度量,用它老表徵系統的無序程度。熵越大,系統越無序,意味著系統結構和運動的不確定和無規則;反之,,熵越小,系統越有序,意味著具有確定和有規則的運動狀態。熵的中文意思是熱量被溫度除的商。負熵是物質系統有序化,組織化,複雜化狀態的一種度量。 熵最早來

夯實Java基礎系列6:抽象類和介面,從基礎到面試題,揭祕其本質區別!

目錄 抽象類介紹 為什麼要用抽象類 一個抽象類小故事 一個抽象類小遊戲 介面介紹 介面與類相似點: 介面與類的區別: 介面特性 抽象類和介面的區別 介面的使用: 介面最佳實踐:設計模式中的工廠模式 介面與抽象類的本質區別是什麼? 基本語法區別 設計思想區別 如何回答面試題:介面和抽象類的區別?

併發程式設計帶你讀深入理解Java記憶體模型面試必備

併發程式設計這一塊內容,是高階資深工程師必備知識點,25K起如果不懂併發程式設計,那基本到頂。但是併發程式設計內容龐雜,如何系統學

筆記深度學習

ML ≈ Looking for A function THREE STEPS FOR DL 1.define a set of function 2.goodness of function 3.pick the best func

交叉熵在機器學習中的使用,透徹理解交叉熵背後的直覺

關於交叉熵在loss函式中使用的理解 交叉熵(cross entropy)是深度學習中常用的一個概念,一般用來求目標與預測值之間的差距。以前做一些分類問題

支付支付清算

近幾年支付行業的水漲船高大家都有目共睹,於是湧入這塊新大陸深深耕耘著的人數也越來越多。今天小易就帶大家瞭解一下支付行業中比較基礎同時也是必須瞭解的一些知識。 參與機構 1中國人民銀行 又稱央媽,支付領域的王者兼創造者,釋出各項政策規範的存在。央行並不涉及支付方面

CNN卷積神經網路CNN

本文為大家解讀如何簡單明瞭的解釋卷積,並且分享了學習中的一些方法案例。 首先文章的提綱為: CNN栗子鎮樓 What is CNN             什麼是卷積             什麼是池化 Why CNN 對

晶片:真實的中國晶片產業

這樣看來,中國的IC製程技術比世界最先進水平落後兩代以上,時間上落後三年多(臺積電和三星的14/16納米制程工藝都是在2015年開始量產的)。這實際上就是美國對中國大陸IC製造裝置的禁運目標。IC製造裝置種類非常多,價格都非常昂貴,其中最重要的是光刻機。光刻機的生產廠家並不多,在28納米以上線寬的時代,日本的

乾貨合集特徵工程

點選上方藍字關注作者:July說明:本文是七月線上機器學習第九期第五次課 特徵工程的課程筆記,課