該文為卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)介紹
卷積神經(jīng)網(wǎng)絡(luò)是源于人工神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法,在深度學(xué)習(xí)中是極具代表性的網(wǎng)絡(luò)結(jié)構(gòu)。CNN相較于傳統(tǒng)的算法避免了繁瑣的前期處理(人工提取訓(xùn)練樣本特征等),可以直接作用于原始的訓(xùn)練樣本上(如圖片、語音、文本等)。
1)卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)
2)卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn)
3)卷積神經(jīng)網(wǎng)絡(luò)參數(shù)更新
4)卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用
卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)包含輸入層、卷積層、池化層、全連接層和輸出層。卷積層和池化層都能實(shí)現(xiàn)將特征映射降維,即特征提取。為了提取較多的特征,我們將會(huì)自行設(shè)置卷積層中卷積核的個(gè)數(shù),因此,特征映射的數(shù)量往往會(huì)比較多。卷積得到的特征進(jìn)入池化降維,然后展開并排列成為一個(gè)向量,這就是自動(dòng)提取的特征向量,再進(jìn)入分類器。分類器通常由一個(gè)全連接前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成,特征向量作為該分類器的輸入,輸出為分類器以最大概率判定該特征樣本的類別。
卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),如圖3.1所示:
1)輸入層
該層是將輸入的圖片、文本或者語音等進(jìn)行預(yù)處理,轉(zhuǎn)化為計(jì)算機(jī)能夠理解的數(shù)值型數(shù)據(jù)。例如,當(dāng)輸入數(shù)據(jù)為文本類型時(shí),輸入層的工作應(yīng)該會(huì)包括分詞、去停用詞、文本表示等。
2)卷積層
卷積層是由多個(gè)卷積過程組成,而同一個(gè)卷積過程是通過同一個(gè)卷積核在輸入數(shù)據(jù)矩陣上按照步長移動(dòng),兩者對(duì)應(yīng)數(shù)值相乘再求和,得到一個(gè)降維新矩陣,當(dāng)步長為1時(shí),這個(gè)新矩陣的維度=輸入矩陣維度-卷積核矩陣維度+1。降低噪聲,使原始特征中某些特征增強(qiáng)。此外,多個(gè)卷積過程得到多個(gè)降維新矩陣,這也相當(dāng)于增加了訓(xùn)練集,對(duì)模型進(jìn)行數(shù)據(jù)增量訓(xùn)練,使模型更穩(wěn)健。
如圖3.2,圖中輸入矩陣大小為5*5,卷積核大小為3*3,從左往右以步長為1的大小移動(dòng),從上往下也以同樣的步長移動(dòng),然后與之對(duì)應(yīng)所覆蓋的輸入矩陣相乘再求和。得到的降維新矩陣大小為3*3。圖上所用到的輸入矩陣為[1,1,1;0,1,1;0,0,1],卷積核為[1,0,1;0,1,0;1,0,1],第一個(gè)卷積,相乘求和為:
以此類推,該卷積所得卷積特征層為:[4,3,4;2,4,3;2,3,4]
若有多個(gè)卷積核,則每個(gè)卷積核都在輸入矩陣上進(jìn)行卷積,也就得到多個(gè)卷積特征矩陣。
3)激活層
在進(jìn)入池化層前,需要通過一個(gè)激活函數(shù)判斷卷積后的特征輸出是否到達(dá)閾值,是則保留特征,反之則去除,這也是一種特征選擇的體現(xiàn)。同時(shí)加入非線性因素,使得模型更具有泛化能力。常用的激活函數(shù)有:
4)池化層
池化是作用于卷積激活所得的特征矩陣上,其主要作用是去除該特征矩陣中不重要的特征信息,進(jìn)而減少網(wǎng)絡(luò)參數(shù)的量,減少過擬合。池化過程也可看成一個(gè)特殊的卷積過程,常用的方法有最大池化和均值池化。如圖,在步長為2的最大池化中,選取最大的特征值保留,其余就忽略掉。在步長為2的平均池化中,對(duì)每個(gè)池化窗口里的特征值進(jìn)行平均,取平均值保留。
5)扁平化
扁平化又稱拉直,是將池化后的特征結(jié)果壓縮并拉直為一維向量,作為全連接層的輸入。如圖,以最大池化結(jié)果為例:
6)全連接層
在進(jìn)入全連接層之前,可設(shè)定一個(gè)Dropout值,將扁平化的一維特征向量隨機(jī)去除一部分特征值,這是為防止訓(xùn)練模型的過擬合。即如圖:
7)softmax層
softmax層是用于分類的,它將全連接的輸出映射在區(qū)間為(0,1)內(nèi),可看成概率來理解,概率大所對(duì)應(yīng)的位置就是輸入矩陣的類別。計(jì)算方法為:
以上就是卷積神經(jīng)網(wǎng)絡(luò)的前向過程,當(dāng)然卷積層和池化層也可以有多個(gè),如VGG16和VGG19,它們的卷積層和池化層都是多層,可以一層卷積層后緊接一層池化層,也可以多個(gè)卷積激活層后接多個(gè)池化層。結(jié)構(gòu)越復(fù)雜,雖然在訓(xùn)練集上擬合效果較好,但運(yùn)行速度會(huì)減慢。
卷積神經(jīng)網(wǎng)絡(luò)是一個(gè)有監(jiān)督的學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),通過標(biāo)簽與網(wǎng)絡(luò)輸出值間所使用損失函數(shù)衡量的損失反饋回去進(jìn)行參數(shù)更新。
2.1梯度下降
大數(shù)據(jù)的時(shí)代,需要訓(xùn)練的樣本非常大,傳統(tǒng)的參數(shù)優(yōu)化計(jì)算速度跟不上,且難以找到最優(yōu)解,故在深度學(xué)習(xí)中常用的是梯度下降法。
為評(píng)估模型擬合效果,通常先使用損失函數(shù)來度量擬合程度,損失函數(shù)越小,就意味著擬合程度就越好,對(duì)應(yīng)的模型參數(shù)也就是最優(yōu)參數(shù)。通過最小化損失函數(shù)對(duì)各參數(shù)求導(dǎo)更新參數(shù),可一步一步迭代求最優(yōu)解,得到最小損失函數(shù)和其對(duì)應(yīng)的模型參數(shù)值。梯度下降法根據(jù)采用不同樣本量的方法可分為:全量梯度下降法、隨機(jī)梯度下降法、小批量梯度下降法。
2.1.1 全量梯度下降方法
每次都需要使用整個(gè)訓(xùn)練集進(jìn)行學(xué)習(xí),其優(yōu)點(diǎn)在于每次更新都會(huì)朝著全局最優(yōu)的方向前進(jìn)。最后能夠保證,若是凸函數(shù),則收斂于全局最優(yōu)點(diǎn),若是非凸函數(shù),則可能會(huì)收斂于局部最優(yōu)點(diǎn)。全量梯度下降的缺點(diǎn)在于每次學(xué)習(xí)時(shí)間太長,如果訓(xùn)練集很大,就會(huì)需要消耗大量的內(nèi)存,影響運(yùn)行速度,并且不能進(jìn)行在線模型參數(shù)更新。
這三種梯度下降法,各有千秋,從訓(xùn)練速度來說,隨機(jī)梯度下降最快,小批量梯度下降次之,全量梯度下降最慢。原因在于:全量梯度下降采用全部訓(xùn)練樣本,訓(xùn)練速度慢,但可以收斂到全局最優(yōu)解。隨機(jī)梯度下降法每次只隨機(jī)采用一個(gè)樣本來進(jìn)行迭代,雖然訓(xùn)練速度很快,但由于僅僅用一個(gè)樣本決定梯度方向,導(dǎo)致解很有可能不是全局最優(yōu)解,而是局部最優(yōu)解,并且隨機(jī)性過強(qiáng),不能很快收斂。小批量梯度下降綜合前兩者的優(yōu)點(diǎn),速度比全量梯度下降快,收斂速度也比隨機(jī)梯度下降快,不容易陷入局部最優(yōu)。
卷積神經(jīng)網(wǎng)絡(luò)的總結(jié),主要有以下幾個(gè)特點(diǎn):
a)局部感知。利用神經(jīng)網(wǎng)絡(luò)的分層結(jié)構(gòu)與局部連接的特點(diǎn),賦予一組相同的網(wǎng)絡(luò)權(quán)重,作用于上層網(wǎng)絡(luò)不同位置的輸入,映射得到一個(gè)維度較低點(diǎn)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。這一結(jié)構(gòu)降低了網(wǎng)絡(luò)參數(shù)量,同時(shí)對(duì)局部空間輸入產(chǎn)生了很強(qiáng)的響應(yīng),可將這些局部特征堆疊起來,更能反映其輸入值的本質(zhì)特征和局部特征。
b)權(quán)值共享。卷積核的大小遠(yuǎn)小于輸入矩陣的大小,它在同一輸入結(jié)構(gòu)中以相同步長反復(fù)移動(dòng)使用的,使得輸入特征具有相同的權(quán)重和偏置,形成對(duì)應(yīng)的特征映射。這樣的設(shè)置大大減少了學(xué)習(xí)參數(shù)的數(shù)量,提高學(xué)習(xí)效率,有很好的泛化能力。
3.1優(yōu)點(diǎn)
1.共享卷積核,對(duì)高維數(shù)據(jù)處理無壓力;
2.無需手動(dòng)選取特征,訓(xùn)練好權(quán)重,即得特征;
3.分類效果好
3.2缺點(diǎn)
1、需要調(diào)參,需要大量樣本量,訓(xùn)練最好要GPU;
2、物理含義不明確
1)自然語言處理
2)計(jì)算機(jī)視覺
3)語音識(shí)別
參考文獻(xiàn)
[1] https://www.cnblogs.com/xingkongyihao/p/9489635.html
[2] https://blog.csdn.net/chansonzhang/article/details/84674179
[3] https://blog.csdn.net/yunpiao123456/article/details/52437794
[4] https://blog.csdn.net/jiaoyangwm/article/details/80011656
(部分文字、圖片來自網(wǎng)絡(luò),如涉及侵權(quán),請(qǐng)及時(shí)與我們聯(lián)系,我們會(huì)在第一時(shí)間刪除或處理侵權(quán)內(nèi)容。電話:4006770986 負(fù)責(zé)人:張明)