图像分类
解释版本1
输入为Tensor,三维Tensor,然后将三维的Tensor拉直,成为一个向量,再输入,如图所以输入为长度30000的一个向量。
如果模型弹性越大,越容易过拟合(图中一层包括了3*10^7个参数)
对影像辨识的观察1:
辨别图像中是否有某些重要的图案(这张图中比如鸟嘴、眼睛之类的),所以就并不需要看整张图片,只需要图片一小部分输入。
-
receptive field可以只覆盖某些channels
-
receptive field一般是想连的,因为所要识别的图案一般在同一块地方
经典的安排方式(receptive field) -
会看所有的channels,所以只要讲高和宽,深度都一样,这个叫kernel size(eg:3*3)
-
一般一个receptive field会有很多个neuron去守备这个范围
-
将最左上的field右移,stride步长,一般receptive field彼此之间是重叠的
-
超出影像范围怎么办?做padding,即补值,一般补零
-
横向移动完,垂直移动,直至扫过整个图片
对影像辨识的观察2:
同样的图案可能出现在图片不同的位置
守备不同位置的neuron但是是同一图案的话,设置相同的weight(共享参数),因为输入不同输出也会是不同的,如果是相同的位置,就不能共享参数
总结
由蓝到红,弹性越来越小
解释版本2
如果有64个filters,那么在第二层有channel为64的新图像,所以filter的高度也要为64
会不会33的filter看不到大的图案?不会
比如下图:在第二层中,33就相当于原图像的5*5,版本一中共用的参数就是Filter
影像辨识观察三:
池化(把图片变小)
max-pooling
分组(自己决定),然后在每一组里面选最大的那个
整个卷积神经网络:
Flatten:把影像拉直变成一个向量
CNN不能处理缩放和旋转