CNN 卷积神经网络
CNN可以分为卷积层CONV 激活层RELU 池化层POOL以及最后的全连接层 FC
输入图像为32*32*3 3表示3个通道
经过第一层 有10个filter,每个filter尺寸为5*5
则第一层的输出为28*28*10
28是如何计算得到的? (32-5)/1+1=28
上面的情况是只考虑stride为1的情况下,
N=7 filter size=3, stride=1:
(7-3)/1+1=5
stride=2:(7-3)/2+1=3
stride=3:(7-3)/3+1=2.3 这样是不能继续运算的
如果我们每次都用5*5的filter的话 图像的size会逐渐变小,如果有几百层网络则图像的大小在后面显然不够用了。为此在图像的上下左右加padding(0)
在考虑有pad的情况下,image 32*32*3 10个5*5filter pad2 stride 1
(32+2*2-5)/1+1=32
对于非正方形的图像,我们一般会先做处理使其成为正方形的图像
pooling层:
下采样
224*224*64经过2*2pooling之后得到112*112*64的image
FC:
将卷积输出的二维特征转化为一维向量用于分类,利用这个向量得到一个概率,根据概率来进行分类
例如最后一层卷积输出 12*12*20 用100个12*12*20的filter,得到一个100*1的向量
将这个向量交给分类器