首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于深度学习及多聚类中心损失函数的摊贩物品分类方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:北京同方软件有限公司

摘要:基于深度学习及多聚类中心损失函数的摊贩物品分类方法,涉及人工智能以及计算机视觉技术领域。本发明方法步骤为:1)网络结构设计:整理摊贩物品样本,并对其进行类别标定。2)目标损失函数。3)模型预测:利用训练好的模型进行预测。同现有技术相比,本发明一方面进一步提高深度学习模型在复杂的摊贩物品分类中的性能,以及在训练样本不是很充足的情况下,避免模型过拟合;另一方面,充分利用类内、类间离散度信息,使模型有更好的泛化能力,进一步提升深度学习模型在摊贩物品分类中的性能。

主权项:1.基于深度学习及多聚类中心损失函数的摊贩物品分类方法,其方法步骤为:1)网络结构设计:整理摊贩物品样本,并对其进行类别标定;2)目标损失函数:a)CNN模型参数初始化以及聚类中心初始化;b)将数据分批次输入CNN模型进行前向计算;c)计算模型基于多聚类中心的类内损失和随机化计算聚类中心类间损失,并结合softmaxloss,作为模型最终的loss;d)将loss进行反向传播,计算出参数梯度,采用SGD算法更新CNN模型参数、NTanh参数p以及聚类中心;e)重复上述步骤b、c、d,直到模型收敛或者达到指定迭代次数,训练结束;3)模型预测:利用训练好的模型进行预测。

全文数据:基于深度学习及多聚类中心损失函数的摊贩物品分类方法技术领域本发明涉及人工智能以及计算机视觉技术领域,特别是基于深度学习及多聚类clustering中心损失函数lossfunction的应用于城市摊贩复杂无序物品的分类方法。背景技术图像分类是计算机视觉研究中最基本的问题,是后续高层次视觉任务的基础。现有技术中,图像分类一般由图像特征提取、分类器分类两大部分组成。特征都是靠手工设计的提取算法提取,常用的有HOG、SIFT、SURF等经典的特征提取算法。之后,将提取的图像特征送入后续的分类器进行分类,经典的分类器有MLP、SVM、随机森林等。上述传统的图像分类算法在一些特定的应用领域中取得了一定成功,比如车牌识别等,但随着大数据的出现以及图像复杂性的提高,传统图像分类方法在处理这类问题时已经不再适应。随着越来越丰富的数据集的出现以及计算能力的提升,深度学习技术迎来了巨大的发展。2012年的ImageNet竞赛中,Krizhevsky等人训练了一个大型的深度卷积神经网络AlexNet,它包含了8个学习层:5个卷积层和3个全连接层。Krizhevsky等人成功借助了ImageNet这个足够大的数据集,并结合随机梯度下降SGD和Dropout等优化技巧,成功训练了一个深度卷积网络,实现了top-5的错误率为15.3%的好成绩,最终赢得了2012年的ILSVRC竞赛的冠军。从此大量的研究人员开始进入这个领域,也迎来了网络结构的一系列变革。2013年的ZFNet错误率降到了11.2%。2014年ChristianSzegedy等人设计的GoogLeNet是一个22层的卷积神经网络,在ILSVRC2014上top-5的错误率降到了6.7%。2015年,微软亚洲研究院的KaimingHe等人设计了一个多达152层的ResNet架构,它比之前的深度神经网络都深,但却降低了复杂度,从而更易于训练,ResNet的错误率也降到了3.6%。而人类的水平也仅仅是5%-10%,由此可见,深度学习网络已经跟人类的分辨能力相当了。所有这些网络的改进都是其结构上的改进,随着研究的进一步深入,人们也开始关注到深度学习中普遍采用的softmax分类损失函数没有考虑类内、类间离散度信息,只是单纯的考虑分类信息,针对这个问题也提出了各种改进措施。ICML2016提出的LargeMarginSoftmaxLossL-softmax通过在传统的softmaxloss公式中添加参数m,作者在论文中的定义为:,其中。L-softmax函数加大了学习的难度,逼迫模型不断学习更具区分性的特征,从而使得类间距离更大,类内距离更小,借用SVM的思想来理解的话,如果原来的softmaxloss是只要支持向量和分类面的距离大于h,分类效果就算比较好了,那么L-softmaxloss就是需要距离达到m*hm是正整数才算分类效果比较好了。该方法的缺点是训练难度比较大,需要反复调参。ECCV2016上发表的一篇文章,ADiscriminativeFeatureLearningApproachforDeepFaceRecognition针对softmax函数在人脸识别中的缺点,提出了centerloss函数,通过将特征和特征中心的距离和softmaxloss一同作为损失函数,使得类内距离更小,其实也是正则化的一种实现方式。先看看centerloss的公式Lc:表示第yi个类别的特征中心,表示全连接层之前的特征。作者在论文中采用的损失L包含softmaxloss和centerloss,即:该方法默认每个类别有一个聚类中心,在人脸识别问题上有一定的效果,因为同一类都为一个人的人脸样本,但对于类内差异比较大的问题,每类只定义一个类别就不再合适了。CVPR2017提出的A-softmaxlossangularsoftmaxloss用来改进原来的softmaxloss。A-softmaxloss是在largemarginsoftmaxloss的基础上添加了两个限制条件,使得预测仅取决于w和x之间的角度,定义的loss函数如下:因此,简单讲A-softmaxloss可以看成是largemarginsoftmaxloss的改进版,在其基础上增加了权重归一化。在对城市摊贩物品分类方面,上述传统算法很难满足需求,主要原因是摊贩物品复杂度较高,无序且形变也大,比如将一堆水果与一堆蔬菜进行区分,传统的分类算法对于这类复杂的问题时错误率较高,因此很难满足实际的需求。近几年开始使用的基于深度学习算法,可以设计出泛化能力较强的方法来解决复杂的物体分类问题,但是对于样本的数量有很强的依赖性,样本不足的情况下很有可能导致模型过拟合。目前深度学习模型中普遍采用的激活函数为relu函数,该函数虽然取得了一定的成功,但该函数属于硬决策,即会将小于0的数置为0,因此一定程度上会有信息损失。另外,传统的深度学习分类损失函数(如softmaxloss)没有充分利用学习出的特征类内、类间离散度信息,而上面提及的几种损失函数,虽然考虑了类内、类间离散度信息,但这些损失函数本身存在着一些问题:A-softmaxloss和L-softmaxloss计算量较大,并且需要反复调参;centerloss对于类内差异比较大的情况不再适用,并且随着差异的增大会出现性能下降的情况。发明内容针对上述现有技术中存在的不足,本发明的目的是提供一种基于深度学习及多聚类中心损失函数的摊贩物品分类方法。它一方面进一步提高深度学习模型在复杂的摊贩物品分类中的性能,以及在训练样本不是很充足的情况下,避免模型过拟合;另一方面,充分利用类内、类间离散度信息,使模型有更好的泛化能力,进一步提升深度学习模型在摊贩物品分类中的性能。为了达到上述发明目的,本发明的技术方案以如下方式实现:基于深度学习及多聚类中心损失函数的摊贩物品分类方法,其方法步骤为:1)网络结构设计:整理摊贩物品样本,并对其进行类别标定。2)目标损失函数:a)CNN模型参数初始化以及聚类中心初始化;b)将数据分批次输入CNN模型进行前向计算;c)计算模型基于多聚类中心的类内损失和随机化计算聚类中心类间损失,并结合softmaxloss,作为模型最终的loss;d)将loss进行反向传播,计算出参数梯度,采用SGD算法更新CNN模型参数、NTanh参数p以及聚类中心;e)重复上述步骤b、c、d,直到模型收敛或者达到指定迭代次数,训练结束。3)模型预测:利用训练好的模型进行预测。在上述基于深度学习及多聚类中心损失函数的摊贩物品分类方法中,所述将数据分批次输入CNN模型进行前向计算时,其中的第一个全连接层采用带有随机噪声的激活函数NTanh,卷积层采用传统relu函数。在上述基于深度学习及多聚类中心损失函数的摊贩物品分类方法中,所述对模型进行预测时,第一个全连接层采用噪声激活函数Ntanh的期望形式。本发明由于采用了上述方法步骤,设计了一种基于多聚类中心的损失函数,并在此基础上针对传统方法计算类间距离的不足,提出了一种随机化计算类间距离的方法,结合传统的softmaxloss分类损失函数构造最终的损失函数。另外,本发明将网络中第一个全连接层的relu激活函数替换为加入噪声的tanh函数,进一步提升了深度学习模型在摊贩物品分类中的性能。同现有技术相比,本发明具有以下优点:1.为每类定义多个特征聚类中心,对类内差异比较大的情况同样适用。2.基于多聚类中心的损失函数可以使模型学到更通用、更共性的特征,提高了模型的泛化能力。3.随机计算类间距离损失方式可以有效降低模型复杂度和优化难度,提升算法执行效率。4.多聚类中心作为模型参数的一部分,可以利用端到端的方式训练得到,更符合实际样本特征的分布。5.采用带有噪声的激活函数NTanh,避免relu函数带来的信息损失以及传统Tanh函数在训练深度网络时的缺点。6.本发明设计的损失函数只增加训练的计算时间,对于预测时的计算复杂度没有影响。下面结合附图和具体实施方式对本发明做进一步说明。附图说明图1为本发明实施例中的网络模型结构示意图;图2为本发明实施例中的目标损失函数示意图;图3为本发明实施例中的模型预测示意图;图4为本发明实施例中训练过程的流程图。具体实施方式本发明基于深度学习的城管复杂无序物品分类方法,其方法步骤为:1)网络结构设计:根据不同的实际需求,将摊贩物品分成不同的类别,将收集的样本集按不同的类别标签将其分成不同的类别。1.1网络架构参看图1,使用的网络结构模型:分为14个卷积conv层,6个池化pool层,2个全连接层(fc1、fc2),其余每个conv层后面都接relu层和batchnorm层。为了叙述方便,后续提到的复合层一般指conv+batchnorm+relu,即三个层的组合。图1中的省略号代表连续多个conv层,第一个全连接层fc1是fc+NTanh的组合。其中,输入图像大小为Num*3*160*160,所有的conv层卷积核的大小都为3*3,stride为1,每层的通道数目如下:conv1:16conv2:64conv3:128conv4:64conv5:128conv6:256conv7:128conv8:256conv9:512conv10:512conv11:256conv12:512conv13:1024conv14:1024除去最后一个pool层(pool14),其余pool层的核的大小为2*2,stride为2,pool14核的大小为5*5,stride为1。第一个全连接层fc1层节点数目为1024,第二个全连接层为模型的分类层,在摊贩物品分类应用中,本项目中有五大类物品,因此,该层有5个节点。1.2带有噪声的激活函数NTanh目前主流的激活函数普遍采用relu函数,该函数在实际应用中取得了一定的成功,但是该函数直接将小于0的数置为0,这样会造成一定的信息损失。而传统的双曲正切tanh函数属于光滑的连续函数,不会造成信息的损失,但由于随着数值的增大,函数会达到饱和状态,导数会趋于0,不利于模型的训练。因此,本发明采用一种激活策略用于tanh函数,即通过引入噪声的方式,使得当激活函数发生饱和时,网络参数还能够在正则梯度和噪声梯度下继续更新。引入适当的噪声能够扩大SGD的参数搜索范围,从而有机会跳出饱和区。训练时采用如下算法计算NTanh函数:其中,p作为模型的参数,随模型迭代训练得到,取值为1.15,为引入的噪声。在做预测时,采用NTanh的期望形式:其中各个函数定义同上。2)目标损失函数:a)CNN模型参数初始化以及聚类中心初始化。b)将数据分批次输入CNN模型进行前向计算,其中的第一个全连接层采用带有随机噪声的激活函数NTanh,卷积层采用传统relu函数。c)计算模型基于多聚类中心的类内损失和随机化计算聚类中心类间损失,并结合softmaxloss,作为模型最终的loss。d)将loss进行反向传播,计算出参数梯度,采用SGD算法更新CNN模型参数、NTanh参数p以及聚类中心。e)重复上述步骤b、c、d,直到模型收敛或者达到指定迭代次数,训练结束。目标损失函数作为训练模型时的直接依据,它设计的好坏直接影响模型的性能。本发明中设计了一种混合损失函数,即将特征与特征聚类中心的距离以及不同聚类中心类间距离和softmaxloss一同作为损失函数,在满足分类损失的情况下,使得类内距离更小,类间区分度相对大些。本发明中为每个类别定义多个聚类中心,特征与特征聚类中心的距离损失以及聚类中心之间的距离损失称之为multicenterloss,并给出了一种计算类内损失和随机化计算聚类中心类间损失的方法,如图2所示。在本发明中,用表示multicenterloss损失函数,定义如下:其中,表示模型提取的样本特征,即fc1的值,表示样本所属类别m中的第i个聚类中心,则表示类别n中的第j个聚类中心,表示随机选择第m个类别以及该类别第i个聚类中心,表示随机选择第n个类别即第j个聚类中心。本发明中针对每类样本的复杂情况,定义的聚类数目分别为:512,32,1,3,5,分别表示系数,K为样本数目。用Ls表示经典的softmaxloss损失函数,则Ls定义如下:则最终的混合损失函数L为:3)模型预测:与传统的计算方式相比没有什么改变,只需按照前向传播方式计算,并且第一个全连接层的激活函数采用NTanh函数的期望形式,最后取分类层的softmax结果就可以了,因此该方法只是增加了训练时的计算复杂度,而没有增加预测时的计算量,如图3所示。参看图4,本发明总体分为训练过程与预测过程。训练过程首先计算每个batch数据的损失函数,之后根据损失函数进行反向传播,采用SGD算法更新模型参数、NTanh函数参数p和各个聚类中心。本发明的预测过程跟传统模型计算方式一样,采用经典的前向计算方式,如图3所示,因此该算法没有增加模型预测过程的计算复杂度。凡是采用如下替代方案实现本发明技术方案的方法,均属于本发明的保护范围:1.本发明结合的深度学习CNN模型的方案可替换为结合其他深度学习模型或者机器学习的方案。2.本发明计算类内距离损失函数时采用的距离定义方案可以替换为其他距离方案。本发明计算类间距离损失时采用的距离定义方案可以替换为其他距离方案。

权利要求:1.基于深度学习及多聚类中心损失函数的摊贩物品分类方法,其方法步骤为:1)网络结构设计:整理摊贩物品样本,并对其进行类别标定;2)目标损失函数:a)CNN模型参数初始化以及聚类中心初始化;b)将数据分批次输入CNN模型进行前向计算;c)计算模型基于多聚类中心的类内损失和随机化计算聚类中心类间损失,并结合softmaxloss,作为模型最终的loss;d)将loss进行反向传播,计算出参数梯度,采用SGD算法更新CNN模型参数、NTanh参数p以及聚类中心;e)重复上述步骤b、c、d,直到模型收敛或者达到指定迭代次数,训练结束;3)模型预测:利用训练好的模型进行预测。2.根据权利要求1所述基于深度学习及多聚类中心损失函数的摊贩物品分类方法,其特征在于,所述将数据分批次输入CNN模型进行前向计算时,其中的第一个全连接层采用带有随机噪声的激活函数NTanh,卷积层采用传统relu函数。3.根据权利要求1或2所述基于深度学习及多聚类中心损失函数的摊贩物品分类方法,其特征在于,所述对模型进行预测时,第一个全连接层采用噪声激活函数Ntanh的期望形式。

百度查询: 北京同方软件有限公司 基于深度学习及多聚类中心损失函数的摊贩物品分类方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。