why CNN for image
CNN简化了全连接的神经网络.它可以简化的原因是:
1.图像识别的时候,并不是每识别一个模式都要查看整张图,大多数特征只要看图片的一小部分就行了.
2.在图片不同区域出现的同一个模式,只需要训练出一组参数,就可以用于检测了.
3.对图片进行采样不会影响图片上的信息.
the whole CNN
CNN是一个不断卷积不断池化的过程.
并且上述提出的三个原因,前两个使用卷积完成,第三个是用池化完成.
CNN-convolution
用卷积核去卷积每个小方块(对应元素相乘相加),然后得到新的层.
多个层叠加就形成了rgb,带有颜色通道.
卷积与全连接相比,可以用到更少的参数.
CNN-max pooling
最大池化,就是将数据分块后,留下每个块中最大的,将其余的删除.左图左上角剩下的就是3,这样以此类推,之后就得到一个很小的图像.
flatten
是很简单的过程,将数据直接拉直,之后进行全连接.
what does CNN learn?
也不懂他说的什么意思,理解就是让图片能看出来是什么了.
应用
1.deep dream
将图片进行cnn,得到的output,让偏的数更大,偏小的数更小(正的大,负的小).
看到图片中那些原本是石头的东西,变成了妖魔鬼怪,这就是cnn的作用.
2.deep style
将两幅图片结合进行卷积就会得到下面的效果.
原始图像加上了<呐喊>,让最后结果也像<呐喊>一样的效果.
3.playing go
著名的Alpha Go并没有用最大池化层.
4.Speech
5.text