一、人工神经网络发展浪潮
下图展示了人工神经网络的发展历程:
在ImageNet2012年的竞赛上,采用了最新的卷积神经网络,误差一下子降低了10个点,如下图所示。从此卷积神经网络迎来浪潮,如VGGNet,InceptionNet,残差网络ResNet等。
二、卷积计算与神经网络结构
1.卷积定理
卷积是分析数学中的一种重要运算,具体而言,设 f ( x ) f(x) f(x)和 g ( x ) g(x) g(x)是 R R R上的两个可积函数,连续形式卷积定义如下:
其核心就是这两个函数对应位置进行相乘,然后对他们的结果进行积分操作。
卷积有两个基本的特征:
常值函数卷积结果:
反比例函数卷积结果:
(1)它的计算是局部的,这个从上图就能看出,卷积左边时并不影响右边,卷积右边时也不影响左边;
(2)卷积可以作为特征的检测器,为什么这么说呢,看上面两张图中的滤波器都是一样的,都为窗口型的滤波器,但是被检测信号一个是窗口型的,另外一个是反比例函数型的,可以看出卷积结果呈现出了不一样的特征。
离散卷积也是一样的,比如说对信号 x x x,卷积核是 w w w,它的卷积结果就是在不同位置,将信号与卷积核进行相乘,然后把它们的结果进行求和操作。
例如,一维离散卷积:红色为信号,黑色为卷积核,绿色为卷积结果。
二维离散卷积:
接下来看看哪些参数能影响卷积,也就是说我们人为的能设置哪些参数。
2.基本概念——卷积
(1)卷积核大小 (Kernel Size) :卷积操作感受野,在二维卷中 ,通常设置为 3,即卷积核大小为 3×3;
(2)步长 (Stride) :卷积核遍历图像时的步幅大小,常设置为 1;
(3)边界扩充 (Padding):样本边界的处理方式;
(4)输入与出通道 (Channels):构建卷积层时需定义输入通道数量 I I I,和输出通道数量 O O O,每个网络层的参数量为 I × O × K I×O×K I×O×K( K K K为卷积核的参数 个)。
3.基本概念——池化、全连接
先看一下池化层和全连接层的区别:
➢ 池化层
➢ 特殊形式卷积
➢ 降维、减少数据计算量,减缓过拟合,特
征不变性(平移、尺度)
➢ 全连接层
➢ 模型输出层
➢ 分类、回归
之所以说是特殊形式的卷积,如下图所示:
其实就是一个2 x 2的卷积核,步长为2,卷积结果不是加权求和,而是取最大值。
所谓特征不变性是指:数据发生了一定的变化,对于最终的输出结果是不变的,如上图是一层的池化,得到6834,若再做一层池化,得到8,这个8对应原图4 x 4中的8,4 x 4中的8在感受野范围内无论怎么平移,在最终得到的两层的池化结果都是不变的;
对于尺度不变性:比如将这个8的范围进行扩大,如1,0,6都变成8,虽然第一次池化结果发生变化,但是经过两次池化后,最终的结果还是不变的。
4.多层卷积神经网络
了解完前面的知识,相信对卷积有了一个大概的认识,下面将卷积操作扩展至多个,直接看几个例子吧。
例子1,如下图所示:
➢卷积核大小为 5 ∗ 5 5*5 5∗5,步长为 1 1 1,不扩充 边界 ,输入通道为 3 3 3,输出通道为 2 2 2;
例子2,如下图所示:
➢输出通道数为 6,其余参数不变 ;
例子3,如下图所示:
➢第一层的输出通道数为 3 3 3,第二层输 出通道数为 6 6 6。
5.现代卷积神经网络结构基础 —— LeNet
➢LeNet LeNet 诞生于 1994 年,由Yann LeCun提出 ,用于手写字符识别与分类;
➢6层网络结构:两个 卷积层 ,两个 下采样层 和两个 全连接层;
➢卷积层包括两部分: 卷积计算 和 sigmoid 非线性激活函数。
如下图所示就是LeNet LeNet 的网络结构图:
这里要注意,非线性激活函数的作用是不可替代的,这是因为卷积的计算本身是线性操作,连续多次的线性卷积等效于一次线性卷积,则网络的计算能力不会提升,而且这个多次线性卷积会引入更多的参数,可能会使模型过拟合。
6.研究重心转向卷积神经网络 —— AlexNet 、VGGNet
➢网络更深: AlexNet一共 8层,VGGNet 一共 16 层或 19 层
➢数据增广: 为增强模型泛化能力,对256 ×256的原始图像进行随机裁剪,得到尺寸 为224 ×224 图像 ,输入网络进行训练;
➢ReLU非线性激活函数: 减少计算量 ,缓解梯度消失,缓解过拟合 。ReLU 激活函 数现已成为神经网络中最通用的激活函数;
➢Dropout: 全连接层神经元以一定概率失活, 失活