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