萬字長文|如何直觀解釋卷積神經網路的工作原理?
作者: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就和現在的不一樣。
畫面識別實際上是尋找(學習)人類的視覺關聯方式