卷積和池化層的輸出表示了輸入圖像的高級特征。全連接層的目的是為了使用這些特征把輸入圖像基于訓(xùn)練數(shù)據(jù)集進(jìn)行分類。比如,在下面圖中我們進(jìn)行的圖像分類有四個可能的輸出結(jié)果(注意下圖并沒有顯示全連接層的節(jié)點連接)。

除了分類,添加一個全連接層也(一般)是學(xué)習(xí)這些特征的非線性組合的簡單方法。從卷積和池化層得到的大多數(shù)特征可能對分類任務(wù)有效,但這些特征的組合可能會更好。
從全連接層得到的輸出概率和為 1。這個可以在輸出層使用 softmax 作為激活函數(shù)進(jìn)行保證。softmax 函數(shù)輸入一個任意大于 0 值的矢量,并把它們轉(zhuǎn)換為零一之間的數(shù)值矢量,其和為一。
把它們組合起來——使用反向傳播進(jìn)行訓(xùn)練
正如上面討論的,卷積 + 池化層的作用是從輸入圖像中提取特征,而全連接層的作用是分類器。
注意在下面的圖中,因為輸入的圖像是船,對于船這一類的目標(biāo)概率是 1,而其他三類的目標(biāo)概率是 0,即
輸入圖像 = 船
目標(biāo)矢量 = [0, 0, 1, 0]

完整的卷積網(wǎng)絡(luò)的訓(xùn)練過程可以總結(jié)如下:
第一步:我們初始化所有的濾波器,使用隨機值設(shè)置參數(shù)/權(quán)重
第二步:網(wǎng)絡(luò)接收一張訓(xùn)練圖像作為輸入,通過前向傳播過程(卷積、ReLU 和池化操作,以及全連接層的前向傳播),找到各個類的輸出概率
我們假設(shè)船這張圖像的輸出概率是 [0.2, 0.4, 0.1, 0.3]
因為對于第一張訓(xùn)練樣本的權(quán)重是隨機分配的,輸出的概率也是隨機的
第三步:在輸出層計算總誤差(計算 4 類的和)
Total Error = ∑ ½ (target probability – output probability) ²
第四步:使用反向傳播算法,根據(jù)網(wǎng)絡(luò)的權(quán)重計算誤差的梯度,并使用梯度下降算法更新所有濾波器的值/權(quán)重以及參數(shù)的值,使輸出誤差最小化
權(quán)重的更新與它們對總誤差的占比有關(guān)
當(dāng)同樣的圖像再次作為輸入,這時的輸出概率可能會是 [0.1, 0.1, 0.7, 0.1],這就與目標(biāo)矢量 [0, 0, 1, 0] 更接近了
這表明網(wǎng)絡(luò)已經(jīng)通過調(diào)節(jié)權(quán)重/濾波器,可以正確對這張?zhí)囟▓D像的分類,這樣輸出的誤差就減小了
像濾波器數(shù)量、濾波器大小、網(wǎng)絡(luò)結(jié)構(gòu)等這樣的參數(shù),在第一步前都是固定的,在訓(xùn)練過程中保持不變——僅僅是濾波器矩陣的值和連接權(quán)重在更新
第五步:對訓(xùn)練數(shù)據(jù)中所有的圖像重復(fù)步驟 1 ~ 4
上面的這些步驟可以 訓(xùn)練 ConvNet —— 這本質(zhì)上意味著對于訓(xùn)練數(shù)據(jù)集中的圖像,ConvNet 在更新了所有權(quán)重和參數(shù)后,已經(jīng)優(yōu)化為可以對這些圖像進(jìn)行正確分類。
當(dāng)一張新的(未見過的)圖像作為 ConvNet 的輸入,網(wǎng)絡(luò)將會再次進(jìn)行前向傳播過程,并輸出各個類別的概率(對于新的圖像,輸出概率是使用已經(jīng)在前面訓(xùn)練樣本上優(yōu)化分類的參數(shù)進(jìn)行計算的)。如果我們的訓(xùn)練數(shù)據(jù)集非常的大,網(wǎng)絡(luò)將會(有希望)對新的圖像有很好的泛化,并把它們分到正確的類別中去。
注 1: 上面的步驟已經(jīng)簡化,也避免了數(shù)學(xué)詳情,只為提供訓(xùn)練過程的直觀內(nèi)容??梢詤⒖嘉墨I(xiàn) 4 和 12 了解數(shù)學(xué)公式和完整過程。
注 2:在上面的例子中我們使用了兩組卷積和池化層。然而請記住,這些操作可以在一個 ConvNet 中重復(fù)多次。實際上,現(xiàn)在有些表現(xiàn)最好的 ConvNet 擁有多達(dá)十幾層的卷積和池化層!同時,每次卷積層后面不一定要有池化層。如下圖所示,我們可以在池化操作前連續(xù)使用多個卷積 + ReLU 操作。還有,請注意 ConvNet 的各層在下圖中是如何可視化的。

卷積神經(jīng)網(wǎng)絡(luò)的可視化
一般而言,越多的卷積步驟,網(wǎng)絡(luò)可以學(xué)到的識別特征就越復(fù)雜。比如,ConvNet 的圖像分類可能在第一層從原始像素中檢測出邊緣,然后在第二層使用邊緣檢測簡單的形狀,接著使用這些形狀檢測更高級的特征,比如更高層的人臉。下面的圖中展示了這些內(nèi)容——我們使用 卷積深度置信網(wǎng)絡(luò) 學(xué)習(xí)到的特征,這張圖僅僅是用來證明上面的內(nèi)容(這僅僅是一個例子:真正的卷積濾波器可能會檢測到對我們毫無意義的物體)。