首页 > 文章中心 > 卷积神经网络特征

卷积神经网络特征

卷积神经网络特征

卷积神经网络特征范文第1篇

以上文章都结合卷积神经网络模型对交通标志分类做了大量的研究,避免了复杂的人工特征提取算法的设计,研究结果具有一定的参考性。在现有卷积神经网络模型的启发下,以上文章都采用分类器。而训练分类器需要大量样本,因而在小样本数据下,采用分类器容易造成过拟合,降低网络的泛化性。同时,由于SVM分类器在小样本数据集上具有出色分类性能,本文提出一种基于卷积神经网络和多类SVM分类器[[4]的交通标志识别模型。此模型利用卷积神经网络强大的特征提取和泛化能力,使得算法在复杂环境中依然具有可靠的识别结果。  首先,本文通过迁移学习策略「51L61对AlexNet网络[7]特征提取部分进行微调,并将微调结果作为本文的特征提取器。然后将卷积神经网络提取的特征作为多类SVM分类器的输入。同时为了进一步防止过拟合现象的发生,本文在SVM分类器中加入dropout层,利用随机置零策略进行参数选择。最后,文章通过实验结果证实本文提出的分类模型相比于采用softmax分类器有更好的准确率、在复杂背景中具有较高的识别率和较强的鲁棒性棒。1卷积神经网络和SVM

1.1  AlexNet网络    

AlexNet网络是著名的卷积分类网络,可成功实现对1000类别物体的分类。其结构可以分为特征提取器和分类器两部分。    

特征提取器主要由卷积层、池化层、激活函数组成。卷积层由大小不同的卷积核组成,卷积核类似于传统视觉中的特征提取算子。但区别于传统视觉算子,卷积核参数由网络自己学习得到,可以提取图像从底层到高层的不同特征信息。池化层常连接在卷积层之后,一般常用最大池化操作。池化层可以加强网络对平移变化的鲁棒性。激活函数为网络引入非线性因素,使得网络可以逼近任意函数形式。    

分类层主要由全连接层和多类逻辑回归函数组成。全连接层学习用合理的方式组合特征,可以看为函数映射。逻辑回归函数进行类别概率判别,逻辑回归判别见公式。同时,为了防止全连接层过拟合,AlexNet网络引入dropout层,dropout[9]采用随机置零的方式,防止神经元以特定的方式组合工作,从而防止深度网络的过拟合。p}Y}}}=j1二(‘);B)=艺  e醉x})丫‘eBTx}' }e'  j代表类别,二(i)为输入,k代表类别总数,8,表示将样本x}')映射到j类的参数,B代表er,r=i,z,~…  ,,组成的矩阵,p(少‘)=j}x(仍表示x}'}属于j类的概率。1.2标准SVM    SVM是基于结构风险最小化理论的有监督学习算法,通过寻找最优分割超平面来实现分类[}10}。相比于神经网络,SVM在小样本数据集上也能表现出良好的分类效果,因而得到广泛使用。标准的SVM通过寻求公式(2)的最优解来找到最优超分割平面。minw,b含,,w,,(2)yc> (w·二(‘)+b) >_ 1,i=1, 2,……,m尹)代表第i个样本标签,x}'}代表第i个样本特,m为训练集大小。分类模型设计    

本文提出的分类模型主要分为两部分,特征提取部分和多类SVM分类器。整体结构如图1所示。    

图1中,特征提取器主要对输入图片进行特征提取和融合,最终得到图像的高阶特征并将提取到的信息特征送入多类SVM分类器。dropout层进行参数随机丢失步骤,此步骤通过随机失活神经元可有效防止过拟合的发生;然后结合不加正则化项的SVM算法进行分类,得到最终输出结果。

2.1特征提取器    

卷积神经网络特征范文第2篇

关键词:卷积神经网络;图像分类;空间变换;可变形卷积

DOIDOI:10.11907/rjdk.171863

中图分类号:TP317.4

文献标识码:A 文章编号:1672-7800(2017)006-0198-04

0 引言

图像分类一直是计算机视觉领域的一个基础而重要的核心问题,具有大量的实际应用场景和案例。很多典型的计算机视觉问题(如物体检测、图像分割)都可以演化为图像分类问题。图像分类问题有很多难点需要解决,观测角度、光照条件的变化、物体自身形变、部分遮挡、背景杂波影响、类内差异等问题都会导致被观测物体的计算机表示(二维或三维数值数组)发生剧烈变化。一个良好的图像分类模型应当对上述情况(以及不同情况的组合)不敏感。使用深度学习尤其是深度卷积神经网络,用大量图像数据进行训练后可以处理十分复杂的分类问题。

卷积神经网络是为识别二维形状而专门设计的一个多层感知器,这种网络结构对平移、缩放、倾斜等扰动具有高度不变性,并且具有强大的特征学习与抽象表达能力,可以通过网络训练获得图像特征,避免了复杂的特征提取与数据重建过程。通过网络层的堆叠,集成了低、中、高层特征表示。AlexNet等网络模型的出F,也推动了卷积网络在海量图像分类领域的蓬勃发展。

1 卷积神经网络

卷积神经网络是人工神经网络的一种,其“局部感知”“权值共享”[1]等特性使之更类似于生物神经网络,网络模型复杂度大大降低,网络训练更容易,多层的网络结构有更好的抽象表达能力,可以直接将图像作为网络输入,通过网络训练自动学习图像特征,从而避免了复杂的特征提取过程。

Yann LeCun等[2]设计的LeNet-5是当前广泛使用的卷积网络结构原型,它包含了卷积层、下采样层(池化层)、全连接层以及输出层,构成了现代卷积神经网络的基本组件,后续复杂的模型都离不开这些基本组件。LeNet-5对手写数字识别率较高,但在大数据量、复杂的物体图片分类方面不足,过拟合也导致其泛化能力较弱。网络训练开销大且受制于计算机性能。

2012年,在ILSVRC竞赛中AlexNet模型[3]赢得冠军,将错误率降低了10个百分点。拥有5层卷积结构的AlexNet模型证明了卷积神经网络在复杂模型下的有效性,并将GPU训练引入研究领域,使得大数据训练时间缩短,具有里程碑意义。AlexNet还有如下创新点:①采用局部响应归一化算法(Local Response Normalization,LRN),增强了模型的泛化能力,有效降低了分类错误率;②使用Dropout技术,降低了神经元复杂的互适应关系,有效避免了过拟合;③为了获得更快的收敛速度,AlexNet使用非线性激活函数ReLU(Rectified Linear Units)来代替传统的Sigmoid激活函数。

Karen等[4]在AlexNet的基础上使用更小尺寸的卷积核级联替代大卷积核,提出了VGG网络。虽然VGG网络层数和参数都比AlexNet多,但得益于更深的网络和较小的卷积核尺寸,使之具有隐式规则作用,只需很少的迭代次数就能达到收敛目的。

复杂的网络结构能表达更高维的抽象特征。然而,随着网络层数增加,参数量也急剧增加,导致过拟合及计算量大增,解决这两个缺陷的根本办法是将全连接甚至一般的卷积转化为稀疏连接。为此,Google团队提出了Inception结构[5],以将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能。以Inception结构构造的22层网络GoogLeNet,用均值池化代替后端的全连接层,使得参数量只有7M,极大增强了泛化能力,并增加了两个辅助的Softmax用于向前传导梯度,避免梯度消失。GoogLeNet在2014年的ILSVRC竞赛中以Top-5错误率仅6.66%的成绩摘得桂冠。

网络层数的增加并非永无止境。随着网络层数的增加,将导致训练误差增大等所谓退化问题。为此,微软提出了一种深度残差学习框架[6],利用多层网络拟合一个残差映射,成功构造出152层的ResNet-152,并在2015年的ILSVRC分类问题竞赛中取得Top-5错误率仅5.71%的成绩。随后,对现有的瓶颈式残差结构进行改进,提出了一种直通结构[7],并基于此搭建出惊人的1001层网络,在CIFAR-10分类错误率仅4.92%。至此,卷积神经网络在越来越“深”的道路上一往直前。

2 可变形的卷积神经网络

2.1 空间变换网络

空间变换网络(Spatial Transformer Network,STN)[8]主要由定位网络(Localisation net)、网格生成器(Grid generator)和可微图像采样(Differentiable Image Sampling)3部分构成,如图1所示。

定位网络将输入的特征图U放入一个子网络(由卷积、全连接等构成的若干层子网络),生成空间变换参数θ。θ的形式可以多样,如需要实现2D仿射变换,那么θ就是一个2×3的向量。

2.3 本文模型

本文以自建的3层卷积网络C3K5(如图6所示)和VGG-16作为基准网络,分别引入空间变换网络、可变形卷积和可变形池化,构造出8个卷积神经网络,用以验证可变形模块对浅层网络和深层网络的影响,如表1所示。

图6中C3K5网络模型包含3个带有ReLU层、LRN层和池化层的卷积模块,卷积层采用步长为1的5×5卷积核,输出保持原大小,池化层采用步长为2核为2×2的最大值池化,即每经过一个卷积模块,特征图缩小为原来的一半。

3 实验与分析

3.1 实验设置

本文实验环境:CPU为Intel i5-7400,8G内存,显卡为GTX1060,采用Cuda8+CuDNN6.0加速。

实验数据集包括公共图像数据集mnist、cifar-10、cifar-100和自建图像数据集pen-7。公共数据集分别有50 000张训练样本图像和10 000张测试样本图像。自建数据集pen-7为京东商城的七类笔图像库,每类有600张图片,图像分辨率为200×200,总计训练样本数3 360,测试样本数840, 图7为其中的14个样本。

3.2 结果与分析

分别将表1中的10个卷积网络应用到mnist、cifar-10、cifar-100和pen-7四个数据集进行训练,batch-size设置100,即每次传入100张图片进行训练,每训练100次测试一次(记为一次迭代),总共迭代100次,取最后10次迭代的准确率计算平均值,得各网络应用在不同数据集的分类结果,如表2所示。

实验结果表明,在卷积网络中引入空间变换网络、用可变形的卷积层和可变形的池化层替换传统的卷积层和池化层,不管是在浅层网络还是在深层网络,都能获得更高的分类准确率,这验证了空间变换网络和可变形卷积(池化)结构,丰富了卷积神经网络的空间特征表达能力,提升了卷积网络对样本的空间多样性变化的鲁棒性。包含3种模块的网络获得了最高的分类精度,使空间变换网络、可变形卷积层和可变形池化层在更多应用场景中并驾齐驱成为可能。

4 结语

通过在现有卷积神经网络中引入空间变换网络、可变形的卷积层和可变形的池化层,使得卷积网络在mnist、cifar-10、cifar-100及自建的pen-7数据集中获得了更高的分类精度,包含3种模块的网络获得了最高分类精度,证明了空间变换网络、可变形的卷积层和可变形池化层都能丰富网络的空间特征表达能力,协同应用于图像分类工作,这为后续研究打下了坚实的基础。

参考文献:

[1]BOUVRIE J. Notes on convolutional neural networks[J].Neural Nets,2006(1):159-164.

[2]Y LECUN,L BOTTOU,Y BENGIO,et al.Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.

[3]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]. International Conference on Neural Information Processing Systems. Curran Associates Inc,2012:1097-1105.

[4]SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science, 2014(6):1211-1220.

[5]SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[J]. CVPR, 2015(3):1-9.

[6]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]. Computer Vision and Pattern Recognition. IEEE, 2015:770-778.

[7]HE K, ZHANG X, REN S, et al. Identity mappings in deep residual networks[J]. arXiv,2016(1603):5-27.

[8]JADERBERG M, SIMONYAN K, ZISSERMAN A, et al. Spatial transformer networks[J].Computer Science, 2015(5):1041-1050.

[9]DAI J, QI H, XIONG Y, et al. Deformable convolutional networks[J]. arXiv: 2017(1703):62-111.

卷积神经网络特征范文第3篇

关键词:卷积神经网络;深度学习;图像处理;训练时间

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)33-0167-04

如今在机器学习领域中,深度学习方法已经占据了相当重要的地位,通过模仿人X学习方式构造模型,在图像、文本、语音处理方面取得了显著成果[1]。目前应用较为广泛的深度学习模型包含多层感知器模型(MLP)[2],卷积神经网络模型和限制性玻尔兹曼机模型等[4]。多层感知器[2]网络结构的神经节点一般分层排列,主要由输入层,输出层和一些隐层组成,同层之间的神经元节点无连接,相邻的两层神经元进行全连接,前一层的神经元的输出作为后一层神经元的输入,但本身此种算法存在着一些问题,那就是它的学习速度非常慢,其中一个原因就是由于层与层之间进行全连接,所以它所需要训练的参数的规模是非常大的,所以对其进行改进,产生了卷积神经网络模型。卷积神经网络模型在图像识别方面的应用十分广泛[5,8,9]。从它的结构上来看,层与层之间的神经元节点采用局部连接模式,而并非MLP的全连接模型,这样就降低了需要训练的参数的规模。而在它卷积层中,它的每一个滤波器作为卷积核重复作用于整个输入图像中,对其进行卷积,而得出的结果作为输入图像的特征图[6],这样就提取出了图像的局部特征。而由于每一个卷积滤波器共享相同的参数,这样也就大大降低了训练参数的时间成本。而本文,以卷积神经网络为研究对象,在其模型的基础上通过对其结构中卷积核也就是滤波器的大小进行调整并结合卷积核个数调整和gpu加速等已有的训练提速方法,达到降低训练时间并且对识别结果并无太大影响的目的。

1 卷积神经网络

卷积神经网络在MLP的基础上,已经对结构进行了优化,通过层与层之间的局部连接以及权值共享等方式对要训练的参数的进行了大幅减低。

1.1局部连接

BP神经网络中,神经元在本层中呈线性排列状态,层与层之间进行全连接,而在卷积神经网络中,为了减少每层之间的可训练参数数量,对连接方式进行了修改,相对于BP神经网络的全连接,卷积神经网络采取了局部连接的连接方式[7],也就是说按照某种关联因素,本层的神经元只会与上层的部分神经元进行连接。

2.2 权值共享

在CNN中,卷积层中的卷积核也就是滤波器,重复作用在输入图像上,对其进行卷积,最后的输出作为他的特征图,由于每个滤波器共享相同的参数,所以说他们的权重矩阵以及偏置项是相同的。

我们从上图看出,相同箭头连线的权值是共享的,这样在原有的局部连接的基础上我们又降低了每层需要训练的参数的数量。

2.3卷积过程

特征图是通过滤波器按照特定的步长,对输入图像进行滤波,也就是说我们用一个线性的卷积核对输入图像进行卷积然后附加一个偏置项,最后对神经元进行激活。如果我们设第k层的特征图记为[hk],权重矩阵记为[Wk],偏置项记为[bk],那么卷积过程的公式如下所示(双曲函数tanh作为神经元的激活函数):

2.4 最大池采样

通过了局部连接与权值共享等减少连接参数的方式卷积神经网络中还有另外一个重要的概念那就是最大池采样方法,它是一种非线性的采样方法。最大池采样法在对减少训练参数数量的作用体现在两个方面:

1 )它减小了来自m-1层的计算复杂度。

2 )池化的单元具有平移不变性,所以即使图像在滤波后有小的位移,经过池化的特征依然会保持不变。

3卷积神经网络整体构造以及减少训练时间的方法

3.1使用GPU加速

本次论文实验中,使用了theano库在python环境下实现卷积神经网络模型,在lenet手写数字识别模型上进行改进,由于theano库本身支持GPU加速,所以在训练速度上实现了大幅度的提高。

3.2 数据集的预处理

本次实验使用的两个数据集是mnist手写数字库以及cifar_10库

Mnist手写数字库具有60000张训练集以及10000张测试集,图片的像素都为28*28,而cifar_10库是一个用于普适物体识别的数据集,它由60000张32*32像素的RGB彩色图片构成,50000张图片组成训练集,10000张组成测试集。而对于cifar_10数据集来说,由于图片都是RGB的,所以我们在进行实验的时候,先把其转换为灰度图在进行存储。由于实验是在python环境下运行,theano函数库进行算法支持,所以我们把数据集进行处理,此处我们对使用的数据集进行了格式化。格式化的文件包括三个list,分别是训练数据,验证数据和测试数据。而list中每个元素都是由图像本身和它的相对应的标签组成的。以mnist数据集为例,我们包含train_set,valid_set,test_set三个list,每个list中包含两个元素,以训练集为例,第一个元素为一个784*60000的二维矩阵,第二个元素为一个包含60000个元素的列向量,第一个元素的每一行代表一张图片的每个像素,一共60000行,第二个元素就存储了对相应的标签。而我们取训练样本的10%作为验证样本,进行相同的格式化,而测试样本为没有经过训练的10000张图片。在以cifar_10数据集为实验对象时,把其进行灰度化后,进行相同的格式化处理方式。

3.3实验模型结构

本次实验是在python环境下基于theano函数库搭建好的lenet模型进行参数的调整,以达到在实验准确度可接受情况下减少训练时间的目的。

上图为实验中的基础模型举例说明实验过程,首先以mnist数据集为例,我们的输入图像为一个28*28像素的手写数字图像,在第一层中我们进行了卷积处理,四个滤波器在s1层中我们得到了四张特征图。在这里要特别的说明一下滤波器的大小问题,滤波器的大小可根据图像像素大小和卷积神经网络整体结构进行设置,举例说明,假如说我们的输入图像为28*28像素的图像,我们把第一层卷积层滤波器大小设置为5*5,也就是说我们用一个大小为5*5的局部滑动窗,以步长为一对整张图像进行滑动滤波,则滑动窗会有24个不同的位置,也就是说经过卷积处理后的C1层特征图的大小为24*24。此处的滤波器大小可进行调整,本论文希望通过对滤波器大小的调整,已达到减少训练时间的目的,并寻找调整的理论依据。C1层的特征图个数与卷积过程中滤波器数量相同。S1层是C1经过降采样处理后得到的,也就是说四点经过降采样后变为一个点,我们使用的是最大池方法,所以取这四个点的最大值,也就是说S1层图像大小为12*12像素,具有4张特征图。而同理S1层经过卷积处理得到C2层,此时我们滤波器的大小和个数也可以自行设置,得到的C2层有6张特征图,C2到S2层进行降采样处理,最后面的层由于节点个数较少,我们就用MLP方法进行全连接。

3.4实验参数改进分析

由此可见,我们对滤波器的大小以及个数的改变,可以直接影响到卷积训练参数的个数,从而达到减少训练时间的目的。

从另一种角度来看,增大滤波器的大小,实际效果应该相似于缩小输入图像的像素大小,所以这样我们可以预测增大滤波器的大小会减少样本的训练时间,但是这样也可能会降低训练后的分类的准确率,而滤波器的大小是如何影响训练时间以及分类准确率的,我们通过对两种图片库的实验来进行分析。

4 实验结果与分析

4.1以mnist手写数字数据集作为实验数据

我们知道卷积层可训练参数的数字与滤波器的大小和数字有关,所以我们通过对卷积层滤波器大小的变化来寻找较为普遍的可减少训练参数从而达到减少训练时间的目的。在实验记录中,我们表格纵列记录两层卷积层滤波器大小,横列分别为对已经过训练图像识别和对未经过训练的验证图像进行识别的错误率,最后记录每种滤波器大小搭配的使用时间。我们设定每次试验都进行100次重复训练,每次对权重矩阵进行优化。

此处我们记录两层滤波器大小之和作为横坐标,比较滤波器大小与实验之间的关系。两层滤波器大小相加后相同的元素我们把其对应时间做平均。

4.2以cifar_10数据集作为实验数据

同样是以100次循环训练进行测试,通过改变两层中滤波器的大小来寻找减少训练时间的设定。

此处以同样的方法,记录两层滤波器大小之和作为横坐标,比较滤波器大小与实验之间的关系。

4.3实验结果分析

从两组试验中,在不同的数据集下,我们得到了滤波器的大小与训练时间成反比的关系,而在减少了训练时间的同时确实增大了训练的错误率。

5 总结

通过实验结果分析表明,增大卷积层滤波器大小的方法,在此两种数据库的情况下,是有效减小训练时间的方式,而在不同的数据库对分类准确率的影响程度不同,mnist手写数字数据库中图像之间的相似度非常高,所以滤波器的增大对准确率产生的负面影响较小,而ifar_10数据集中图像之间的相似度较小,所以增大滤波器的大小对其分类结果的准确率的负面影响较大。

参考文献:

[1]LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.

[2] Ruck D W, Rogers S K, Kabrisky M. Feature selection using a multilayer perceptron[J]. ]Journal of Neural Network Computing, 1990, 2(2): 40-48.

[3]LeCun Y, Bengio Y. Convolutional networks for images, speech, and time series[J]. The handbook of brain theory and neural networks, 1995, 3361(10): 1995.

[4] Larochelle H, Bengio Y. Classification using discriminative restricted Boltzmann machines[C]//Proceedings of the 25th international conference on Machine learning. ACM, 2008: 536-543.

[5]Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.

[6] Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision. Springer International Publishing, 2014: 818-833.

[7] Jarrett K, Kavukcuoglu K, Lecun Y. What is the best multi-stage architecture for object recognition?[C]//2009 IEEE 12th International Conference on Computer Vision. IEEE, 2009: 2146-2153.

卷积神经网络特征范文第4篇

关键词: 计算机视觉; D像理解; 卷积神经网络; 多层感知器

中图分类号: TN915.63?34; TP311 文献标识码: A 文章编号: 1004?373X(2017)14?0170?04

Abstract: The optical network is a lightweight, versatile and purely Matlab?based deep learning framework. The idea underlying its design is to provide an easy?to?understand, easy?to?use and efficient computational platform for deep learning research. The framework supports major deep learning architectures such as multilayer perceptron(MLP) networks, convolutional neural networks (CNN) and recurrent neural networks (RNN). The framework also supports the straightforward switch between both CPU and GPU for computation. The experiment result indicates that the framework has different applications in computer vision, natural language processing and robotic technology.

Keywords: computer vision; image understanding; convolutional neural network; multilayer perceptron

0 引 言

深层神经网络[1]已经给出了许多机器智能问题的主要进展,最新的神经网络模型的实现主要强调效率。这些框架可以由20万~50万行代码组成,并经常涉及多个编程语言[2?4]。它需要付出巨大的努力来彻底理解和改进模型。一个简单的和自我解释的深层学习框架是高度预期的且加快深层神经网络模型的理解和应用。

在此提出的光网络是一个轻便的、通用的和纯基于Matlab的深层神经网络模型。简洁、高效的Matlab编程技术已被用来实现所有的计算模块。许多神经网络流行的类型,如多层感知器、卷积神经网络、神经网络都在光网络中得以实现,是结合随机梯度下降的几个变化(SDG)为基础的优化算法。

自从光网络仅用Matlab实现,主要的计算用几百行代码来矢量化和执行,数量级比现有的框架更简洁。所有基本操作都可以轻松定制,只需有Matlab编程基本知识。数学化研究人员可以专注于数学建模的一部分而不是工程部分。

应用程序的用户可以很容易地理解和修改任何部分的框架,开发新的网络架构,使他们适应新的应用。除了简单,光网络还具有以下特点:光网络包含最现代的网络架构;计算机视觉中的应用、自然语言处理和强化学习已被证明;光网络提供了一个综合的优化算法的收集;光网络支持在CPU和GPU之间计算的简单切换;快速傅里叶变换来有效地计算卷积,从而使大卷积核被支持;光网络自动化的超参数优化了新型选择性的SGD算法。

1 模 块

主要的计算模块包括前馈过程和向后/反向传播过程。前馈过程评估模型,反向传播报告网络梯度。随机梯度下降算法是用来优化模型参数。

1.1 核心计算模块

光网络能够专注于数学部分而不是低层次的工程细节。为了使本文更完备,在此说明光网络中的主要计算模块。本文的所有网络和相关实验都是建立在这些模块的基础之上。

1.1.1 线性感知器层

一个线性感知器层可以表示为y=Wx+b。在这里,x表示input_dim×1大小的输入数据,W表示output_dim× input_dim大小的权重矩阵,b是一个output_dim× 1大小的偏置向量,y表示output_dim× 1大小的线性层输出。

从线性感知器输入映射到最终的网络输出可以表示为z=f(y)=f(Wx+b),f是一个非线性函数,它表示在更深层次的网络的计算;z是网络输出,通常是一个损失值。

1.1.2 卷积层

卷积层由一个多维滤波器组kio将输入特征图Nmap_in映射到输出特征图Nmap_out。每个输入特征图xi与相对应的滤波器组kio进行卷积,卷积的结果是求和并添加偏置值Bo生成o?th输出图: 。允许使用大的卷积核,快速傅里叶变换(FFT)是用来计算卷积(及相关)。根据卷积定理[5],在空间域卷积等价于在频域的逐点乘法。因此,ki*xi可以用傅里叶变换计算:ki*xi=F-1{F{ki}・F{xi}}。在这里,F表示傅里叶变换,“”表示逐点乘法运算,卷积层支持填充和跨越。

从o?th输出特征图到网络输出的映射可以表示为z=f(yo)。这里f是从o?th输出特征图yo到最终的网络输出的非线性映射。与第1.1.1节类似,,,需要在反向的过程中计算。

1.1.3 Max?pooling层

最大pooling层计算在窗口中的最大元素与步幅大小,一个定制的im2col_ln功能是实现转换pooling补丁为列向量,来矢量化在Matlab中的pooling计算。内置的最大功能是这些列向量可以返回pooling结果和这些最大值的指数,然后,在原来的批量数据恢复相应指数。此外,零填充可应用于输入数据。

不失一般性,从Max?pooling层输入到最终的网络输出的映射可以表示为z=f(y)=f(Sx),其中S是选择矩阵,x是一个列向量,它表示输入数据到这层。

在反向的过程中,被计算并传递给浅层:。

当pooling范围小于或等于该步长大小时,可以用Matlab中简单的矩阵索引技术计算出。具体来说,与输入数据相同大小的一个空的张量dzdx被创建。dzdx(from)=dzdy,from是pooling指数,dzdy是一个记录pooling结果的张量。当pooling范围大于步长大小时,x中的每一个条目都可以被汇集多次,并且反向传播梯度需要为这些多个汇集条目积累。在这种情况下,计算可以利用Matlab自带的功能accumarray()。

1.1.4 修正线性单元

修正线性单元(ReLU)作为一个主要的非线性映射函数被实现,一些其他的函数包括sigmoid和tanh这里的讨论就省略了。ReLU函数是很独特的函数,如果输入大于0,则输出0,否则y=ReLU(x)=x・ind(x>0)。在反向的过程中,如果输入数据是非负的,则梯度传递到较浅层,否则,梯度被忽略。

1.2 损失函数

通常,一个损失函数会和最深核心计算模块的输出相连。目前,为了达到分类任务光网络还支持softmax 中的LogLoss函数。

1.3 优化算法

随机梯度下降(SGD)为基础的优化算法是训练深层神经网络的主要工具。标准的SGD算法和它的一些流行的变型如adagrad[6],rmsprop[7], Adam[8],同样实现了深度学习的研究。值得一提的是,在此实现了一个新的选择性的SGD算法便于参数尤其是学习速率的选择。

2 实 验

2.1 多层感知器网络

在MNIST数据上[9]构造一个多层感知器网络来测试光网络的性能。网络从MNIST图像数据集取得28×28输入,在接下来的两层分别有128个节点。然后,128维特征连接10个节点来计算softmax输出。实验结果见图1。

和测试阶段的损失和错误率

2.2 卷积神经网络

在cifar?10数据[10]上由4个卷积层构建一个卷积网络来测试光网络的性能。此结构与来自MatConvNet的一个报告相同[3]。32,32,64,64在前三层有5×5大小的卷积核,最后一层有4 × 4大小的内核。ReLU函数应用到每一个卷积层之后作为非线性映射函数。光网络自动选择和调整学习速率并可以达到非常精确。与有固定的学习速率的SGD标准比较,选择性SGD具有更好的精度。最重要的是,使用选择性SGD避免手动调谐的学习速率。图2为实验结果。计算在一个Intel i5 6600K CPU和Nvidia Titan X GPU(12 GB内存)的台式电脑上进行。当前版本的光网络用这种网络结构在GPU上每秒可以处理750个图像,大约比使用的CPU速度快5倍。

2.3 LSTM网络

长短期记忆(LSTM)[11]是一个流行的递归神经网络模型。由于光网络的通用性,LSTM网络作为一个特定的应用程序可以在光网络包中实现。值得注意的是,在光网络中的核心计算模块用于执行时域前向过程和反向传播为LSTM。

在一个LSTM模型中的前向过程可以用公式表示为:

和测试阶段的损失和错误率

优化LSTM模型,在LSTM中通过时间的反向传播实现和计算最关键值:

采用一个关键的迭代属性来计算上述值:

一些其他的梯度可以通过使用上述计算输出的链规则计算:

LSTM网络测试一个字符语言建模任务,该数据集由选自莎士比亚作品的20 000个句子组成,每个句子断成67字(和标点符号),LSTM模型可以根据前一个字符预测下一个字符。网络模型中使用30个隐含节点并且RMSProp用于训练。在后10次训练,下一个字符的预测精度提高到70%。

2.4 Q?网络

作为强化学习中的应用,创建一个和MLP网络一致的Q?network[12]。然后将Q?network应用到经典的Cart?Pole的问题中[13]。Cart?Pole系统的动力学可以在一个两层网络数百次迭代中学习到。对Q?network更新过程的一次迭代为:

式中,act是由概率ε随机选择的。所需的网络输出值Qnew是利用观测到的reward和由此产生的状态的贴现值γV(statenew)计算出来的,通过均衡器预测当前的网络。通过使用最小平方损失函数:

3 结 论

为了深层神经网络模型的理解与发展,光网络提供了一个易于扩展的生态系统。在Matlab环境下,整个计算过程可以很容易地跟踪和可视化。这些设置的主要功能可以对深度学习研究界提供独特的便利。

⒖嘉南

[1] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks [J]. Advances in neural information processing systems, 2012, 25(2): 1097?1105.

[2] JIA Y, SHELHAMER E, DONAHUE J, et al. Caffe: Convolutional architecture for fast feature embedding [C]// Proceedings of the ACM International Conference on Multimedia. [S.l.]: ACM, 2014: 675?678.

[3] VEDALDI A, LENC K. Matconvnet: Convolutional neural networks for Matlab [C]// Proceedings of the 23rd Annual ACM Conference on Multimedia. [S.l.]: ACM, 2015: 689?692.

[4] BASTIEN F, LAMBLIN P, PASCANU R, et al. Theano: new features and speed improvements [J]. arXiv preprint arXiv, 2012, 20: 42?51.

[5] MALLAT S G. A wavelet tour of signal processing: the sparse way [J]. Academic press, 1998 , 31 (3) :83?85.

[6] DUCHI J, HAZAN E, SINGER Y. Adaptive subgradient methods for online learning and stochastic optimization [J]. The journal of machine learning research, 2011 (12): 2121?2159.

[7] TIELEMAN T, HINTON G. Lecture 6.5?rmsprop: Divide the gradient by a running average of its recent magnitude [J]. Neural networks for machine learning, 2012, 4 (2): 20?26.

[8] KINGMA D, BA J. Adam: A method for stochastic optimization [C]// Proceedings of the 3rd International Conference for Learning Representations. San Diego: [s.n.], 2015: 1412?1418.

[9] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278?2324.

[10] KRIZHEVSKY A, HINTON G. Learning multiple layers of features from tiny images [M]. [S.l.: s.n.], 2009.

[11] HOCHREITER S, SCHMIDHUBER J. Long short?term memory [J]. Neural computation , 1997, 9(8): 1735?1780.

卷积神经网络特征范文第5篇

关键词:无人机;STM32;道路检测;神经网络;模型训练

传统的道路巡检和保养主要由人工来完成,需要投入大量的人力物力来保证道路的相对安全,这种方式存在着低效率、高成本且难以保证道路的决定安全[1]。固定式交通检测设备大量设置在道路的主干路上,也存在着一些缺陷:(1)监控摄像头不能做到全覆盖且具有一定的探测盲区。(2)监控系统采用多屏幕方式,工作人员进行道路故障判断时受限。(3)不能灵活的通知有关部门对事故的快速应急处理。为了克服上述的缺点,本文设计了一种基于卷积神经网络的无人机道路巡检系统,对发生故障和需要保养的道路能快速响应,及时的通知有关部门,避免事故的发生。

1系统的总体设计

在无人机道路巡检系统中,我们主要考虑了以下几个要求[3]:(1)无人机系统能满足正常的工作;(2)无人机系统能适应各种天气和气候变化等;(3)无人机系统应充分考虑控制的安全性;(4)视频流的传输应避免较长的延时。无人机道路巡检系统主要由无人机系统设计、远程控制系统、PC端系统三大部分组成,系统的总体结构框图如图1所示。系统的具体工作原理为:无人机将道路环境检测的结果,将处理后的视频流通过远程传输的方式,发送到PC端进行实时监控道路状况。远程控制系统以STM32作为主控芯片,主要包括在无人机端和遥控端两个部分,遥控端将控制指令通过2.4G通信发送到无人机端,此时无人机的做出相应的位姿变化,完成遥控端对无人机位姿的控制。无人机系统的图像采集模块芯片为树莓派,完成图像的采集并采用TCP通信实现远程视频的传输,将获取的视频流传输到PC端。PC端上使用OpenCV对图像进行处理[4],利用深度学习模块对设计的神经网络进行数据训练,从而得到检测模型,最后在PC上接收处理过的数据并实时监测道路状况。上述工作原理可实现无人机道路巡检系统,下文将对其包括的三大模块进行说明介绍。

2无人机系统设计

本次使用的是RaspberryPi3(modelB+)作为无人机的主控制板[7],无人机的飞行控制算法和图像采集模块集成在树莓派中。远程控制系统通过2.4G无线通信模块连接,通过控制器实现对无人机飞行和图像采集的控制。无人机系统总体结构如图2所示。

3PC端系统设计

在PC端系统设计主要分为图像预处理、模型训练和视频监控三大部分,通过TCP通信协议进行通信,TCP通信是一种面向连接的通信,可完成客户端(树莓派)和服务端(PC)的信息传递[9]。下面主要对前两部分详细介绍。

3.1图像预处理

本系统对地面裂缝检测的图像预处理流程如图3所示具体工作原理为:(1)采用加权平均灰度化对获取的无人机影像进行灰度化处理;(2)对灰度化处理后的影像进行直方图均衡化,使得影像具有高对比度和多元的灰度色调变化,为后续的滤波降噪奠定基础;(3)对处理后的影像进行滤波降噪,消除孤立的噪声点,采用方法的是中值滤波降噪;(4)使用迭代二值化处理将影像的灰度值设置合适的阈值,使得图像更简单,目标更突出,然后对图像进行分割,计算迭代的阈值,判断迭代的阈值是否收敛到某一值或者达到限定的迭代次数,如果是的话,将完成二值化处理和滤波,否则将初始二值化阈值;(5)最终完成道路故障的识别与标记。

3.2模型检测

3.2.1卷积神经网络原理使用卷积神经网络进行模型训练,首先使用卷积层实现特征的提取,原理如图4所示。如图5所示,卷积操作是模仿神经元的机制。不同的输入在权重的影响下会有不同的输出,根据损失函数的计算来不断的更新权重,直到获得合理的权重参数。初始传递的信号为x,中间通过权重w,再经过偏置b后连接在末端,最后输出信号变成wx+b。fun(•)表示激活函数,最终f(z为输出的结果,如式(1)所示。3.2.2卷积神经网络训练流程通过相机采集到的缺陷和问题图像作为训练样本,这部分是检测道路安全的关键一步,(1)训练标记数据:首先使用图像预处理中标记好的道路故障提取出来,通过卷积神经网络对标记框内的目标数据进行训练;(2)提取特征数据:将道路故障的类型统计并归纳;(3)误差反馈学习:对测试样本进行误差反馈学习,并进行测试;(4)优化训练数据:根据实际应用场景增加图像的种类和数量,不断训练模型。3.2.3故障的基本分类道路故障主要路面缺陷(例如裂缝、残缺等)和路面增加(例如长时间静止的车辆和路人),各自训练集数量为1000张。如表1所示。3.2.4实验测试为实现故障的检测,测试数据集为100张,不同类型故障数据50张,均采集自新道路且与训练样本一致,实验结果如表2所示。由表2可知,检测路面增加(例如长时间静止的车辆和路人)的准确率高达96%,但是地面缺陷的准确率相比较而言略低,可能造成的原因是:①硬件原因导致采集的图像清晰度比较低;②地面缺陷太小,无人机难以识别;③训练的数据集较少,特征学习误差大;但是满足了设计需求,还需进一步改进。

4总结与展望

相关期刊更多

数据采集与处理

北大期刊 审核时间1-3个月

中国科学技术协会

北华大学学报

统计源期刊 审核时间1-3个月

吉林省教育厅

遥测遥控

统计源期刊 审核时间1-3个月

中国航天科技集团有限公司