CNN过程
CNN(Convolutional Neural Network)有三个特征。
Convolution
用Convolution实现Property1和Property2:设计多个Filter对全图进行过滤寻找pattern(如下图,每次从原图选3*3与filter内积,能够寻找如filter1那样对角线的pattern,数值越大特征越好,且因为用的是同一个filter,即使特征出现在不同地方也没关系,然后再用下一个filter2找第二个特征,最后就能得到4*4的feature map)
Max pooling
实现Property3的Max pool:只保存一部分范围内最大的
就能得到:
最后:
CNN学了啥
- 如果想知道那些filter的作用,那么对每一个filter所产生的feature map算他的a的值(activation),然后用梯度上升来求这个filter能activated最大的程度,这时候输出的图像就是filter要找的pattern
- 如果是看后面的fully connected network每一个neuron的作用,则
3.但如果用output来gradient ascent产生的就是左边那些东西,这是因为深度学习学习到的内容跟我们学习的不太一样。
对于数字很明显数字空白的地方是很多,所以其实可以对于这个加上constrain来让他生成更像数字的图像,虽然不是数字但已经有了数字轮廓(实际上就是L1正则化)