iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
0
自我挑戰組

Machine Learning 學習筆記系列 第 25

[第25天] 卷積神經網絡淺介

參考網站1參考網站2參考網站3參考網站4

今天先來學習卷積神經網絡(Convolutional Neural Network,CNN)的樣貌

如上面視頻來學習究竟機器是如何分辨X與O的,我們用X來學習整個CNN的過程。

有時圖型會偏折或旋轉如果直接比對肯定是無法的,這時候CNN就派上用場了
https://ithelp.ithome.com.tw/upload/images/20181108/20112303Cb9grzt5Hb.png

特徵 feature

CNN會比較局部特徵
https://ithelp.ithome.com.tw/upload/images/20181108/20112303xWKmLJowz9.png

假設白色是1 黑色是-1 剛剛選出來的局部特徵就形成一個特殊矩陣 (其實有點像鄰域處理的mask)
https://ithelp.ithome.com.tw/upload/images/20181108/20112303Gfv3Wlsnh8.png

之後這個mask 開始掃全部的範圍
https://ithelp.ithome.com.tw/upload/images/20181108/20112303bhbT4VWd5N.png

可以算出最大值的位置也是最符合特徵的位置 (-1 <總值/總像素< 1 , 這個值會介於-1與1之間)
https://ithelp.ithome.com.tw/upload/images/20181108/20112303w0EiEwnVX0.png

將不同的局部特徵對整張圖掃完以後:譬如 眼睛 嘴巴 鼻子 眉毛 就有這些特徵新的矩陣
https://ithelp.ithome.com.tw/upload/images/20181108/201123039dn7mN3Pj2.png

池化 pooling

另一個很重要能減少運算資源的動作叫做池化(pooling),簡單說選取鄰域的最大值。將畫素降為原本1/4,大大降低運算資源。
https://ithelp.ithome.com.tw/upload/images/20181108/20112303YFBVEwdmmy.png

因為選取最大值還是保留了原本特徵符合的位置。
https://ithelp.ithome.com.tw/upload/images/20181108/201123032Yg1luCfyn.png

Rectified Linear Unit,ReLu

ReLu這有點像是激活函數,主要是把負數變為0
https://ithelp.ithome.com.tw/upload/images/20181108/20112303F4gPK928vr.png

https://ithelp.ithome.com.tw/upload/images/20181108/201123038m8xjwVV0B.png

所以深度學習流程如下 一層一層從大張到小張的feature 譬如人臉辨識
https://ithelp.ithome.com.tw/upload/images/20181108/20112303Elaz4cjVXL.png
https://ithelp.ithome.com.tw/upload/images/20181108/20112303qNYRl3shpQ.png

全連結層 fully connected layers

這裡有點像是softmax依樣,不過這是經過全連接層投票的方式來表決
https://ithelp.ithome.com.tw/upload/images/20181108/20112303cdSwdawMkR.png

下圖就是整個CNN從開始到最後要來算出就究竟是X或O的流程
https://ithelp.ithome.com.tw/upload/images/20181108/20112303uj6dZFnLaD.png

今天就學到這,明天使用CNN來練習MNIST~/images/emoticon/emoticon06.gif


上一篇
[第24天] Tensorflow MNIST練習(2)
下一篇
[第26天] 卷積神經網絡 MINST練習
系列文
Machine Learning 學習筆記30

尚未有邦友留言

立即登入留言