功能描述:
一般來說,卷積神經網絡會有三種類型的隱藏層——卷積層、池化層、全連接層。卷積層和池化層比較好理解,主要很多教程也會解釋。
-
卷積層(Convolutional layer)主要是用一個采樣器從輸入數據中采集關鍵數據內容;
-
池化層(Pooling layer)則是對卷積層結果的壓縮得到更加重要的特征,同時還能有效控制過擬合。
但是可憐的全連接層(Fully Connected layer)很多時候都被忽略了,可能大佬們覺得我們都能懂吧。。查閱了一下資料,大概理解了全連接層的作用,即將前面經過多次卷積后高度抽象化的特征進行整合,然后可以進行歸一化,對各種分類情況都輸出一個概率,之后的分類器(Classifier)可以根據全連接得到的概率進行分類。
這是我理解過后的總結,如有不當之后也敬請指正。當然結合了國內外很多篇文章才最終大概理解了全連接層的作用。最近又沉迷翻譯,這篇文章就準備翻譯下stackexchange里面關于CNN中FC layer的作用。
卷積神經網絡中全連接層作用(What do the fully connected layers do in CNNs?)
Question:我理解了卷積層和池化層的作用,但是我不能理解卷積神經網絡中全連接層的作用。為什么不能將前一層直接輸出到輸出層呢?
Answer:卷積層的輸出代表著數據的高級特征。當輸出可以被扁平化并且能夠被連接到輸出層時,添加一個全連接層通常能以簡易的方式學習到這些非線性組合特征。
實質上,卷積層提供了一個有意義、低維度且幾乎不變的特征空間,然后全連接層在這個空間里學習一個(非線性)方程。
注:從全連接層轉換為卷積層是很方便的。將這些頂層全連接層轉換為卷積層是很有幫助的。
Q:所以我們通過反向傳播來學習連接層之間的權重,這是否正確?
A:是的,錯誤通過反向傳播從全連接層傳播到卷積層和池化層。
Q:所以,全連接層的目的就是就像PCA(主成分分析),它通過學習全部的權重來整合了“好”的特征并減少其他特征。
A:這主要取決于你特征的非線性組合。所有的特征都可能是好的(假設你沒有死掉的特征),那么這些特征的組合就可能更好。
|