李宏毅老师的听课笔记
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对一张图片从左到右从上到下移动,扫过一张图,得到的结果们会变小
每一个filter都会给一群数字
这一群数字就是feature map,而这些可以看作是另一张图片,但是channel变成filter数目
可以叠很多convolutional layer
每一次convolution 就是一个convolutional layer, 每一个layer 有很多 filter
pooling 池化
一张大图片做subsampling ,比如去掉奇数行偶数列什么的,让图片变小,本身不是layer,因为没有参数,不用learn什么。对刚才filter得到的一群数字,再分组取数字,比如max pooling取最大的
卷积层之后再池化,就是channel不变,图片变狭长