近年来流行的卷积神经网络
1. 回顾与目标
前面几讲,我们以LeNet
和AlexNet
为例,详细讲解了卷积神经网络的结构。从2012年AlexNet
在ImageNet
数据集上获得远超传统算法识别率以来,学术界在卷积神经网络方面进行了一系列的改进型研究工作,这一讲我们将描述这些重要的改进。
下图1是截至2015年卷积神经网络的发展图。
2012年AlexNet
将ImageNet
数据集的Top5错误率降低到16.4%。
2014年VGGNet
和GooleNet
分别将Top5错误率降低到7.3% 和 6.7%。
2015年ResNet
将这个错误降低到3.57%,首次达到和真人不相上下的错误率。
在这一讲中,我们将大致讲解VGGNet
、GooleNet
和ResNet
的结构。同时我们将这三个网络的论文链接附在参开资料中,供大家下载学习。
2. 近年来流行的卷积神经网络
2.1 VGGNet
首先是VGGNet
,下图2是16层和19层的VGGNet
(VGG16
和VGG19
)以及它们与AlexNet
的对比图。
VGGNet
对AlexNet
的改进包括两个方面:
- 增加了网络的深度
- 用多个3×3卷积核叠加代替更大的卷积核,用以增加感受野(
Receptive Field
)
2.1.1 感受野的概念
在卷积神经网络中,感受野(Receptive Field
)的定义是卷积神经网络每一层输出的特征图(Feature Map
)上的像素点在输入图片上映射的区域大小。在通俗一点的解释是特征图上的一个点对应输入图上的区域,如下图3所示。
图3最右边绿色特征图上左上角的一个点对应的感受野是最左边原图像上5×5
的方格。
2.1.2 感受野的计算
下面我们通过两个例子来介绍感受野是如何计算的。
例1:两层3×3的卷积核卷积操作之后,第三层特征图上的每一个点的感受野是5×5,其中卷积核(filter
)的步长(stride
)为1、padding
为0。其计算的方式如下图所示。
例2:如果步长stride=2,则两层3×3
卷积核操作之后,第三层特征图上每一个点的感受野是15×15。
计算感受野的一般公式为:
R F i = ( R F i − 1 − 1 ) × s t r i d e i − 1 + K S I Z E i RF_i=(RF_{i-1}-1)×stride_{i-1}+KSIZE_i RFi