舰船科学技术  2019, Vol. 41 Issue (11): 188-193   PDF    
不同数据集容量下的卷积神经网络图像识别性能
邢世宏1, 施闻明1, 任荟洁2     
1. 海军潜艇学院,山东 青岛 266199;
2. 中国人民解放军92763部队,辽宁 大连 116000
摘要: 为探究在无法获取充足图像数据样本的前提下,怎样发挥卷积神经网络图像识别的良好性能,针对训练数据集容量与卷积神经网络图像识别性能的关系进行深入研究。首先阐述了机器学习能够学习的条件,并根据VC Dimension理论推导出数据集容量与卷积神经网络参数量的关系,接着构建DigitNet与Cifar10Net网络模型,然后分别在不同容量的手写数字识别数据集及Cifar10数据集上训练模型并检验相应的训练模型的识别正确率,最后分析了实验结果是否符合推导的训练数据集容量与卷积神经网络参数量之间的关系。实验结果表明:卷积神经网络的图像识别性能与数据集容量之间存在着一定的关系,在满足卷积神经网络对数据集容量的最低要求时,卷积神经网络即可获取良好的图像识别性能。因此在无法获取海量数据集的情况下,采用卷积神经网络解决实际问题时,仅需要模型参数量10倍的训练数据容量为下限即可获取性能良好的网络模型。
关键词: 数据集容量     卷积神经网络     图像识别    
Image recognition performance under different data set capacity
XING Shi-hong1, SHI Wen-ming1, REN Hui-jie2     
1. Navy Submarine Academy, Qingdao 266199, China;
2. No.92763 Unit of PLA, Dalian 116000, China
Abstract: In order to explore how to achieve good performance of image recognition with convolutional neural network under the premise of insufficient image data set, the relationship between data set capacity and image recognition by convolutional neural network performance is researched thoroughly. Firstly, explain the relation between data set capacity and the convolutional neural network parameter quantity based on the VC Dimension. Then build the DigitNet and Cifar10Net convolutional neural network, train the model on the different capacities of hand-written digital identification data sets and Cifar10 data sets. Lastly get recognition accuracy of the corresponding training model. Finally, it is analyzed that the relation between the training data set capacity and the convolutional neural network parameter amount. The experimental results show that there is a certain relationship between the image recognition performance of the convolutional neural network and the capacity of the data set. When satisfying the minimum requirement of the convolutional neural network for the capacity of the data set, the convolutional neural network can obtain good image recognition performance. Therefore, when a convolutional neural network is used to solve practical problems in the case that a large amount of data sets cannot be obtained, only 10 times the amount of training parameters of the model parameter is required as the lower limit to obtain a well-performing network model.
Key words: data set capacity     convolutional neural network     image recognition    
0 引 言

深度学习是近十年来人工智能领域取得的重要突破。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域的应用取得了巨大成功。现有的深度学习模型属于卷积神经网络。神经网络的起源可追溯到20世纪40年代,曾在八九十年代流行。神经网络试图通过模拟大脑认知的机理解决各种机器学习问题。1986年,Rumelhart,Hinton和Williams[1]发表了著名的反向传播算法用于训练神经网络,该算法直到今天仍被广泛应用。

随着2012年Alex Krizhevsky的AlexNet[2]在ILSVRC2012[3](ImageNet大规模视觉识别挑战赛竞赛)中获得冠军,深度卷积神经网络在大数据及高速GPU计算的推动下迅猛发展,到2015年,ResNet[4]以Top5错误率为3.57%的成绩获取ILSVRC冠军;在人脸识别领域,DeepID[5]采用人脸辨识作为监督信号,在LFW[6]上取得了97%的识别率;在物体检测领域,以深度神经网络为基础的检测模型R-CNN[7],Fast R-CNN[8],Faster R-CNN[9],R-FCN[10]在物体检测方面获得了很好的成绩,上述的深度神经网络都是基于像ImageNet一样的大数据样本才能获取较好的效果。此外,压缩的卷积神经网络如SqueezeNet[11],MobileNets[12] XNOR-Net[13],Deep compression[14],Deep Model Compression[15],Perforated CNNs[16],Binarized Neural Networks[17]等网络模型的训练都是建立在大数据的基础上,数据容量的多少成为能否训练出一个好模型的关键因素。但上述各领域应用的模型对模型的建立与数据集容量间的关系没有进行深入分析,仅停留在大数据集容量上。因此在采用深度学习方法解决现实问题时会出现需要多少训练数据的问题。目前关于训练网络所需的数据集容量的理论研究还处于空白状态,还没有相应的机器学习理论能解释两者直接的关系。本文在深入研究机器学习的相关理论后推导出深度卷积神经网络的复杂度与数据集容量之间的关系,并用实验验证了两者关系的有效性,为卷积神经网络的构建与训练提供相应的理论及经验依据。

1 数据集容量与卷积神经网络复杂度间的关系 1.1 VC维理论

机器学习相关理论中,虽然没有直接给出数据集容量与卷积神经网络参数量之间的关系,但明确阐述了VC维理论。根据Hoeffding[18]不等式:

$P[|v - u| > \varepsilon ] \leqslant 2\exp \left( - 2{\varepsilon ^2}N\right),$ (1)

其中: $v$ 为数据集中某变量随机出现的频率, $u$ 为该变量出现的概率, $\varepsilon $ 为任意大于0的值,一般为较小值。

引入2个值 ${E_{out}}(h)$ ${E_{in}}(h)$

${E_{out}}(h) = \mathop \varepsilon \limits_{x \sim P} \left[\kern-0.15em\left[ {h(x) \ne f(x)} \right]\kern-0.15em\right],$ (2)
${E_{in}}(h) = \frac{1}{N}\sum\limits_{n = 1}^N {\left[\kern-0.15em\left[ {(h({x_n}) \ne {y_n})} \right]\kern-0.15em\right]}\text{。}$ (3)

其中: $h({x_n})$ 为抽样假设, ${y_n}$ 为抽样真值。 $h(x)$ 为所有样本的假设, $f(x)$ 为所有样本的真值。

同理可以将式(1)表示为:

$P[|{E_{in}}(h) - {E_{out}}(h)| > \varepsilon ] \leqslant 2\exp \left( - 2{\varepsilon ^2}N\right),$ (4)
$P[|{E_{in}}(h) - {E_{out}}(h)| > \varepsilon ] \leqslant 2M\exp\left( - 2{\varepsilon ^2}N\right),$ (5)

其中: $M$ 表示假设的个数。每个假设下的bad事件 ${B_m}$ 级连形式满足下列不等式:

$ P[{B_1}or{B_2}or{B_3}or \!\cdots \!{B_M}]\! \leqslant\! P[{B_1}] \!+\! P[{B_2}] \!+\! \cdots \!+\! P[{B_M}] , $ (6)

$M = \infty $ 时,上式bad事件会很大,这样 ${E_{in}}(h)$ ${E_{out}}(h)$ 并不接近,但 ${B_m}$ 级联的形式实际上是扩大了上界,导致边界过大。但是实际情况并非如此, $h$ 之间有交集,也就是说 $M$ 实际上没有那么大。因此这里引入 $effective(N)$ 代替 $M$ ,得到:

$ P[|{E_{in}}(h) \!-\! {E_{out}}(h)| \!>\! \varepsilon ] \!\leqslant\! 2effective(N) \cdot \exp \left( - 2{\varepsilon ^2}N\right) , $ (7)

其中 $effective(N) \ll {2^N}$

这里再引入成长函数 ${m_H}(H)$ ,其上界为 ${N^{k - 1}}$ $k$ 为断点数。

根据上述理论Vapnik-Chervonenkis[19]引入了Vapnik-Chervonenkis dimension(VC维)。VC维度量二元分类器的容量。VC维被定义为该分类器能够分类的训练样本的最大数目。VC维的边界表示如下:

$\begin{split} & P[|{E_{in}}(h) - {E_{out}}(h)| > \varepsilon ] \leqslant \\ & P[|{E_{in}}(h) - {E_{out}}(h)| > \varepsilon ] \leqslant\\ & P[\exists h \in {\rm H}s.t.|{E_{in}}(h) - {E_{out}}(h)| > \varepsilon ] \leqslant\\ & 4 \cdot {m_H}(2N)\exp \left( - \frac{1}{8}{\varepsilon ^2}N\right) \leqslant \\ & 4{(2N)^{k - 1}}\exp \left( - \frac{1}{8}{\varepsilon ^2}N\right) \text{。} \end{split} $ (8)

式(8)不等号右端即为VC维边界。

1.2 数据集容量与卷积神经网络参数量的关系

根据断点理论,VC维 ${d_{vc}}$ 与断点数 $k$ 之间存在 ${d_{vc}} = k - 1$ 的关系,因此式(8)可以表示为:

$ P[|{E_{in}}(h) - {E_{out}}(h)| > \varepsilon ] \leqslant 4{(2N)^{{d_{vc}}}} \cdot \exp \left( - \dfrac{1}{8}{\varepsilon ^2}N\right)\text{。} $ (9)

在选定VC维后,限定错误率不超过 $\delta $ 时,即可由式(9)不等号右侧项得到相应的样本容量。

$\varepsilon = 0.1$ $\delta = 0.1$ ${d_{vc}} = 3$ ,在给定的错误率为 $\delta = 0.1$ 时,即可根据式(9)得到所需样本 $N = 29\;300$ ,通过比较发现 $N$ 大约为 ${d_{vc}}$ 的10 000倍,然而实际中不需要这么多数量,由于VC维边界过于宽松,因此会得到一个比实际大得多的上界。

当一个假设空间 $H$ $k$ 个断点,那么它的成长函数 ${m_H}$ 是有界的,它的上界称为上界函数 $B(N,k)$ ,根据数学归纳法,上界函数也是有界的,且上界为 ${N^{k - 1}}$ 。从表1表2可以看出 ${N^{k - 1}}$ $B(N,k)$ 要松弛很多。

表 1 BN,k)边界值 Tab.1 BN,k)boundary value

表 2 ${N^{k - 1}}$ 边界值 Tab.2 Nk-1 boundary value

由于成长函数 ${m_H}$ 代表模型复杂度,而在 $N \geqslant 2$ 时, ${d_{vc}} = 3$ 时, ${m_H} \leqslant {N^3}$ ,那么VC维上界问题转换成了 ${d_{vc}}$ $N$ 之间的关系了。

上述当 ${d_{vc}} = 3$ 时得到所需的样本量为 $10\;000{d_{vc}}$ ,对比表1表2右下角部分,可以看出 ${N^{k - 1}}$ 要比 $B(N,k)$ 宽松很多,因此在 ${d_{vc}} = 3$ $10\;000{d_{vc}}$ 的数据量过于宽松。然而卷积神经网络的 ${d_{vc}}$ 实际中是无法得到的,但由于网络的特征是稀疏的,可以简化为用网络特征参数量来近似 ${d_{vc}}$

由于深度神经网络特征是稀疏的,并且网络中包含了规范化及特征选择技术,实际训练模型过程中真实输入的特征数应少于原始特征数量,因此在估算深度神经网络在训练中所需的数据容量时,可以根据网络隐藏层的参数量来代替 ${d_{vc}}$ ,并且通过计算 ${d_{vc}} \geqslant 3$ 时,容量为 $10\;000{d_{vc}}$ 的数据集可以满足网络模型的需求,然而实际中有很多领域很难获取如此大的数据集,并且 $10\;000{d_{vc}}$ 的容量太宽松。在此基础之上,通过实验来紧缩数据容量,得到一个比 $10\;000{d_{vc}}$ 更紧凑关系。

2 构建卷积神经网络

受Hubel和Wiesel[20]对猫视觉皮层生理研究启发,有人提出卷积神经网络(CNN)[21],Yann LeCun[22]最早将CNN用于手写数字识别。卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。

构建网络需要上述相关层的组合,可能相似的层会出现多次,具体需要多少层或者需要什么功能的层与网络的复杂度、解决问题的复杂度相关,目前还没有针对构建网络层数的相关理论,所有网络的搭建停留在经验的基础上。本文在研究数据集容量与卷积神经网络参数量之间的关系时也是在LeNet,AlexNet的经验基础上进行的。

2.1 不同容量的数据集

由于卷积神经网络的训练对计算机的硬件性能要求较高,因此考虑到实验条件的限制,这里选取手写数字识别的数据集mnist[23]及Cifar10[24]。Mnist是由Google实验室的Corinna Cortes和纽约大学柯朗研究所的Yann LeCun建立的手写数字数据库,训练库有60 000张手写数字图像,验证库有10 000张,另外通过其他途径获取了包含有10 000张的测试集,相应的各标签下的容量如表3所示,数据集中的部分数据图像如图1所示。

表 3 Mnist数据集容量 Tab.3 Mnist data set capacity

图 1 Mnist数据集 Fig. 1 Mnist data set

Cifar10数据集共有60 000张彩色图像,尺寸为32*32,分为10个类,每类6 000张图。这里面有50 000张用于训练,构成了5个训练批,每一批10 000张图;另外10 000用于验证,单独构成一批。测试批的数据里,取自10类中的每一类,每一类随机取1 000张。剩下的随机排列组成了训练批。一个训练批中的各类图像数量并不一定相同,总的来看训练批,每一类都有5 000张图,部分Cifar10图像如图2所示。

图 2 Cifar10数据集 Fig. 2 Cifar10 data set
2.2 构建卷积神经网络DigitNet和Cifar10Net

根据手写数字识别及Cifar10识别的复杂度,并参考LeNet及AlexNet网络构建经验,搭建了DigitNet及Cifar10Net网络,网络结构包括输入层、卷积层、ReLU、Pooling层、全连接层、Softmax层、输出层,结构如表4表5所示。给出相应数据集容量及网络模型的参数量的比值,如表6所示。

表 4 DigitNet卷积神经网络 Tab.4 DigitNet convolutional neural network

表 5 Cifar10Net卷积神经网络 Tab.5 Cifar10Net convolutional neural network

表 6 数据集容量与参数量比值 Tab.6 Ratio of data set capacity and parameter amount
3 数据集容量与卷积神经网络图像识别的关系 3.1 不同数据集容量对DigitNet识别性能的影响

网络模型的训练收敛速度很大程度上取决于bachsize,因此为了使网络模型在不同容量的数据集上更快收敛,将DigitNet在训练数据容量为57 000到6 000之间的bachsize设定为256,容量为5 100到600间的bachsize设定为20。在不同容量的训练集中分别训练DigitNet的3个模型,训练得到的准确率如表7所示。

表 7 不同训练数据集下DigitNet模型的识别准确率 Tab.7 The recognition accuracy of digitnet model under different training data sets

3个DigitNet网络模型分别在不同容量的数据集上训练并在验证集及测试集上分别实验了识别性能,根据表8的识别正确率绘制了不同训练数据集容量与网络模型识别正确率之间的关系曲线,如图3所示。

表 8 不同训练数据集下Cifar10Net模型的识别准确率 Tab.8 The recognition accuracy of cifar10net model under ​​​​​​​different training data sets

图 3 不同训练数据集下DigitNet模型的识别准确率曲线 Fig. 3 The recognition accuracy curve of digitnet model under different training data sets

表7图3中可以看出,随着训练数据容量的减少,验证集及测试集上的识别正确率呈现下降趋势,同时可以看出容量超过20 000的识别情况并没有太大的变化,在验证集上的识别率几乎与最大容量时相同,只是在测试集上表现不太稳定,但总体上没有超过0.1。随着容量的继续减少,到6 000到5 100时出现了一个较大的波动,这是因为在这里调整了batchsize的大小,从调整完之后可以看出,数据集容量减少到3 200时识别率才呈现出明显的下降趋势。

3.2 不同数据集容量对Cifar10Net识别性能的影响

Cifar10只有训练集及验证集,没有收集相关的测试集,因此训练好的模型只在验证集上进行测试,训练过程中设置batchsize为100,测试的结果如表8所示。

根据训练得到的测试数据,绘制训练数据容量集与识别准确率曲线如图4所示。从图中可以看在容量为17 500时,曲线下降趋势开始明显,在容量50 000到17 500之间识别率没有大的变化,只是有较小的波动。

图 4 不同训练数据集下Cifar10Net识别准确率曲线 Fig. 4 The recognition accuracy curve of Cifar10Net model under different training data sets

在上述进行的实验中发现,DigitNet虽然在调节batchsize时曲线有较大的波动,但这种波动可以通过调节batchsize的大小来获取较好的训练网络,也就是说真正由训练集容量导致识别率快速下降的容量为3 200到2 400的时候,如表7图3所示。在Cifar10Net训练识别过程中,由于没有调整batchsize的大小,因此在识别过程中没有出现大的波动,但是随着训练集容量的变化,在容量为12 500到10 000时识别率下降开始明显。根据上述分析分别选取DigitNet与Cifar10Net识别曲线上容量为3 200及17 500两个容量值作为网络在保持较好识别率的容量下限,并计算其与对应的模型参数量的比值,如表9所示。

表 9 容量下限与模型参数量比 Tab.9 The ratio of lower limit of capacity and model parameters

通过mnist及cifar10识别实验中发现有实际数据量没有达到10 000 ${d_{vc}}$ 时也可以获取较好的结果,这是因为实际给出的训练样本容量较为宽松。因此实际中使用深度卷积神经网络时可以根据解决问题的复杂程度准备相应的训练数据集。从本文的实验数据表8可以推断出,在解决较为简单的识别问题时,数据集容量的下限为 $10{d_{vc}}$ ,如果解决问题的复杂度较大时可以适量增加数据集容量。

4 结 语

本文根据Vapnik-Chervonenkis的VC维理论,得到了对应于二分类 ${d_{vc}}$ 的宽松数据集容量为 ${\rm{10\;000}}{d_{vc}}$ 。然后根据LeNet及AlexNet网络的搭建经验,搭建了适合研究mnist及cifar10数据的DigitNet及Cifar10Net网络,通过6个不同的网络在不同容量数据集的训练后,测试了对应网络模型的识别率,绘制了训练数据集容量对构建的卷积神经网络识别性能的影响曲线,从中发现,卷积神经网络的训练并不是训练数据越多越好,在一定模型下,训练数据也没有必要达到模型参数量的10 000倍,根据VC维理论, ${\rm{10\;000}}{d_{vc}}$ 过于宽松,因此实际中无需 ${\rm{10\;000}}{d_{vc}}$ 的训练数据。本文实验结果给出了在解决mnist及cifar10数据集识别的问题无需很大的数据集容量,仅需要模型参数量的10倍为下限即可达到很好的识别效果。本文为无法获取大量数据情况下使用卷积神经网络解决实际问题提供了一些实践指导,也为接下来的舰船识别提供了相应的依据。

参考文献
[1]
RUMELHART D E, HINTON G E, WILLIAMS R J. Leaning internal representations by back-propagating errors[J]. Nature, 1986, 323(6088): 318-362.
[2]
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the Acm, 2012, 60(2): 2012.
[3]
STANFORD VISION Lab S U, Princeton University ImageNet[EB/OL]. http://www.image-net.org/.
[4]
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[J].  , 2015, 770-778.
[5]
OUYANG W, ZENG X, WANG X, et al. DeepID-Net: deformable deep convolutional neural networks for object detection[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, PP(99): 1-1.
[6]
Labeled Faces in the Wild[EB/OL]. http://vis-www.cs.umass.edu/lfw/.
[7]
GIRSHICK R, DONAHUE J, DARRELL T, et al. Region-based convolutional networks for accurate object detection and segmentation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016, 38(1): 142.
[8]
GIRSHICK R. Fast R-CNN[C]//IEEE International Conference on Computer Vision, 2015: 1440-1448.
[9]
REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]//International Conference on Neural Information Processing Systems, 2015: 91-99.
[10]
DAI J, LI Y, HE K, et al. R-FCN: Object Detection via Region-based Fully Convolutional Networks[J], 2016.
[11]
IANDOLA F N, HAN S, MOSKEWICZ M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5 MB model size[J], 2016.
[12]
HOWARD A G, ZHU M, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[J], 2017.
[13]
RASTEGARI M, ORDONEZ V, REDMON J, et al. XNOR-net: imagenet classification using binary convolutional neural networks[J].  , 2016, 525-542.
[14]
HAN S, MAO H, DALLY W J. Deep compression: compressing deep neural networks with pruning, trained quantization and huffman coding[J]. Fiber, 2015, 56(4): 3-7.
[15]
SAU B B, BALASUBRAMANIAN V N. Deep model compression: distilling knowledge from noisy teachers[J], 2016.
[16]
FIGURNOV M, IBRAIMOVA A, VETROV D, et al. PerforatedCNNs: acceleration through elimination of redundant convolutions[J]. Computer Science, 2015.
[17]
HUBARA I, SOUDRY D, RAN E Y. Binarized Neural Networks[J], 2016.
[18]
HOEFFDING W. Probability inequalities for sums of bounded random variables[J]. Publications of the American Statistical Association, 1994, 58(301): 13-30.
[19]
VAPNIK V N, CHERVONENKIS A Y. On the uniform convergence of relative frequencies of events to their probabilities[J]. Theory of Probability & Its Applications, 1971, 17(2): 264-280.
[20]
HUBEL D H, WIESEL T N. Receptive fields, binocular interaction and functional architecture in the cat's visual cortex[J]. Journal of Physiology, 1962, 60(1): 106.
[21]
LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-44. DOI:10.1038/nature14539
[22]
LECUN Y. LeNet-5, convolutional neural networks[J].
[23]
YANN LECUN C C, CHRISTOPHER J.C. Burges. THE MNIST DATABASE of handwritten digits[EB/OL]. http://yann.lecun.com/exdb/mnist/.
[24]
ALEX KRIZHEVSKY V N, And GEOFFREY Hinton. The CIFAR-10 dataset[EB/OL]. http://www.cs.toronto.edu/~kriz/cifar.html.