卷积神经网络(Convolutional Neural Networks, CNN)是计算机视觉技术最经典的模型结构,主要知识点包括:卷积、池化、激活函数、批归一化、丢弃法等。
卷积神经网络对特征的提取,既能提取到相邻像素点之间的特征模式,又能保证参数的个数不随图片尺寸变化。典型的卷积神经网络结构中,在输入图片上使用多层卷积和池化层组合,在网络的最后通常会加入一系列全连接层,ReLU激活函数一般加在卷积或者全连接层的输出上,网络中通常还会加入Dropout来防止过拟合。
1、基础术语
1.1、卷积(Convolution)
卷积计算
卷积是数学分析中的一种积分变换的方法,在图像处理中采用的是卷积的离散形式。卷积核(kernel)也被叫做滤波器(filter),假设卷积核的高和宽分别为 k h k_h kh和 k w k_w kw,则称为 k h × k w k_h×k_w kh×kw卷积。卷积核大小是2×2的卷积计算示例过程,如下:
在卷积神经网络中,一个卷积算子除了上面描述的卷积过程之外,还包括加上偏置项的操作。
填充(padding)
卷积输出特征图的尺寸计算方法如下(卷积核的高和宽分别为 k h k_h kh和 k w k_w kw):
H o u t = H − k h + 1 H_{out} = H - k_h + 1 Hout=H−