1. 结构
卷积神经网络是由若干个卷积层和池化层(Pooling)堆叠起来的结构,常见结构是多个卷积层连接一个池化层
注意在特征较少的时候有一个小方法,只用卷积层,这时池化层会丢失部分信息。
注意卷积是一个有长宽高的三维操作。第一层用了三个filter卷积出三层的feature maps,每一个filter卷积出一层。第二层是一个池化层进行下采样。注意这里的features已经是一个三维的结构了,高是3,。接下来有5个filter卷积出五层的feature maps,每一个feature的高是3。
2. 卷积
卷积是数学上的一个操作。卷积就是用一个filter矩阵移动着去和数据矩阵做点乘再求和。卷积操作如下
上面是步幅为1的情况,也就是每一次卷积后都向后移动一格。步幅也可以大于1,如下图:
卷积前后的宽高有如下规律,以宽为例,W‘是卷积后宽,W是卷积前图像宽,F是filter的宽,P是padding了几圈,S是步幅
下面是一个三层的input,卷积核也要是三层的,每一层分别跟对应的那一层卷积,卷积出三个矩阵然后对应元素相加就是最后的结果,所以一个三层data需要用三层的filter卷积,卷积出的结果是一层的。
3. 池化
Pooling层分为max和mean两种方式,一般采用的是max pooling。
这是一个用2*2大小的max pool做池化,可以看到就是用2*2的小方格依次去框选卷积结果中最大的那个。池化是在各层独立做的,一个D层的feature map池化后还是D层的。