罗泽鹏,范 峰,高宇航
(华北理工大学,河北 唐山 063210)
深度学习是机器学习领域中的一个分支,起源于人工智能领域,其起源可以追溯到1980年提出的新认知机[1]概念,而现代深度神经网络得以发展离不开向后传播算法[2]的提出,现代深度神经网络基本上都使用反向传播(Back Propagation,BP)算法进行训练。之后很长一段时间内深度神经网络训练由于BP神经网络模型带来的梯度弥散(Gradient Diffusion),直到Hinton[3]在2006年提出的逐层训练方法才重新将人们的目光转向深度神经网络。
随着近年传感器技术发展以及越来越强大越来越容易获取的计算资源,出现了许多复杂高维数据集。在这一类数据集上使用浅层机器学习模型的表现通常会变差。例如K近邻(K-Nearsert Neighbor,KNN)学习是一种常用的监督学习方法,常用于分类问题,其工作机制非常简单;给定测试样本,基于某种距离度量找出训练集中与其最靠近的K个训练样本,然后基于这K个近邻的信息来进行预测。在模式识别领域中,最近邻居法是一种用于分类和回归的非参数统计学方法。在这两种情况下,输入包含特征空间中的K个最接近的训练样本。近年来,计算机视觉领域取得许多引人注目的成果,尤其是卷积神经网络(Convolutional Neural Networks,CNNs)在分类、目标检测问题上取得了优异成绩。因此,本文通过对比K近邻模型与卷积神经网络在高维度数据集上的表现,证明卷积神经网络处理高维数据集有优异的性能。
在机器学习的模型上,选取了具有代表性的KNN模型作为浅层机器学习模型的代表。卷积神经网络方面,构建了2个卷积神经网络的模型作为卷积神经网络对比项。
使用了基于ResNet50[4]裁剪后的迷你版作为实验的第一阶段的卷积神经网络模型,在卷积层尺度上进行相应缩小。使用残差网络随着深度增加,准确度也会随之增加。其中Conv2,Conv3,Conv4,Conv5层均是由残差块组成的一系列卷积层池化层。
如表1所示,基于RestNet50层模型修改而来的缩小版的架构,我们称之为ResNet50-mini。
表1 ResNet50-mini结构
对于实验第二阶段使用了一个6层神经网络结构。网络结构如图1所示,由1层卷积层、1层池化层、4层全连接层组成。
图1 6层卷积网络
实验主要分为两个阶段:第一阶段,对比KNN与ResNet50-mini在同一数据集以及相同划分下对分类任务的准确度。第二阶段,对比KNN与6层卷积神经网络在统一数据以及同一划分下对分类任务的准确度,来获得更具有普遍性的结论。
2.1.1 实验数据选择与处理
实验阶段一使用的数据集为加州大学欧文(尔湾)分校(University of California Irvine,UCI)的可穿戴计算体态运动分类数据集[5]。此数据集一共有18列,165632条数据,使用4个三轴加速传感器记录了8 h的活动数据,将活动分为5类(坐,坐下,站立,站起,行走)。
将数据集按1∶4比例随机划分训练集以及测试集,训练集为124224条数据测试集有41409条数据。
选取年龄、身高、体重、BMI指数、4个三轴传感器数据,一共16列作为特征值。可穿戴计算体态分类数据集各列数据类型如表2所示。
表2 可穿戴计算体态分类数据集各列数据类型
如图2所示,这两张的4×4大小的灰阶图片都包含着可以用来判断体态行为的所有数据。虽然通过肉眼看上去,这两张图片好像有着很大的差异,但是事实上,这两张图片所表示的数据都属于同一类体态。KNN算法在此数据集上的表现为99.54%的准确率。
2.1.2 训练ResNet50-mini模型
使用ResNet50-mini模型,模型使用的优化算法为Adam算法[6],损失函数为多类交叉熵(categorical crossentropy)函数。
如图3所示,ResNet50-mini经过10个Epoch的训练损失和准确率的变化情况。可以直观地看到,损失下降得很快,随着损失的快速下降,训练集的准确率也在不断提升。经过1000个Epoch的训练,ResNet50-mini在测试集上的分类精度达到了99.56%。
2.2.1 实验数据选择与处理
实验阶段二使用的数据维数较实验阶段一使用的数据更为庞大。选用的数据集为NIPS 2003特征选取挑战赛中5个数据集之一的Arcene数据集[7]。Arcene数据集的任务是使用大量的质谱数据分辨目标是否患有癌症。Arcene数据集一共包含有900条数据训练集、验证集、测试集分别来自3个不同的来源。其中训练集、验证集各100条数据,测试集700条数据,但未给出标注。选取ml-benchmarks中的已标注的100条数据作为测试集。其中,每条数据有10000个特征。
图2 UCI可穿戴计算体态分类数据集选取特征组成的4×4灰阶
如图4所示,这是Arcene数据集中一条数据展开成100×100大小矩阵所转化成的灰度图片。与实验阶段一不同的是,通过肉眼已经无法看出其中存在的模式。
图3 ResNet50-mini训练情况
图4 ARCENE数据组成的100×100的灰阶
2.2.2 训练卷积神经网络
将数据集中的测试集、验证集与验证集合并,并随机划分为270条数据为训练集,30条数据为测试集。
本阶段实验选取的模型为4层卷积神经网络,结构如图1所示,训练中使用的优化算法为Adam算法,损失函数为多类交叉熵(categorical crossentropy)函数。
如图5所示,ARCENE数据集在6层卷积神经网络上的训练情况可以看出,虽然一开始损失很大,但是随着训练的时间开始快速下降,100个Epoch训练后分类准确度达到69.99%。
在实验阶段一中,KNN在UCI可穿戴体态分类数据集上进行多分类任务准确度可以达到99.54%,而卷积神经网络ResNet50-mini在这一任务上的表现则为99.56%。阶段二中,KNN在ARCENE数据集上的表现为53.33%,而6层卷积神经网络在这一任务上可以达到69.99%的准确度。
实验结果如表3所示,无论在ResNet50-mini这样深度较大的神经网络或是一个6层卷积神经网络,对高维数据集的分类任务都有着优异的表现。
表3 实验结果对比
图5 6层卷积神经网络100个Epoch的训练情况
经过两个阶段的实验,可以直观地看出深度卷积神经网络在提取高维数据集特征以及处理分类任务上有着优异的表现,取得了普通浅层机器学习模型难以达到的成绩。通过浅层机器学习模型来处理这一类高维数据集的分类问题是有一定难度的,通常需要消耗大量的时间来预处理数据或使用一些方法来降低维度。而卷积神经网络在关于图片视频的计算机视觉问题上拥有的优势可以运用在传统的高维数据集中[8]。实验表明,对于高维数据集,深度卷积神经网络往往有着比KNN更优异的性能。通过较短时间的训练,对于高维数据集的分类问题上能够达到较KNN更高的准确度。
[1]FUKUSHIMA K.Neocognitron: a self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position[J].Biological Cybernetics,1980(4):193-202.
[2]WERBOS P.Beyond regression: new tools for prediction and analysis in the behavioral science[D].Massachusetts:Harvard University,1974.
[3]HINTON G E,SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J].Science,2006(5786):504-507.
[4]HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C].Las Vegas:IEEE Conference on Computer Vision and Pattern Recognition,2016.
[5]UGULINO W,CARDADOR D,VEGA K,et al.Wearable computing: accelerometers’ data classification of body postures and movements[C].Curitiba:Brazilian Conference on Advances in Artificial Intelligence. Springer-Verlag,2012.
[6]KINGMA D,BA J.Adam: a method for stochastic optimization[J].Computer Science,2014(10):22.
[7]GUYON I.Design of experiments for the NIPS 2003 variable selection benchmark[J].Science,2003(6):8-12.
[8]卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2016(1):1-17.