1. 程式人生 > >萬字長文|如何直觀解釋卷積神經網路的工作原理?

萬字長文|如何直觀解釋卷積神經網路的工作原理?

作者:YJango
日本會津大學|人機互動實驗室博士生
量子位 已獲授權編輯釋出

該文是對卷積神經網路的介紹,並假設你理解前饋神經網路。

如果不是,強烈建議讀完《如何簡單形象又有趣地講解神經網路是什麼?》這篇文章後後再來讀該篇。

推薦文章連結:

https://www.zhihu.com/question/22553761/answer/126474394

下面進入正題,開始我們的卷積神經網路之旅——

目錄

  • 視覺感知

    • 畫面識別是什麼

    • 識別結果取決於什麼

  • 影象表達

    • 畫面識別的輸入

    • 畫面不變形

  • 前饋神經網路做畫面識別的不足

  • 卷積神經網路做畫面識別

    • 區域性連線

    • 空間共享

    • 輸出空間表達

    • Depth維的處理

    • Zero padding

    • 形狀、概念抓取

    • 多filters

    • 非線性

    • 輸出尺寸控制

    • 矩陣乘法執行卷積

    • Max pooling

    • 全連線層

    • 結構發展

  • 畫面不變性的滿足

    • 平移不變性

    • 旋轉和視角不變性

    • 尺寸不變性

    • Inception的理解

    • 1x1卷積核理解

    • 跳層連線ResNet

視覺感知

一. 畫面識別是什麼任務?

學習知識的第一步就是明確任務,清楚該知識的輸入輸出。卷積神經網路最初是服務於畫面識別的,所以我們先來看看畫面識別的實質是什麼。

先觀看幾組動物與人類視覺的差異對比圖。

1. 蒼蠅的視覺和人的視覺的差異


2. 蛇的視覺和人的視覺的差異


 更多對比圖請參考http://chuansong.me/n/2656056

通過上面的兩組對比圖可以知道,即便是相同的圖片經過不同的視覺系統,也會得到不同的感知。

這裡引出一條知識:生物所看到的景象並非世界的原貌,而是長期進化出來的適合自己生存環境的一種感知方式。蛇的獵物一般是夜間行動,所以它就進化出了一種可以在夜間也能很好觀察的感知系統,感熱。

任何視覺系統都是將影象反光與腦中所看到的概念進行關聯。

所以畫面識別實際上並非識別這個東西客觀上是什麼,而是尋找人類的視覺關聯方式,並再次應用。如果我們不是人類,而是蛇類,那麼畫面識別所尋找的f就和現在的不一樣。

畫面識別實際上是尋找(學習)人類的視覺關聯方式