2. 中国人民解放军92763部队,辽宁 大连 116000
2. No.92763 Unit of PLA, Dalian 116000, China
深度学习是近十年来人工智能领域取得的重要突破。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域的应用取得了巨大成功。现有的深度学习模型属于卷积神经网络。神经网络的起源可追溯到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) |
其中:
引入2个值
${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) |
其中:
同理可以将式(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) |
其中:
$ 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) |
当
$ P[|{E_{in}}(h) \!-\! {E_{out}}(h)| \!>\! \varepsilon ] \!\leqslant\! 2effective(N) \cdot \exp \left( - 2{\varepsilon ^2}N\right) , $ | (7) |
其中
这里再引入成长函数
根据上述理论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维
$ 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维后,限定错误率不超过
当
当一个假设空间
![]() |
表 1 B(N,k)边界值 Tab.1 B(N,k)boundary value |
![]() |
表 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 |
根据手写数字识别及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 |
网络模型的训练收敛速度很大程度上取决于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
本文根据Vapnik-Chervonenkis的VC维理论,得到了对应于二分类
[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.
|