CNN 解析 --唐宇迪
生活随笔
收集整理的這篇文章主要介紹了
CNN 解析 --唐宇迪
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- 1 卷積過(guò)程大概是這樣,注意有深度信息。
- 2.卷積的計(jì)算過(guò)程,注意卷積的深度要和圖像的通道數(shù)相同
- 3.說(shuō)到卷積,一定要提到下面這張經(jīng)典的圖
-這張圖的意思,大概就是一個(gè)RGB三通道的圖,conv層是兩個(gè)filter組成的卷積,維度都是3,最后經(jīng)過(guò)內(nèi)積以及加和得到兩個(gè)特征圖。
-大家也有注意到,本來(lái)我的圖像是5*5的,添加了一圈(padding=0),這是因?yàn)榫矸e會(huì)重點(diǎn)計(jì)算靠近中心的像素點(diǎn),忽=忽視邊界點(diǎn),補(bǔ)上padding是為了更好的利用邊界點(diǎn),這樣不容易丟失特征信息。
-卷積后的特征圖往往會(huì)變小,補(bǔ)上padding=0也會(huì)使特征圖不會(huì)變化,壓縮和降維的操作交給pool層去做即可。
- 4 首先提取圖像的邊緣信息等局部信息,之后再對(duì)局部信息進(jìn)行拼接提取更高層的特征。
- 5.每個(gè)卷積層有不同數(shù)量的卷積核,一個(gè)filter輸出一個(gè)特征層
- 特征圖大小計(jì)算公式,其中W1、H1表示輸入的寬度、長(zhǎng)度;W2、H2表示輸出特征圖的寬度、長(zhǎng)度; F表示卷積核長(zhǎng)和寬的大小;S表示滑動(dòng)窗口的步長(zhǎng);P表示邊界填充(加幾圈0)
- 6.卷積參數(shù)共享
- 每個(gè)卷積層有不同的卷積核,每個(gè)卷積核權(quán)重矩陣都不相同,但當(dāng)每個(gè)卷積層對(duì)圖像進(jìn)行卷積運(yùn)算的時(shí)候,所有區(qū)域都使用同一個(gè)權(quán)重矩陣,因?yàn)椴豢赡懿煌瑓^(qū)域使用不同的權(quán)重矩陣,這樣參數(shù)過(guò)多。
- 每個(gè)卷積核都有自己的bias.
- 池化層,對(duì)特征圖降維和壓縮
- 卷積的過(guò)程就是,特征圖不斷變多,尺度不斷被壓縮。
- 7.如下是Alexnet的架構(gòu)
- 最后幾層FC是全連接層,用于分類,全連接層的輸入是一位向量,把特征圖模塊的深度轉(zhuǎn)換到第三個(gè)維度,比如[323210,5]
;含義就是將size:32*32,depth:10 的特征圖模塊壓縮到一維,然后分類成5個(gè)類別。
- 8.感受野
- 感受野,就是可以推算出當(dāng)前特征圖的一個(gè)數(shù)據(jù)是由原始輸入層的多少個(gè)數(shù)據(jù)卷積輸出的。
- 下圖的第三次卷積后的一個(gè)數(shù)據(jù)由原始輸入5*5的size得到。
- 這時(shí)候就有個(gè)疑問(wèn),為什么不直接用5*5的卷積層輸出結(jié)果,而是用這么多conv層呢,這樣不會(huì)使速度變慢嗎?
- 其實(shí)神經(jīng)網(wǎng)絡(luò)的運(yùn)行速度是由參數(shù)決定的,多個(gè)小conv層往往會(huì)有更少的參數(shù)
- 很明顯,堆疊小的卷積核所需的參數(shù)更少一些,并且卷積過(guò)程越多,特征提取 也會(huì)越細(xì)致,由于每個(gè)conv后面跟一個(gè)RELU層,所以加入的非線性變換也隨著增多。
- 那是不是層數(shù)越多,準(zhǔn)確率越高呢?
- 并不是這樣的。
- 這是為了可以有效地堆疊網(wǎng)絡(luò)深度,引入Resnet 殘差網(wǎng)絡(luò)。
- 當(dāng)堆疊的層數(shù)輸出的準(zhǔn)確率未添加的要小時(shí),使堆疊的層數(shù)的權(quán)重變小,這樣保證網(wǎng)絡(luò)的準(zhǔn)確率至少不會(huì)比原來(lái)差。
- 這里是34層的resnet,但有沒有注意到有虛線出現(xiàn),這是因?yàn)椴煌疃鹊奶卣鲗雍蜔o(wú)法相加的,可能添加的conv層維度f(wàn)ilter變多,這樣就無(wú)法和原來(lái)的輸出相加,這就需要對(duì)原有的輸入做一次conv改變特征層維度 。
- 8遷移學(xué)習(xí)
- 有個(gè)小技巧,在訓(xùn)練我們的網(wǎng)絡(luò)時(shí),可以先去著別人做過(guò)的類似的工作,然后之前套用訓(xùn)練好的權(quán)重參數(shù),以及網(wǎng)絡(luò)架構(gòu),只對(duì)輸入輸出做出適合我們?nèi)蝿?wù)的修改。
- 分類任務(wù)舉例,因?yàn)槭轻槍?duì)我們的任務(wù)分類,所以只對(duì)FC層做訓(xùn)練,之前特征提取的層用訓(xùn)練好的參數(shù),最后整體網(wǎng)絡(luò)架構(gòu)進(jìn)行訓(xùn)練。
- 訓(xùn)練集和驗(yàn)證集要采用同一種預(yù)處理方式
- batch_size 越大越吃顯存
- tensor 的顏色通道在第一位,在輸出tesor圖像是要修改(transform)
- mini_batch是神經(jīng)元的個(gè)數(shù)
- 盡量使用交叉驗(yàn)證的方式訓(xùn)練
- 9.反向傳播
- 通過(guò)Loss值調(diào)整權(quán)重,
- 鏈?zhǔn)椒▌t求導(dǎo)調(diào)整權(quán)重,負(fù)梯度值調(diào)整權(quán)重
- 推薦大家看一下唐宇迪大佬的視頻。
總結(jié)
以上是生活随笔為你收集整理的CNN 解析 --唐宇迪的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 重建AD域控制器的DNS服务器
- 下一篇: 小程序 获取用户信息 openid 等