对于全连接层的理解
作者文章原地址:https://blog.csdn.net/gyh_420/article/details/78569225
?
全連接層的推導(dǎo)
全連接層的每一個結(jié)點都與上一層的所有結(jié)點相連,用來把前邊提取到的特征綜合起來。由于其全相連的特性,一般全連接層的參數(shù)也是最多的。
全連接層的前向計算
下圖中連線最密集的2個地方就是全連接層,這很明顯的可以看出全連接層的參數(shù)的確很多。在前向計算過程,也就是一個線性的加權(quán)求和的過程,全連接層的每一個輸出都可以看成前一層的每一個結(jié)點乘以一個權(quán)重系數(shù)W,最后加上一個偏置值b得到,即 。如下圖中第一個全連接層,輸入有50*4*4個神經(jīng)元結(jié)點,輸出有500個結(jié)點,則一共需要50*4*4*500=400000個權(quán)值參數(shù)W和500個偏置參數(shù)b。
下面用一個簡單的網(wǎng)絡(luò)具體介紹一下推導(dǎo)過程
?
其中,x1、x2、x3為全連接層的輸入,a1、a2、a3為輸出,根據(jù)我前邊在筆記1中的推導(dǎo),有
?
可以寫成如下矩陣形式:
?
?
全連接層的反向傳播
?
以我們的第一個全連接層為例,該層有50*4*4=800個輸入結(jié)點和500個輸出結(jié)點。
?
由于需要對W和b進行更新,還要向前傳遞梯度,所以我們需要計算如下三個偏導(dǎo)數(shù)。
?
1、對上一層的輸出(即當前層的輸入)求導(dǎo)
若我們已知轉(zhuǎn)遞到該層的梯度,則我們可以通過鏈式法則求得loss對x的偏導(dǎo)數(shù)。
首先需要求得該層的輸出ai對輸入xj的偏導(dǎo)數(shù)
?
?
再通過鏈式法則求得loss對x的偏導(dǎo)數(shù):
上邊求導(dǎo)的結(jié)果也印證了我前邊那句話:在反向傳播過程中,若第x層的a節(jié)點通過權(quán)值W對x+1層的b節(jié)點有貢獻,則在反向傳播過程中,梯度通過權(quán)值W從b節(jié)點傳播回a節(jié)點。
若我們的一次訓練16張圖片,即batch_size=16,則我們可以把計算轉(zhuǎn)化為如下矩陣形式。
?
2、對權(quán)重系數(shù)W求導(dǎo)
?
我們前向計算的公式如下圖,
由圖可知,所以:。
?
當batch_size=16時,寫成矩陣形式:
?
3、對偏置系數(shù)b求導(dǎo)
由上面前向推導(dǎo)公式可知,
?
即loss對偏置系數(shù)的偏導(dǎo)數(shù)等于對上一層輸出的偏導(dǎo)數(shù)。
當batch_size=16時,將不同batch對應(yīng)的相同b的偏導(dǎo)相加即可,寫成矩陣形式即為乘以一個全1的矩陣:
?
?
-----------------------------------------------------------------------------------------------------------------------------------
?
接下來再主要談?wù)勅B接層的意義
?
連接層實際就是卷積核大小為上層特征大小的卷積運算,卷積后的結(jié)果為一個節(jié)點,就對應(yīng)全連接層的一個點。
假設(shè)最后一個卷積層的輸出為7×7×512,連接此卷積層的全連接層為1×1×4096。
連接層實際就是卷積核大小為上層特征大小的卷積運算,卷積后的結(jié)果為一個節(jié)點,就對應(yīng)全連接層的一個點。如果將這個全連接層轉(zhuǎn)化為卷積層:
1.共有4096組濾波器
2.每組濾波器含有512個卷積核
3.每個卷積核的大小為7×7
4.則輸出為1×1×4096
------------------------------------------
若后面再連接一個1×1×4096全連接層。則其對應(yīng)的轉(zhuǎn)換后的卷積層的參數(shù)為:
1.共有4096組濾波器
2.每組濾波器含有4096個卷積核
3.每個卷積核的大小為1×1
4.輸出為1X1X4096
相當于就是將特征組合起來進行4096個分類分數(shù)的計算,得分最高的就是劃到的正確的類別。
而全連接層的壞處就在于其會破壞圖像的空間結(jié)構(gòu),
因此人們便開始用卷積層來“代替”全連接層,
通常采用1×1的卷積核,這種不包含全連接的CNN成為全卷積神經(jīng)網(wǎng)絡(luò)(FCN),
FCN最初是用于圖像分割任務(wù),
之后開始在計算機視覺領(lǐng)域的各種問題上得到應(yīng)用,
事實上,Faster R-CNN中用來生成候選窗口的CNN就是一個FCN。
FCN的特點就在于輸入和輸出都是二維的圖像,并且輸入和輸出具有相對應(yīng)的空間結(jié)構(gòu),
在這種情況下,我們可以將FCN的輸出看作是一張熱度圖,用熱度來指示待檢測的目標的位置和覆蓋的區(qū)域。
在目標所處的區(qū)域內(nèi)顯示較高的熱度,
而在背景區(qū)域顯示較低的熱度,
這也可以看成是對圖像上的每一個像素點都進行了分類,
這個點是否位于待檢測的目標上。?
總結(jié)
- 上一篇: 网络爬虫设计中需要注意的几个问题
- 下一篇: LM小型可编程控制器软件(基于CoDeS