1樓:可可噠
寫一點個人理解吧。
CNN
它是以「層」(layer)為單位的,每一層的結構可以完全不一樣。常見的CNN層有卷積層、池化層、softmax層、池化層;這些基礎層之上還有諸如ResNet的遠連線,GoogLeNet的Inception層,用來實現一些特定的功能(深層網路、多尺度特徵提取等)。
RNN
「層」的概念被弱化了,與之相對突出的是「單元」(cell)的概念。之所以叫Recurrent,就是乙個重複的cell自己連自己,每一層的輸入尺寸除了新加入的x以外,還有上乙個時期的啟用值a。這樣它就「記住了」在一串串行中之前傳進來的資訊。
高階的RNN則通過「門」(Gate)來實現特定的功能。具體的內容我還沒有非常理解,只實現了一下LSTM的網路架構。
經典的RNN網路比如LSTM和GRU,通過加入控制門,預防梯度消失問題。讓非常久遠以前的資訊也可以被記住,傳給後續的單元。
我個人覺得這個概念有點像Resnet,把好幾層以前的輸出傳給後一層,但是相比於ResNet人工設計該層用哪些層的前續資訊,LSTM中則是通過訓練引數,交給網路自行決定在哪個時間「開啟」特定的功能。
2樓:骨頭塊
我認為模型內部結構取決於設計模型的基本假設。
cnn的基本假設是平移不變性
rnn的基本假設是時變性
dnn的基本假設(事實)是深度比寬度有更強的表達能力。
所以cnn的經典結構是不同大小的卷積核,rnn的典型結構是cell兩者結合dnn就有了cnn上的deep residual learning, rnn就有了highway network。
用途結合模型假設(模型性質),符合這類性質都可以在此基礎上做baseline試水。
膜前人工作。
3樓:木一水
CNN通過卷積核與原始訊號的卷積操作,實現對原始訊號的乙個鄰域範圍內的運算,主要用在影象處理領域。
RNN加入了時間序列,不僅有上下通路,還有左右通路,也就是當前時刻的值不只取決於前一層的輸入值,也取決於上一時刻自身的值,主要用在語音識別領域。LSTM(long short-term memory)是RNN的擴充套件,感興趣可以了解一下。
DNN是乙個概念,就是說網路深度可以很深,網路結構可以用CNN(深度卷積神經網路),RNN(深度迴圈神經網路),FNN(全連線神經網路),也可以採用自創的結構,至於多深叫做深度網路,還沒有乙個明確的定義。深度神經網路是近兩年火起來的,主要是採用了一些方法克服了當網路層次加深時,傳統BP反向傳播過程中的梯度消失現象,使得梯度可以反向傳播很多層。比如採用residual learning,將前幾層的梯度直接加在本層作補充,或者採用Relu函式代替sigmoid/tanh函式,避免輸入值較大時,經過非線性啟用函式後梯度變為很小或為0的情況,Relu在正值區間內為線性函式,梯度始終為1。
4樓:mileistone
DNN指的是包含多個隱層的神經網路,如圖1所示,根據神經元的特點,可以分為MLP、CNNs、RNNs等,下文在區分三者的時候,都從神經元的角度來講解。MLP是最樸素的DNN,CNNs是encode了空間相關性的DNN,RNNs是encode進了時間相關性的DNN。
MLP是最簡單的DNN,它的每一層其實就是fc層(fully connected layer),其神經元見圖2所示。
CNNs相對於MLP而言,多了乙個先驗知識,即資料之間存在空間相關性,比如影象,藍天附近的畫素點是白雲的概率會大於是水桶的概率。濾波器會掃過整張影象,在掃的過程中,引數共享。圖3、圖4、圖5、圖6是乙個3x3的輸入經過乙個2x2的conv的過程,該conv的stride為1,padding為0。
圖7是最後的計算結果。
RNNs相對於MLP而言,也多了乙個先驗知識,即資料之間存在時間相關性,比如一段文字,前面的字是「上」,後面的字是「學」概率更大,是「狗」的概率很小。RNNs神經元的輸入會有多個time step,每個time step的輸入進入神經元中時會共享引數。圖8是乙個典型的RNNs示意圖,圖9是將圖8在時間上展開的結果,這裡只展開了兩步。
5樓:ChihYuanTSENG
談談自己的一些認識吧
學得不久理解可能有所偏頗
1(DNN)深度神經網路
「深度」是個相對概念,並沒有固定的定義。在語音識別中4層網路就能夠被認為是「較深的」,而在影象識別中20層以上的網路也很常見。
CNN和RNN都可以是DNN,如果DNN是全連線的話,其實就是個多層感知器而已,不過得容易造成梯度消失。
2 (CNN) 卷積神經網路
全連線的DNN的結構裡下層神經元和所有上層神經元都能夠形成連線,帶來的潛在問題是引數數量的膨脹。不僅容易過擬合,而且極容易陷入區域性最優。另外,影象中有固有的區域性模式(比如輪廓、邊界,人的眼睛、鼻子、嘴等)可以利用,顯然應該將影象處理中的概念和神經網路技術相結合。
對於CNN來說,並不是所有上下層神經元都能直接相連,而是通過「卷積核」作為中介。同乙個卷積核在所有影象內是共享的,影象通過卷積操作後仍然保留原先的位置關係。對於影象,如果沒有卷積操作,學習的參數量是災難級的。
CNN之所以用於影象識別,正是由於CNN模型限制了引數的個數並挖掘了區域性結構的這個特點。此外,在卷積層後的池化層(一般是用maxpooling)
可以進一步提取特徵,降低維度。
3 (RNN)迴圈神經網路
全連線的DNN還存在的另乙個問題就是無法對時間序列上的變化進行建模。然而,樣本出現的時間順序對於自然語言處理、語音識別、手寫體識別等應用非常重要。對了適應這種需求,就出現了另一種神經網路結構——迴圈神經網路RNN。
而在RNN中,神經元的輸出可以在下乙個時間戳直接作用到自身。
RNN可以看成乙個在時間上傳遞的神經網路,它的深度是時間的長度。
6樓:Walker
這問題問得挺沒有意思的,如果換做是問哈利波特和魔戒的內部結構有什麼區別?難道我要把兩個故事分別說一遍,然後最後總結說完全沒有關係麼?還是讓題主先去把這兩本書都讀了,然後再來問問題呢?
當然如果你覺得這兩本書太長你不想讀,連電影都不想看,就是想知道兩者結構的區別,那還是別在意內部結構了。
7樓:臉雲
DNN 一般說來是泛稱吧,
CNN 卷積擅長從區域性特徵逼近整體特徵,
RNN 是 Recurrent 感覺譯作迴圈神經網路怪怪的,計算機術語裡迴圈一般是同一層次的,Recurrent 其實是時間遞迴,這個擅長對付時間序列。
8樓:顧雲松
推薦一款最易用中文excel神經網路軟體包,有BP、RBF、PNN、GRNN、Elman、SOM、LVQ七種神經網路功能。一鍵操作,易用易懂。PLS+Excel+Word,易用、易懂的偏最小二乘多元回歸軟體。
9樓:David 9
這篇部落格寫的還行, 可以看看
Pycon 2016 tensorflow 研討會總結 -- tensorflow 手把手入門, 用"人話"解釋CNN #第三講 CNN
10樓:張蕊
CNN 專門解決影象問題的,可用把它看作特徵提取層,放在輸入層上,最後用MLP 做分類。
RNN 專門解決時間序列問題的,用來提取時間序列資訊,放在特徵提取層(如CNN)之後。
DNN 說白了就是多層網路,只是用了很多技巧,讓它能夠 deep 。
工具及教程:
tensorflow.org/versions/r0.9/tutorials/index.html不用謝
11樓:
看到ANN,DNN,CNN,RNN這幾個神經網路的概念,覺得好簡單,用個例子,用R語言、或者python演算法去解決,就歇菜了。
12樓:
想學專業知識就要少上知乎多看書
Stanford University CS231n: Convolutional Neural Networks for Visual Recognition
13樓:
DNN以神經網路為載體,重在深度,可以說是乙個統稱。
RNN,回歸型網路,用於序列資料,並且有了一定的記憶效應,輔之以lstm。
CNN應該側重空間對映,影象資料尤為貼合此場景。
14樓:
在序列訊號的應用上,CNN是只響應預先設定的訊號長度(輸入向量的長度),RNN的響應長度是學習出來的。
CNN對特徵的響應是線性的,RNN在這個遞進方向上是非線性響應的。這也帶來了很大的差別。
如何理解卷積神經網路(CNN)中的卷積和池化?
施念 我的理解 乙個個卷積核相當於對影象進行區域性特徵提取,從而產生不同的feature map,具體的,在滑動過程中,某pixel所在的卷積區域與卷積核相似 相關 程度大的得到的值越大。多層卷積相當於進行深層次 高維度,更抽象 的特徵提取。遲化層相當於對之前卷積提取到的每個feature map的...
深度學習卷積神經網路優點
以下內容參考了Stacked convolutional auto encoders for hierarchical feature extraction,Jonathan Masci,Ueli Meier,Dan Ciresan,and J urgen Schmidhuber,2011 In v...
如何解釋 卷積神經網路 ?
智星雲服務 卷積神經網路 Convolutional Neural Network,CNN 是一種前饋神經網路,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,1 對於大型影象處理有出色表現。卷積神經網路由乙個或多個卷積層和頂端的全連通層 對應經典的神經網路 組成,同時也包括關聯權重和池化層 po...