今天先來學習卷積神經網絡(Convolutional Neural Network,CNN)的樣貌
如上面視頻來學習究竟機器是如何分辨X與O的,我們用X來學習整個CNN的過程。
有時圖型會偏折或旋轉如果直接比對肯定是無法的,這時候CNN就派上用場了
CNN會比較局部特徵
假設白色是1 黑色是-1 剛剛選出來的局部特徵就形成一個特殊矩陣 (其實有點像鄰域處理的mask)
之後這個mask 開始掃全部的範圍
可以算出最大值的位置也是最符合特徵的位置 (-1 <總值/總像素< 1 , 這個值會介於-1與1之間)
將不同的局部特徵對整張圖掃完以後:譬如 眼睛 嘴巴 鼻子 眉毛 就有這些特徵新的矩陣
另一個很重要能減少運算資源的動作叫做池化(pooling),簡單說選取鄰域的最大值。將畫素降為原本1/4,大大降低運算資源。
因為選取最大值還是保留了原本特徵符合的位置。
ReLu這有點像是激活函數,主要是把負數變為0
所以深度學習流程如下 一層一層從大張到小張的feature 譬如人臉辨識
這裡有點像是softmax依樣,不過這是經過全連接層投票的方式來表決
下圖就是整個CNN從開始到最後要來算出就究竟是X或O的流程
今天就學到這,明天使用CNN來練習MNIST~