卷积神经网络基础模块
卷积神经网络(CNN)主要用于特征提取。卷积操作的基本思想是通过在输入数据上滑动卷积核,提取数据中的局部特征。每个卷积核都负责检测输入数据中的某种模式或特征,例如边缘、纹理等。卷积操作生成的输出被称为特征图,它是输入数据中相应特征的映射。
卷积(Convolution)
在卷积神经网络中,卷积层的实现方式实际上是数学中定义的互相关(cross-correlation)运算。
卷积核(kernel)也被叫做滤波器(filter),假设卷积核的高和宽分别为kh和kw,则将称为kh×kw卷积,,比如3×5卷积,就是指卷积核的高为3, 宽为5。
一个卷积算子除了上面描述的卷积过程之外,还包括加上偏置项(引入非线性运算、增强模型拟合能力)的操作。
经过卷积后,数据尺寸会变动:Hout=H−kh+1, Wout=W−kw+1 。在卷积计算过程中,通常会在高度或者宽度的两侧采取等量填充,Hout=H+2ph−kh+1,Wout=W+2pw−kw+1
卷积核每次滑动几个像素点,步幅为几
输出特征图上每个点的数值,是由输入图片上大小为kh×kw的区域的元素与卷积核每个元素相乘再相加得到的,所以输入图像上kh×kw区域内每个元素数值的改变,都会影响输出点的像素值。我们将这个区域叫做输出特征图上对应点的感受野。感受野内每个元素数值的变动,都会影响输出点的数值变化。
一般来说,卷积操作的输出特征图也会具有多个通道Cout,这时我们需要设计Cout个维度为Cin×kh×kw的卷积核,卷积核数组的维度是C
