學(xué)習(xí)筆記
一、卷積神經(jīng)網(wǎng)絡(luò)
二維互相關(guān)運(yùn)算
二維互相關(guān)(cross-correlation)運(yùn)算的輸入是一個二維輸入數(shù)組和一個二維核(kernel)數(shù)組惊豺,輸出也是一個二維數(shù)組澈圈,其中核數(shù)組通常稱為卷積核或過濾器(filter)蒲祈。卷積核的尺寸通常小于輸入數(shù)組兵怯,卷積核在輸入數(shù)組上滑動肩杈,在每個位置上,卷積核與該位置處的輸入子數(shù)組按元素相乘并求和堪伍,得到輸出數(shù)組中相應(yīng)位置的元素锚烦。卷積層得名于卷積運(yùn)算,但卷積層中用到的并非卷積運(yùn)算而是互相關(guān)運(yùn)算帝雇。我們將核數(shù)組上下翻轉(zhuǎn)涮俄、左右翻轉(zhuǎn),再與輸入數(shù)組做互相關(guān)運(yùn)算尸闸,這一過程就是卷積運(yùn)算彻亲。由于卷積層的核數(shù)組是可學(xué)習(xí)的,所以使用互相關(guān)運(yùn)算與使用卷積運(yùn)算并無本質(zhì)區(qū)別吮廉。
特征圖與感受野
二維卷積層輸出的二維數(shù)組可以看作是輸入在空間維度(寬和高)上某一級的表征苞尝,也叫特征圖(feature map)。影響元素的前向計(jì)算的所有可能輸入?yún)^(qū)域(可能大于輸入的實(shí)際尺寸)叫做
的感受野(receptive field)宦芦。
填充和步幅
填充(padding):在輸入高和寬的兩側(cè)填充元素(通常是0元素)
步幅(stride):在互相關(guān)運(yùn)算中宙址,卷積核在輸入數(shù)組上滑動,每次滑動的行數(shù)與列數(shù)即是步幅调卑。
多輸入通道和多輸出通道
真實(shí)數(shù)據(jù)的維度經(jīng)常更高抡砂。例如,彩色圖像在高和寬2個維度外還有RGB(紅恬涧、綠注益、藍(lán))3個顏色通道。
卷積層與全連接層的對比
二維卷積層經(jīng)常用于處理圖像溯捆,與此前的全連接層相比聊浅,它主要有兩個優(yōu)勢:
一是全連接層把圖像展平成一個向量,在輸入圖像上相鄰的元素可能因?yàn)檎蛊讲僮鞑辉傧噜徬质梗W(wǎng)絡(luò)難以捕捉局部信息低匙。而卷積層的設(shè)計(jì),天然地具有提取局部信息的能力碳锈。
二是卷積層的參數(shù)量更少顽冶。不考慮偏置的情況下,一個形狀為的卷積核的參數(shù)量是
售碳,與輸入圖像的寬高無關(guān)强重。假如一個卷積層的輸入和輸出形狀分別是
和
绞呈,如果要用全連接層進(jìn)行連接,參數(shù)數(shù)量就是
间景。使用卷積層可以以較少的參數(shù)數(shù)量來處理更大的圖像佃声。
池化
池化層主要用于緩解卷積層對位置的過度敏感性。同卷積層一樣倘要,池化層每次對輸入數(shù)據(jù)的一個固定形狀窗口(又稱池化窗口)中的元素計(jì)算輸出圾亏,池化層直接計(jì)算池化窗口內(nèi)元素的最大值或者平均值,該運(yùn)算也分別叫做最大池化或平均池化封拧。
二志鹃、常用神經(jīng)網(wǎng)絡(luò)
LeNet
LeNet分為卷積層塊和全連接層塊兩個部分。卷積層塊里的基本單位是卷積層后接平均池化層:卷積層用來識別圖像里的空間模式泽西,如線條和物體局部曹铃,之后的平均池化層則用來降低卷積層對位置的敏感性。全連接層塊含3個全連接層捧杉。它們的輸出個數(shù)分別是120陕见、84和10,其中10為輸出的類別個數(shù)味抖。LeNet交替使用卷積層和最大池化層后接全連接層來進(jìn)行圖像分類评甜。
缺點(diǎn):
LeNet: 在大的真實(shí)數(shù)據(jù)集上的表現(xiàn)并不盡如?意。
1.神經(jīng)網(wǎng)絡(luò)計(jì)算復(fù)雜非竿。
2.還沒有?量深?研究參數(shù)初始化和?凸優(yōu)化算法等諸多領(lǐng)域蜕着。
AlexNet
首次證明了學(xué)習(xí)到的特征可以超越??設(shè)計(jì)的特征谋竖,從而?舉打破計(jì)算機(jī)視覺研究的前狀红柱。
特征:
- 8層變換,其中有5層卷積和2層全連接隱藏層蓖乘,以及1個全連接輸出層锤悄。
- 將sigmoid激活函數(shù)改成了更加簡單的ReLU激活函數(shù)。
- 用Dropout來控制全連接層的模型復(fù)雜度嘉抒。
-
引入數(shù)據(jù)增強(qiáng)零聚,如翻轉(zhuǎn)、裁剪和顏色變化些侍,從而進(jìn)一步擴(kuò)大數(shù)據(jù)集來緩解過擬合隶症。
LeNet和AlexNet對比
使用重復(fù)元素的網(wǎng)絡(luò)(VGG)
VGG:通過重復(fù)使?簡單的基礎(chǔ)塊來構(gòu)建深度模型。
Block:數(shù)個相同的填充為1岗宣、窗口形狀為的卷積層,接上一個步幅為2蚂会、窗口形狀為
的最大池化層。
卷積層保持輸入的高和寬不變耗式,而池化層則對其減半胁住。
網(wǎng)絡(luò)中的網(wǎng)絡(luò)(NiN)
LeNet趁猴、AlexNet和VGG:先以由卷積層構(gòu)成的模塊充分抽取 空間特征,再以由全連接層構(gòu)成的模塊來輸出分類結(jié)果彪见。
NiN:串聯(lián)多個由卷積層和“全連接”層構(gòu)成的小?絡(luò)來構(gòu)建?個深層?絡(luò)儡司。
?了輸出通道數(shù)等于標(biāo)簽類別數(shù)的NiN塊,然后使?全局平均池化層對每個通道中所有元素求平均并直接?于分類余指。
1×1卷積核作用
1.放縮通道數(shù):通過控制卷積核的數(shù)量達(dá)到通道數(shù)的放縮捕犬。
2.增加非線性。1×1卷積核的卷積過程相當(dāng)于全連接層的計(jì)算過程浪规,并且還加入了非線性激活函數(shù)或听,從而可以增加網(wǎng)絡(luò)的非線性。
3.計(jì)算參數(shù)少
NiN重復(fù)使用由卷積層和代替全連接層的1×1卷積層構(gòu)成的NiN塊來構(gòu)建深層?絡(luò)笋婿。
NiN去除了容易造成過擬合的全連接輸出層誉裆,而是將其替換成輸出通道數(shù)等于標(biāo)簽類別數(shù) 的NiN塊和全局平均池化層。
NiN的以上設(shè)計(jì)思想影響了后??系列卷積神經(jīng)?絡(luò)的設(shè)計(jì)缸濒。
GoogLeNet
- 由Inception基礎(chǔ)塊組成足丢。
- Inception塊相當(dāng)于?個有4條線路的??絡(luò)。它通過不同窗口形狀的卷積層和最?池化層來并?抽取信息庇配,并使?1×1卷積層減少通道數(shù)從而降低模型復(fù)雜度斩跌。
- 可以?定義的超參數(shù)是每個層的輸出通道數(shù),我們以此來控制模型復(fù)雜度捞慌。