【深度学习】CNN算法
一.定義:
卷積神經(jīng)網(wǎng)絡(luò)(CNN),是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)(deep learning)的代表算法之一。
卷積神經(jīng)網(wǎng)絡(luò)具有表征能力,能夠按其階層結(jié)構(gòu)對(duì)輸入信息進(jìn)行平移不變分類,因此也被稱為“平移不變?nèi)斯ど窠?jīng)網(wǎng)絡(luò)。
二.CNN解決的問(wèn)題?
在CNN出現(xiàn)之前,圖像對(duì)于人工智能來(lái)說(shuō)是一個(gè)難題,有2個(gè)原因:
? ? ?1.圖像需要處理的數(shù)據(jù)量太大,導(dǎo)致成本很高,效率很低。
? ? ?2.圖像在數(shù)字化的過(guò)程中很難保留原有的特征,導(dǎo)致圖像處理的準(zhǔn)確率不高。
卷積神經(jīng)網(wǎng)絡(luò) – CNN 解決的第一個(gè)問(wèn)題就是「將復(fù)雜問(wèn)題簡(jiǎn)化」,把大量參數(shù)降維成少量參數(shù),再做處理。
三.CNN五層網(wǎng)絡(luò)結(jié)構(gòu)
? ? 1.數(shù)據(jù)輸入層
? ? 2.卷積層(提取圖像中的局部特征)
? ? 3.ReLU激勵(lì)層
? ? 4.池化層(降低參數(shù)量級(jí))
? ? 5.全連接層
?簡(jiǎn)單描述:卷積層負(fù)責(zé)提取圖像中的局部特征;池化層用來(lái)大幅降低參數(shù)量級(jí)(降維);全連接層類似傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的部分,用來(lái)輸出想要的結(jié)果。
卷積層:卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心, 大多數(shù)計(jì)算都是在卷積層中進(jìn)行的。
? ? ? 神經(jīng)網(wǎng)絡(luò)前部卷積層可以捕捉圖像局部、細(xì)節(jié)信息。輸出圖像的每個(gè)像素是感受到輸入圖像很小范圍數(shù)值進(jìn)行計(jì)算的結(jié)果。
? ? ?后面的卷積層感受野逐層加大,用于捕獲圖像更復(fù)雜抽象的信息。經(jīng)過(guò)多個(gè)卷積層的運(yùn)算,最后得到圖像在不同尺度的抽象表示。注意卷積層的參數(shù)規(guī)模固定。
??
池化層——數(shù)據(jù)降維,避免過(guò)擬合:
通常會(huì)在卷積層之間周期性插入一個(gè)池化層, 其作用是逐漸降低數(shù)據(jù)體的空間尺寸, 這樣就能夠減少網(wǎng)絡(luò)中參數(shù)的數(shù)量, 減少計(jì)算資源耗費(fèi), 同時(shí)也能夠有效地控制過(guò)擬合。
?
全連接層——輸出結(jié)果:
這個(gè)部分就是最后一步了,經(jīng)過(guò)卷積層和池化層處理過(guò)的數(shù)據(jù)輸入到全連接層,得到最終想要的結(jié)果。
經(jīng)過(guò)卷積層和池化層降維過(guò)的數(shù)據(jù),全連接層才能”跑得動(dòng)”,不然數(shù)據(jù)量太大,計(jì)算成本高,效率低下。
四.激活函數(shù)
激活函數(shù)(Activation Function),就是在人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元上運(yùn)行的函數(shù),負(fù)責(zé)將神經(jīng)元的輸入映射到輸出端。
?作用:
激活函數(shù)的主要作用是完成數(shù)據(jù)的非線性變換,解決線性模型的表達(dá)、分類能力不足的問(wèn)題。
激活函數(shù)的主要作用是改變之前數(shù)據(jù)的線性關(guān)系,如果網(wǎng)絡(luò)中全部是線性變換,則多層網(wǎng)絡(luò)可以通過(guò)矩陣變換,直接轉(zhuǎn)換成一層神經(jīng)網(wǎng)絡(luò)。
所以激活函數(shù)的存在,使得神經(jīng)網(wǎng)絡(luò)的“多層”有了實(shí)際的意義,使網(wǎng)絡(luò)更加強(qiáng)大,增加網(wǎng)絡(luò)的能力,使它可以學(xué)習(xí)復(fù)雜的事物,復(fù)雜的數(shù)據(jù),以及表示輸入輸出之間非線性的復(fù)雜的任意函數(shù)映射。
可以說(shuō)激活函數(shù)是人工神經(jīng)網(wǎng)絡(luò)的驅(qū)動(dòng)者。
五.CNN 的實(shí)際應(yīng)用:
總結(jié)
以上是生活随笔為你收集整理的【深度学习】CNN算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++/C中定义与声明的区别
- 下一篇: 深度学习CNN算法原理