卷积神经网络 Convolutional Neural Networks
1.卷积层 Convolutional Layer
卷积层中有filter,在image空间中不断滑动,进行点乘dot
filter 的dot的结果是一个数值,经过滑动dot,就会形成一个比原先照片小的层,厚度为1
eg:32323(长宽高)image——553 filter = 28281 feature map
filter可以有很多个,我们以6个filter为例(filter的个数即为channel数)
eg:32323 image –55(3)6(553为filter的长宽高,6为filter的个数)–28286 feature map
注:filter的大小长宽是自己指定的,一般为3,5,7。高与input image相同,所以一般都省略。55 = 553
2.卷积过程 Convolutional Process
卷积的过程,就是一系列的卷积层的组合:
3.卷积计算 Convolutional Compute
(1)activation map 大小的计算 以77大小的图片为例
(2)zero padding
zero padding 可以保持图片卷积后的大小
(3)计算
举例:输入图片是32x32x3 有10个5x5的filter ,stride 是1 ,pad 2
输出的大小? 参数的多少?
Output volume size: (32+22-5)/1+1 = 32 spatially, so 32x32x10
Number of parameters in this layer? each filter has 553 + 1 = 76 params => 76*10 = 760
(4)总结
总结:
- Input image的大小W1H1D1(长宽高)
- 卷积层的四个超参数:
卷积的个数channel:K
卷积的大小:F
步长stride:S
补零padding:P - Output feature map的大小W2H2D2满足以下关系
W2 =(W1+2P-F)/S+1
H2 =(H1+2P-F)/S+1 #长宽一致
D2 = K - 由于卷积层权值共享,每一个filter的权重为FFD1,故整个卷积层的权重为(FFD1)K+偏差bias为K。总参数为(FF*D1)*K+K