使用卷积的原因主要是减少计算复杂度,节省开销。
卷积其实就是一个滤镜
使用滤镜的过程就是在原图不断移动的过程。
例子:
从最左上角开始,把滤镜(3*3)中的每一个值和原图(5*5)中的每一个值做点乘。然后每计算一次移动一步。就可以得到右边这个新的矩阵。
CONV(convolution layer)卷积层
RELU(ReLU layer)线性整流层
POOL(pooling layer) 池化层
FC(fully connected layer) 全连接层
和其他神经网络一样我们通过梯度下降和反向传播来调整权重。不一样的是这里调整的是滤镜矩阵参数。
假设我们滤镜矩阵大小是3*3,有两个滤镜,那么我们需要通过梯度下降和反向传播调整3*3*2,一个18个参数。
卷积层
举例
举例:下图是50*50因为RGB,所有图片尺寸是50*50*3
如果是灰色,就是50*50*1
我们选择滤镜尺寸是5*5*3,选择32个滤镜,步长5.向右移动10次就对第一行做完卷积。然后向下再对下一行卷积。
一个向下10次,就对整张图做完卷积。所以卷积之后得到一个10*10*32的矩阵。