上節(jié)課躯喇,我們講了如何為卷積網(wǎng)絡(luò)構(gòu)建一個(gè)卷積層。今天我們看一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)的具體示例惊楼,順便練習(xí)一下我們上節(jié)課所學(xué)的標(biāo)記法玖瘸。
假設(shè)你有一張圖片,你想做圖片分類或圖片識(shí)別檀咙,把這張圖片輸入定義為x雅倒,然后辨別圖片中有沒有貓,用0或1表示弧可,這是一個(gè)分類問題蔑匣,我們來構(gòu)建適用于這項(xiàng)任務(wù)的卷積神經(jīng)網(wǎng)絡(luò)。針對(duì)這個(gè)示例棕诵,我用了一張比較小的圖片裁良,大小是39×39×3,這樣設(shè)定可以使其中一些數(shù)字效果更好校套。所以n_H^([0])=n_W^([0])价脾,即高度和寬度都等于39,n_c^([0])=3笛匙,即0層的通道數(shù)為3侨把。
假設(shè)第一層我們用一個(gè)3×3的過濾器來提取特征犀变,那么f^([1])=3,因?yàn)檫^濾器時(shí)3×3的矩陣秋柄。s^([1])=1获枝,p^([1])=0,所以高度和寬度使用same卷積骇笔。
如果有10個(gè)過濾器省店,神經(jīng)網(wǎng)絡(luò)下一層的激活值為37×37×10,寫10是因?yàn)槲覀冇昧?0個(gè)過濾器笨触,37是公式(n+2p-f)/s+1的計(jì)算結(jié)果懦傍,也就是(39+0-3)/1+1=37,所以輸出是37×37旭旭,它是一個(gè)vaild卷積谎脯,這是輸出結(jié)果的大小。第一層標(biāo)記為n_H^([1])=n_W^([1])=37持寄,n_c^([1])=10源梭,n_c^([1])等于第一層中過濾器的個(gè)數(shù),這(37×37×10)是第一層激活值的維度稍味。
假設(shè)還有另外一個(gè)卷積層废麻,這次我們采用的過濾器是5×5的矩陣。在標(biāo)記法中模庐,神經(jīng)網(wǎng)絡(luò)下一層的f=5烛愧,即f^[2] =5步幅為2,即s^[2] =2掂碱。padding為0怜姿,即p^[2] =0,且有20個(gè)過濾器疼燥。所以其輸出結(jié)果會(huì)是一張新圖像沧卢,這次的輸出結(jié)果為17×17×20,因?yàn)椴椒?醉者,維度縮小得很快但狭,大小從37×37減小到17×17,減小了一半還多撬即,過濾器是20個(gè)立磁,所以通道數(shù)也是20,17×17×20即激活值a^[2] 的維度剥槐。因此n_H^[2] =n_W^[2] =17唱歧,n_c^[2] =20。
我們來構(gòu)建最后一個(gè)卷積層粒竖,假設(shè)過濾器還是5×5颅崩,步幅為2绍刮,即f^[2] =5,s^[3] =2挨摸,計(jì)算過程我跳過了,最后輸出為7×7×40岁歉,假設(shè)使用了40個(gè)過濾器得运。padding為0,40個(gè)過濾器锅移,最后結(jié)果為7×7×40熔掺。
到此,這張39×39×3的輸入圖像就處理完畢了非剃,為圖片提取了7×7×40個(gè)特征置逻,計(jì)算出來就是1960個(gè)特征。然后對(duì)該卷積進(jìn)行處理备绽,可以將其平滑或展開成1960個(gè)單元券坞。平滑處理后可以輸出一個(gè)向量,其填充內(nèi)容是logistic回歸單元還是softmax回歸單元肺素,完全取決于我們是想識(shí)圖片上有沒有貓恨锚,還是想識(shí)別K種不同對(duì)象中的一種,用^y表示最終神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出倍靡。明確一點(diǎn)猴伶,最后這一步是處理所有數(shù)字,即全部的1960個(gè)數(shù)字塌西,把它們展開成一個(gè)很長的向量他挎。為了預(yù)測最終的輸出結(jié)果,我們把這個(gè)長向量填充到softmax回歸函數(shù)中捡需。
這是卷積神經(jīng)網(wǎng)絡(luò)的一個(gè)典型范例办桨,設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)時(shí),確定這些超參數(shù)比較費(fèi)工夫栖忠。要決定過濾器的大小崔挖、步幅、padding以及使用多少個(gè)過濾器庵寞。這周和下周狸相,我會(huì)針對(duì)選擇參數(shù)的問題提供一些建議和指導(dǎo)。
而這節(jié)課你要掌握的一點(diǎn)是捐川,隨著神經(jīng)網(wǎng)絡(luò)計(jì)算深度不斷加深脓鹃,通常開始時(shí)的圖像也要更大一些,初始值為39×39古沥,高度和寬度會(huì)在一段時(shí)間內(nèi)保持一致瘸右,然后隨著網(wǎng)絡(luò)深度的加深而逐漸減小娇跟,從39到37,再到17太颤,最后到7苞俘。而通道數(shù)量在增加,從3到10龄章,再到20吃谣,最后到40。在許多其它卷積神經(jīng)網(wǎng)絡(luò)中做裙,你也可以看到這種趨勢岗憋。關(guān)于如何確定這些參數(shù),后面課上我會(huì)更詳細(xì)講解锚贱,這是我們講的第一個(gè)卷積神經(jīng)網(wǎng)絡(luò)示例仔戈。
一個(gè)典型的卷積神經(jīng)網(wǎng)絡(luò)通常有三層,一個(gè)是卷積層拧廊,我們常常用Conv來標(biāo)注监徘。上一個(gè)例子,我用的就是CONV吧碾。還有兩種常見類型的層耐量,我們留在后兩節(jié)課講。一個(gè)是池化層滤港,我們稱之為POOL廊蜒。最后一個(gè)是全連接層,用FC表示溅漾。雖然僅用卷積層也有可能構(gòu)建出很好的神經(jīng)網(wǎng)絡(luò)山叮,但大部分神經(jīng)望樓架構(gòu)師依然會(huì)添加池化層和全連接層。幸運(yùn)的是添履,池化層和全連接層比卷積層更容易設(shè)計(jì)屁倔。后兩節(jié)課我們會(huì)快速講解這兩個(gè)概念以便你更好的了解神經(jīng)網(wǎng)絡(luò)中最常用的這幾種層,你就可以利用它們構(gòu)建更強(qiáng)大的網(wǎng)絡(luò)了暮胧。
再次恭喜你已經(jīng)掌握了第一個(gè)卷積神經(jīng)網(wǎng)絡(luò)锐借,在后面的筆記里,我們會(huì)學(xué)習(xí)如何訓(xùn)練這些卷積神經(jīng)網(wǎng)絡(luò)往衷。
不過在這之前钞翔,我還要簡單介紹一下池化層和全連接層。然后再訓(xùn)練這些網(wǎng)絡(luò)席舍,到時(shí)我會(huì)用到大家熟悉的反向傳播訓(xùn)練方法布轿。那么下節(jié)筆記,我們就先來了解如何構(gòu)建神經(jīng)網(wǎng)絡(luò)的池化層。