天天看點

CNN筆記

李宏毅老師的聽課筆記

https://www.youtube.com/watch?v=Ye018rCVvOo&list=PLJV_el3uVTsMhtt7_Y6sgTHGHp1Vb2P2J

寫的很簡單,主要是為了自己了解,如有不明白或者指出問題,請多指教!

CNN

Convolutional Neural Network ,專門用在圖像上的,目的就是提取有用的特征

Tensor 次元大于2的矩陣

版本1:

沒必要fully connected,對于一張圖檔,辨識他是啥就看部分特征就行

每一個neuron關心自己的receptive field就好,大小就是kernel size,會預設考慮3個通道,stride就是移動的跨度,如果超出了影像範圍就做padding。但是功能相同的neuron,可以共享參數。每一個receptive field 都有一組neuron守備,這些neuron就是filter組

receptive field + parameter sharing =》 convolutional layer

版本2:

convolutional layer 就是有很多filter (3x3xchannel), 每一個filter去圖檔裡抓取某一pattern。一個filter對一張圖檔從左到右從上到下移動,掃過一張圖,得到的結果們會變小

CNN筆記

每一個filter都會給一群數字

CNN筆記

這一群數字就是feature map,而這些可以看作是另一張圖檔,但是channel變成filter數目

可以疊很多convolutional layer

CNN筆記

每一次convolution 就是一個convolutional layer, 每一個layer 有很多 filter

pooling 池化

一張大圖檔做subsampling ,比如去掉奇數行偶數列什麼的,讓圖檔變小,本身不是layer,因為沒有參數,不用learn什麼。對剛才filter得到的一群數字,再分組取數字,比如max pooling取最大的

CNN筆記

卷積層之後再池化,就是channel不變,圖檔變狹長

繼續閱讀