如果你是搞 AI 算法的同學,相信你在很多地方都見過全連接配接層。
無論是卷積神經網絡(CNN),還是自然語言處理(NLP)網絡,都能看到全連接配接層的身影。
那麼到底什麼是全連接配接層,這一層在神經網絡中有什麼作用,以及它和矩陣乘法、卷積運算有什麼關系呢?
1、什麼是全連接配接層
全連接配接層(Fully Connected Layer),有時也被叫作密集層(Dense Layer)。
之是以這麼叫,是因為這一層的每個神經元都與前一層的每個神經元連接配接在一起,形成了一個全連接配接的網絡結構。
全連接配接結構:圖源網絡
這種全連接配接的方式與卷積和池化不同,卷積和池化是通過固定大小的卷積核或池化視窗在輸入上移動,以便有效地捕捉局部特征。
是以,"全連接配接"強調了這一層中的神經元與前一層中的所有神經元之間的連接配接,與卷積和池化層的局部連接配接方式形成對比。
2、全連接配接有什麼作用
既然是所有神經元的全部連接配接,說明它可以捕獲到前面所有的特征,經過運算就可以更加有效、完備的融合所有特征。
使得神經網絡最終看到的特征是個全局特征(一隻貓),而不是局部特征(眼睛或者鼻子)。
有一個螞蟻開會的比喻來比喻全連接配接層,比較形象。
假設你是一隻螞蟻,你的任務是找小面包。這時候你的視野比較窄,隻能看到很小一片區域,也就隻能看到一個大面包的部分。
當你找到一片面包之後,你根本不知道你找到的是不是全部的面包,是以你們所有的螞蟻開了個會。
你們互相把自己找到的面包的資訊分享出來,通過開會分享,最終你們确認,哦,你們找到了一個大面包。
上面說的螞蟻開會的過程,就是全連接配接,這也是為什麼,全連接配接需要把所有的節點都連接配接起來,盡可能的完成所有節點的資訊共享。
說到這,大概就能了解全連接配接的作用了吧,那就是可以完成全部特征的融合。
3、全連接配接和卷積以及矩陣乘的關系
單純從數學運算上來看,全連接配接就是矩陣運算,關于矩陣運算的本質,這裡說的更清晰一些:5分鐘搞懂矩陣乘法的本質。
全連接配接和卷積的差別,除了上面說的前者是全局視野,卷積是局部視野之外,還有一個很重要的聯系。
那就是如果卷積的卷積核變為1x1,那麼相當于卷積核的每一個像素都與輸入圖檔的每一個像素相關聯,此時1x1的卷積,也就變成了矩陣乘了。
全連接配接一般放在一個神經網絡的最後,用來做分類。
假設神經網絡前面很多層學到了1000個特征,那麼最後一層全連接配接就可以把這1000個特征進行全部融合,融合之後就可以知道這張圖檔是一隻狗。
借用“圖靈的貓”對這個算法的解釋:全連接配接層在整個卷積神經網絡中起到“分類器”的作用。
如果說卷積層、池化層和激活函數層等操作是将原始資料映射到隐層特征空間的話,全連接配接層則起到将學到的“分布式特征表示”映射到樣本标記空間的作用。
免費分享一些我整理的人工智能學習資料給大家,整理了很久,非常全面。包括人工智能基礎入門視訊+AI常用架構實戰視訊、機器學習、深度學習與神經網絡等視訊、課件源碼、畢設項目、AI熱門論文等。
下面是截圖,掃碼進群免費領取:掃碼進群領資料
我會在群裡與朋友們定期分享人工智能的發展就業情況與相關資料。
最後祝大家天天進步!!