基于优化反向传播算法的物体识别技术
2021-09-09翟高粤
翟高粤
摘要:误差反向传播算法是适合于深度学习中多层神经元网络的一种学习算法,它建立在梯度下降法的基础上。反向传播算法主要由两个环节(激励传播、权重更新)反复循环迭代,直到网络对输入的响应达到预定的目标范围为止。本论述首先介绍物体检测和物体识别的概念,然后对图像检索系统所涉及的深度学习、卷积神经网络、反向传播算法、梯度下降和激活函数等相关概念进行了介绍。最后在卷积神经网络中分别采用了ADAGRAD、ADADELTA、ADAM、ADAMAX、NADAM、SGD和RMSPROP等七种优化方法对COIL100数据集中的72个对象进行训练并得出结果进行比较分析,结果表明,Adadel? ta优化器在图像数据集上提供了更好识别的结果。
关键词:深度学习;卷积神经网络;物体识别;反向传播;人工智能
中图分类号:TP183文献标识码:A
0引言
物体检测是机器人、机器学习、神经网络和人工智能等技术的融合。物体检测人工智能技术能够实现识别各种形式的物体。通常情况下,由于物体变形、视点变化、光照条件、背景杂波和遮挡等原因,很难做到百分百准确地识别物体。为了克服这些障碍,从图像中提取特征并进行多层抽象处理。现有的机器学习算法虽然性能很好,但缺乏对图像中每个特征进行多层处理和深入分析,从而导致了深度学习算法的出现。深度学习是一种多层的神经网络架构,它根据数据集的特点和性质,结合不同的学习算法来训练网络。
1图像检索系统简介
图像检索系统是对图像进行搜索、浏览、模式匹配和检索的系统。这个系统有两种工作方式,一种是基于文本,另一种是基于内容。在基于文本的图像检索系统中,图像有手工注释的文本描述,但降低了检索结果的准确性。在基于内容的图像检索系统中,图像中的内容,如颜色、纹理和形状都被索引,并利用计算机视觉中的各种技术自动提取图像的底层特征。
1.1深度学习
深度学习是机器学习的一个子领域,它在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步[1]。与现有的机器学习算法不同,深度学习由一组算法和网络架构组成,它们在多个层次上协同工作,在不需要人工干预的情况下自动提取显著特征。深度学习架构还可以根据需要解决的问题,以监督和非监督的方式进行训练[2]。
1.2卷积神经网络
卷积神经网络(CNN)是一种监督学习的深度学习神经结构。CNN优于所有现有的图像检索算法。每个CNN由4层组成,(i)卷积层,(ii)最大池化层,(iii)扁平化层,(iv)全连接层[3]。进行预处理后的输入图像送入CNN神经网络进行计算后从而得到图像识别的结果。卷积神经网络结构图如图1所示。
卷积层:通常使用3*3的特征向量矩阵(filter)对输入图像进行卷积,去除最不重要的像素值,并将其余的重要像素存储在一个特征图中。这一层通过使用整流函数消除了图像中的非线性。
最大池化层:进一步提取图像中的特征,存储在池化的特征图中。
扁平化层:将经过池化的特征映射转换为一维向量。
全连接层:根据分类问题的性质为每一层定义一个激活函数。
目前,卷积神经网络已被证明在使用反向传播算法训练时表现良好。
1.3反向传播
反向传播需要结合一种优化技术来进行神经网络的训练,它通常与梯度下降算法结合进行样本训练[4]。反向传播计算某一个点的梯度负值,经过多次迭代优化后找到全局最小值。但梯度下降的缺点是,如果数据不是均匀分布的,它不能找到全局最小值。为了克服这一问题,可采用随机梯度下降法。在神经网络中,每个神经元都被赋予随机的权值来计算梯度。反向传播更新这些权重,以做出最接近预期输出的预测。样本加权神经网络结构如图2所示。
反向传播算法步骤:
(1)计算每个隐藏神经元的净输入总值
(5)计算影响总误差的每个权重的变化
(6)为了减少误差,从当前权值中减去步骤(5)中得到的值,并可选地乘以某个学习率(通常是μ= 0.05)
每次迭代都重复这些步骤,随后更新神经元的权重。
1.4梯度下降优化技术
梯度下降优化技术通常分为启发式和数值优化技术[5]。启发式方法指人在解决问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法,而不是系统地、以确定的步骤去寻求答案。数值优化方法比如一阶或二阶优化算法。一般情况下,参数“学习率”是固定的,很難找到最优值。当使用启发式优化技术时,最优学习率在训练过程中自适应地改变,这提高了算法的性能。在数值优化技术中,搜索是沿着共轭的方向进行的,这使得收敛速度比最陡下降算法更快。因此,数值技术优于启发式技术。反之亦然,这取决于数据点的分布。
1.5激活函数
激活函数的目标是将给定的输入转换为神经网络定义的可接受的输出。如果没有激活函数,神经网络只能解决线性问题,无法处理复杂非线性问题。因此,深度学习,包括激活函数可以用来处理复杂的、非线性的、包含多个隐藏层的数据集,并有效提取特征。
根据对每个神经元设置的约束条件,可以为每一层定义不同的激活函数。尽管有多个激活函数可以用于处理非线性问题,但使用ReLu和Softmax函数在图像检索系统中表现较好。因为与其他激活函数相比,Re? Lu具有更好的收敛性。它还较好解决了在深度学习多层网络中出现的梯度消失和梯度爆炸的问题。另外,Softmax可以很好地处理多类分类问题,并且具有较高的精度。
2数据集
本论述用于训练卷积神经网络的数据集COIL100是由不同物体在360°旋转中不同角度成像组成的数据集,其含有100个物体(每个具有72个姿势)的128 * 128色彩图像,以及49152个特征(红色,绿色和蓝色通道中128 * 128像素的值)。
该数据集由哥伦比亚大学图像库发布,通常用于物体识别实验。部分物体名称和类别索引见表1所列。
3实验结果
在本论述实验中,使用不同的优化技术在COIL100数据集训练卷积神经网络。该数据集按70∶30的比例分为训练数据集和验证数据集。该实验的目的是预测给定图像中的对象。输入层使用的激活函数为ReLu,输出层使用的激活函数为Softmax。Softmax可以对许多物体进行类别预测。随着训练数据的迭代次数增加,从训练数据和验证数据在准确性上的差距逐渐变小,因此训练是有效的。对网络训练完成后,给出一个查询图像作为网络的输入,输出端以独热编码的形式给出查询结果。图像按照输入神经网络的顺序被自动索引。
优化后的神经网络在不同的背景和角度下能够准确地识别目标[6]。在不同的学习率和不同的优化器上重复实验,各种优化器实验结果见表2所列。从表2看出,使用Adagrad优化器时,更少的迭代,更快地获得准确的结果。另外,当训练数据集的精确度和验证数据集的精确度之间的差异降低时,整个网络的性能就会提高。
4结论
数据的大量增长和对高效检索技术的需要产生了大量的算法和优化技术。基于深度学习这一先进的架构,本论述主要研究了物体识别的深度学习技术。论述中的卷积神经网络采用反向传播算法进行训练,并采用不同的启发式技术进行优化。结果证明Adadelta优化器在图像数据集上提供了更好识别的结果。
参考文献:
[1]陈先昌.基于卷积神经网络的深度学习算法与应用研究[D].杭州:浙江工商大学,2014.
[2]徐国庆,卢志远,吴晨辉.基于误差反向传播算法的海上拖航风险[J].中国海洋平台,2020,35(4):44-48.
[3]闫涛.深度学习算法实践[M].北京:电子工业出版社,2020.
[4]范志文,光翠娥,干建平.基于反向传播人工神经网络的酱牛肉中金黄色葡萄球菌的生长模型[J].食品与生物技术学報,2020,39(7):83-90.
[5]邓建梅,丁华.基于AHP和BP神经网络的本科师范生综合素质评价[J].无线互联科技,2020,17(12):147-148.
[6]王晓华. TensorFlow 2.0卷积神经网络实战[M].北京:清华大学出版社,2020.