一天搞懂深度学习--神经网络的类型
前言
這是《一天搞懂深度學(xué)習(xí)》的第三部分,主要介紹多種多樣的神經(jīng)網(wǎng)絡(luò)。
一、CNN(Convolutional Neural Network)
(1)CNN的概念
CNN,常被稱作卷積神經(jīng)網(wǎng)絡(luò),經(jīng)常被用于圖像處理。
CNN最關(guān)鍵的兩個步驟是:卷積與池化。以下是它的過程圖:
CNN之所以能夠進行卷積,有兩點理由:1.圖像的模式會遠遠的小于整張圖片;2.圖像中相同的模式會出現(xiàn)在不同的位置。
CNN之所以能夠進行池化,主要是因為圖像中有很多冗余點,即使我們對它進行subsamble也不會改變整張圖片的模式。
(2)卷積
所謂卷積,就是預(yù)定義比原始矩陣更小的矩陣,然后用這個矩陣與原來的輸入矩陣進行矩陣乘法??上攵?,通過卷積之后矩陣的大小肯定會變小。假設(shè)原來的矩陣大小的是m*m,卷積的矩陣大小是n*n,那么卷積之后的矩陣大小為(m-n+1)(m-n+1)。如果你想要保持卷積后的矩陣的大小和原來的矩陣大小相等,那么你就要使用zero padding技術(shù)。
(3)池化
這里的池化一般指的是最大池化。最大池化,就是預(yù)先定義一個k*k的矩陣,然后確定卷積后的矩陣在這個k*k的矩陣中的最大值。池化后的矩陣大小為(m-n+1)/k*(m-n+1)/k。
?。?)應(yīng)用
CNN主要運用于圖像處理,在Playing go中,運用了CNN的卷積技術(shù),但是沒有用到池化技術(shù)。
二、RNN(Recureent nertual network)
RNN,也叫做循環(huán)神經(jīng)網(wǎng)絡(luò)模型。RNN用于處理時序數(shù)據(jù),因為它能夠記住歷史信息。
RNN的類型有很多,典型的RNN模型指的是:當(dāng)前隱層節(jié)點的輸出被存貯,而后作用于當(dāng)前層節(jié)點。
由RNN衍生出了很多不同類型的RNN,不同類型的特征和定義,請參考同一分類下RNN類型文章:
(1)Bidirectional RNN
(2)LSTM
?。?)訓(xùn)練過程
因為利用了歷史信息,所有RNN的訓(xùn)練不能簡單的使用后向傳播算法,而是要使用改進的BPTT(Back Propagation through time)。
RNN在訓(xùn)練的過程也會存在梯度消失的問題,LSTM可以克服這個問題。只要LSTM的forget gated還在的話,就不會出現(xiàn)梯度小時問題。比RNN更簡單的GRU也有這種效果。
(4)應(yīng)用
機器翻譯,video caption generation, 看圖說話。。。。
總結(jié)
以上是生活随笔為你收集整理的一天搞懂深度学习--神经网络的类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Cloud Platform a
- 下一篇: javaScript数组使用字符串作为下