(12)发明专利申请
(10)申请公布号 CN 110210515 A(43)申请公布日 2019.09.06
(21)申请号 201910339785.8(22)申请日 2019.04.25
(71)申请人 浙江大学
地址 310058 浙江省杭州市西湖区余杭塘
路866号(72)发明人 陈刚 谌晨 王皓波 胡天磊
陈珂 寿黎但 (74)专利代理机构 杭州求是专利事务所有限公
司 33200
代理人 林超(51)Int.Cl.
G06K 9/62(2006.01)
权利要求书3页 说明书7页 附图1页
CN 110210515 A(54)发明名称
一种图像数据多标签分类方法(57)摘要
本发明公开了一种图像数据多标签分类方
利用神经网络提取特法。对输入图像进行分解,
征的高次相关性,对标签数据进行分解,利用神经网络提取标签的高次相关性,采用包含多层全连接层的神经网络将输入图像的特征码从输入空间解码到标签空间;构建损失函数,初始化训练参数,采用随机梯度下降方法最小化最终损失函数为目标,训练求解获得最优的训练参数;然后针对待测试的图像数据输入到训练后的模型中进行预测,输出获得标签结果,实现多标签分类。本发明解决了图像数据前人工作不能同时提取标签的二次相关性和多次相关性的问题,降低了由于图像数据太过稀疏带来的预测困难,提高了多标签分类的准确性。
CN 110210515 A
权 利 要 求 书
1/3页
1.一种图像数据多标签分类方法,其特征在于:本方法的步骤如下:步骤一是对输入图像进行分解:对输入图像处理获得图像特征集合,建立输入空间,再将图像特征集合中每个图像特征向量进行两两乘积并求和得到图像分解向量;
步骤二是利用神经网络提取特征的高次相关性:将步骤一得到的图像分解向量输入到包含多层全连接层的神经网络中得到输入图像的特征码;
步骤三是对标签数据进行分解:对已知的标签数据处理得到标签特征集合,建立标签空间,再将标签特征集合中每个标签特征向量进行两两乘积并求和得到标签分解向量;
步骤四是利用神经网络提取标签的高次相关性:将步骤三得到的标签分解向量输入到包含多层全连接层的神经网络中得到标签数据的特征码;
步骤五是解码:采用包含多层全连接层的神经网络将输入图像的特征码从输入空间解码到标签空间;
步骤六是检测:构建损失函数,初始化训练参数,采用随机梯度下降方法最小化最终损失函数为目标,训练求解获得最优的训练参数;然后针对待测试的图像数据输入到训练后的模型中进行预测,输出获得标签结果,实现多标签分类。
2.根据权利要求1所述的一种图像数据多标签分类方法,其特征在于:方法具体如下:步骤一:由输入图像获得图像向量x=[x1,x2,...,xp]T得到图像特征集合Vemb={v1x1,v2x2,...,vpxp},其中x1,x2,...,xp分别表示输入图像中各个像素点的灰度值,x∈Rp,Rp表示p维的实数空间作为输入空间,p表示输入图像中的像素点总数;vi表示第i个图像特征,vi∈Rt,Rt表示t维的实数空间;t表示特征维度;vixi表示第i个图像特征对于输入图像的图像特征向量;然后将图像特征集合Vemb中每个图像特征向量进行两两乘积并求和得到图像分解向量gx:
其中,表示向量的对应项相乘,j和k分别表示输入图像中的像素点的序数;步骤二:将步骤一得到的图像分解向量gx输入到包含L+1层全连接层的第一神经网络中,第一神经网络是仅由L层全连接层结合一个输出层连接构成,其中除了最后一层全连接层以外的其他每个全连接层之后均设置有一个激活函数:
sx1=σx1(Wx1gx+bx1)sx2=σx2(Wx2sx1+bx2)……SxL=σxL(WxLSxL-1+bxL)cx=WxoSxL+bxo其中,sxi,Wxi,bxi,σ权重矩阵、偏xi分别是第一神经网络中第i个全连接层的输出向量、差向量和Relu激活函数;cx表示输入图像x的特征码,cx∈Rt,Rt为维度k的实数空间作为隐空间;Wxo表示第一神经网络中输出层的权重矩阵,bxo表示第一神经网络中输出层的偏差向量;
步骤三:由已知的标签数据获得标签向量y=[y1,y2,...,yq]T得到标签特征集合Uemb=
2
CN 110210515 A
权 利 要 求 书
2/3页
{u1y1,u2y2,...,uqyq},其中y1,y2,...,yq分别表示标签数据中每个图像标签的分类值,y∈Rq,Rq表示q维的实数空间作为标签空间,q表示标签数据中的标签分类总数;ui表示第i个标签特征,ui∈Rt,Rt表示t维的实数空间;t表示特征维度;uiyi表示第i个标签特征对于标签数据的标签特征向量;然后将标签特征集合Uemb中每个标签特征向量进行两两乘积并求和得到标签分解向量gy:
其中,表示向量的对应项相乘,e和r分别表示标签数据中的标签分类的序数;步骤四:将步骤一得到的标签分解向量gy输入到包含L+1层全连接层的第二神经网络中,第二神经网络是仅由L层全连接层结合一个输出层连接构成,其中除了最后一层全连接层以外的其他每个全连接层之后均设置有一个激活函数:
sy1=σy1(Wy1gy+by1)sy2=σy2(Wy2sy1+by2)……syL=σyL(WyLsyL-1+byL)cy=WyosyL+byo其中,syi,Wyi,byi,σ权重矩阵、偏yi分别是第二神经网络中第i个全连接层的输出向量、差向量和Relu激活函数;cy表示标签数据y的特征码,cy∈Rt,Rt为维度k的实数空间作为隐空间;Wyo表示第二神经网络中输出层的权重矩阵,byo表示第二神经网络中输出层的偏差向量;
步骤五:用包含Ld+1层全连接层的第三神经网络对输入图像x的特征码cx处理,解码到标签空间,第三神经网络是仅由Ld层全连接层结合一个输出层连接构成,其中除了最后一层全连接层以外的其他每个全连接层之后均设置有一个激活函数:
h1=η1Wd1gx+bd1)h2=η2(Wd2h1+bd2)……
其中,hi,Wdi,bdi,η权重矩阵、偏i分别是第三神经网络中的第i个全连接层的输出向量、差向量和Relu激活函数,Ld表示神经网络的层数;表示预测的标签输出向量;Wxo表示三神经网络中输出层的权重矩阵,bxo表示三神经网络中输出层的偏差向量;步骤六:建立以下损失函数甲:
3
CN 110210515 A
权 利 要 求 书
3/3页
其中,θ表示训练参数,由上述所有图像特征和所有标签特征以及三个神经网络中的权重矩阵、偏差向量构成了训练参数,Θ是所有训练参数的集合,||·||表示向量的二阶范数或矩阵的Frobenius范数,λ是可调权重参数;ΨD表示图像向量x和标签向量y的特征码之间N是训练数据的平方损失函数,ΨE表示标签输出向量和标签向量y之间的平方损失函数,的数量。
4
CN 110210515 A
说 明 书
一种图像数据多标签分类方法
1/7页
技术领域
[0001]本发明涉及机器学习领域中的神经网络,因子分解机,多标签分类方法。背景技术
[0002]随着人工智能的快速发展,单标签分类是最著名的机器学习问题之一,其中每个实例与单个标签相关联。然而,在许多真实世界的应用中,一个实例可能与多个标签相关联。例如,一条新闻可能是关于财务和政治,一个视频可能是关于政府和政策的,一张图片可能包含海滩和树木。因此,多标签分类是个很重要的研究领域。[0003]目前,人们已经对多标签分类有了一定研究,提出了许多方法。多标签分类最关键的挑战在于如何学习标签之间的关联性。为此,人们提出了提取一次相关性,二次相关性和多次相关性。但是目前的方法并不能同时提取标签的二次相关性和多次相关性。发明内容
[0004]为了解决背景技术中存在的问题,本发明提出了一种图像数据多标签分类方法。[0005]本发明所采用的技术方案如下:[0006]步骤一是对输入图像进行分解:对输入图像处理获得图像特征集合,建立输入空间,再将图像特征集合中每个图像特征向量进行两两乘积并求和得到图像分解向量;[0007]步骤一对输入图像进行分解提取到特征的二次相关性,从而提升分类准确性。[0008]步骤二是利用神经网络提取特征的高次相关性:将步骤一得到的图像分解向量输入到包含多层全连接层的神经网络中得到输入图像的特征码;[0009]通过步骤一和步骤二,把输入图像映射到了一个网络隐空间,并得到了输入图像的特征码。这个特征码既包含了输入图像的二次相关性,也包含了输入图像的高次相关性。[0010]步骤三是对标签数据进行分解:对已知的标签数据(每幅图像均已经设置了标签)处理得到标签特征集合,建立标签空间,再将标签特征集合中每个标签特征向量进行两两乘积并求和得到标签分解向量;
[0011]通过步骤三对标签数据进行分解提取到标签的二次相关性,从而提升分类准确性。
[0012]步骤四是利用神经网络提取标签的高次相关性:将步骤三得到的标签分解向量输入到包含多层全连接层的神经网络中得到标签数据的特征码;[0013]通过步骤三和步骤四,把标签数据映射到了一个网络隐空间,并得到了标签数据的特征码。这个特征码既包含了标签数据的二次相关性,也包含了标签数据的高次相关性。[0014]步骤五是解码:采用包含多层全连接层的神经网络将输入图像的特征码从输入空间解码到标签空间;
[0015]本发明的包含多层全连接层的神经网络能很好地将隐空间特征映射到标签空间上,从而很好地进行预测。
[0016]本发明的损失函数包含三部分:输入图像和标签数据在隐空间的特征码之间的平
5
CN 110210515 A
说 明 书
2/7页
方损失,预测标签和真实标签的平方损失和正则项。通过平方损失进行训练,输入图像和标签数据可以很好地映射到同一隐空间,并且在隐空间的特征码会非常接近,预测标签和真实标签也会非常接近。最后加入一项正则项,可降低过拟合带来的负面影响,提高分类准确率。
[0017]步骤六是检测:构建损失函数,初始化训练参数,采用随机梯度下降方法最小化最终损失函数为目标,训练求解获得最优的训练参数;然后针对待测试的图像数据输入到训练后的模型中进行预测,输出获得标签结果,实现多标签分类。[0018]本发明实施对象为图像数据的处理,例如图像中目标对象的分类。[0019]步骤一:由输入图像获得图像向量x=[x1,x2,...,xp]T得到图像特征集合Vemb={v1x1,v2x2,...,vpxp},其中x1,x2,...,xp分别表示输入图像中各个像素点的灰度值,x∈Rp,Rp表示p维的实数空间作为输入空间,p表示输入图像中的像素点总数;vi表示第i个图像特征,vi∈Rt,Rt表示t维的实数空间;t表示特征维度;vixi表示第i个图像特征对于输入图像的图像特征向量;然后将图像特征集合Vemb中每个图像特征向量进行两两乘积并求和得到图像分解向量gx:
[0020]
[0021][0022]
j和k分别表示输入图像中的像素点的序数;其中,表示向量的对应项相乘,
步骤二:将步骤一得到的图像分解向量gx输入到包含L+1层全连接层的第一神经
网络中,第一神经网络是仅由L层全连接层结合一个输出层连接构成,其中除了最后一层全连接层以外的其他每个全连接层之后均设置有一个激活函数:[0023]sx1=σx1(Wx1gx+bx1)[0024]sx2=σx2(Wx2sx1+bx2)[0025]......[0026]sxL=σxL(WxLsxL-1+bxL)[0027]cx=WxosxL+bxo[0028]其中,sxi,Wxi,bxi,σ权重矩xi分别是第一神经网络中第i个全连接层的输出向量、阵、偏差向量和Relu激活函数;cx表示输入图像x的特征码,cx∈Rt,Rt为维度k的实数空间作为隐空间;Wxo表示第一神经网络中输出层的权重矩阵,bxo表示第一神经网络中输出层的偏差向量;
[0029]步骤三:由已知的标签数据获得标签向量y=[y1,y2,...,yq]T得到标签特征集合Uemb={u1y1,u2y2,...,uqyq},其中y1,y2,...,yq分别表示标签数据中每个图像标签的分类值,y∈Rq,Rq表示q维的实数空间作为标签空间,q表示标签数据中的标签分类总数;ui表示第i个标签特征,ui∈Rt,Rt表示t维的实数空间;t表示特征维度;uiyi表示第i个标签特征对于标签数据的标签特征向量;然后将标签特征集合Uemb中每个标签特征向量进行两两乘积并求和得到标签分解向量gy:
[0030]
6
CN 110210515 A[0031][0032]
说 明 书
3/7页
其中,表示向量的对应项相乘,e和r分别表示标签数据中的标签分类的序数;
步骤四:
[0033]将步骤一得到的标签分解向量gy输入到包含L+1层全连接层的第二神经网络中,第二神经网络是仅由L层全连接层结合一个输出层连接构成,其中除了最后一层全连接层以外的其他每个全连接层之后均设置有一个激活函数:[0034]sy1=σy1(Wy1gy+by1)[0035]sy2=σy2(Wy2sy1+by2)[0036]......[0037]syL=σyL(WyLsyL-1+byL)[0038]cy=WyosyL+byo[0039]其中,syi,Wyi,byi,σ权重矩yi分别是第二神经网络中第i个全连接层的输出向量、阵、偏差向量和Relu激活函数;cy表示标签数据y的特征码,cy∈Rt,Rt为维度k的实数空间作为隐空间;Wyo表示第二神经网络中输出层的权重矩阵,byo表示第二神经网络中输出层的偏差向量;
[0040]步骤五:用包含Ld+1层全连接层的第三神经网络对输入图像x的特征码cx处理,解码到标签空间,第三神经网络是仅由Ld层全连接层结合一个输出层连接构成,其中除了最后一层全连接层(输出层)以外的其他每个全连接层之后均设置有一个激活函数:[0041]h1=η1Wd1gx+bd1)[0042]h2=η2(Wd2h1+bd2)[0043]......
[0044][0045][0046]
其中,hi,Wdi,bdi,η权重矩i分别是第三神经网络中的第i个全连接层的输出向量、
阵、偏差向量和Relu激活函数,Ld表示神经网络的层数;表示预测的标签输出向量;Wxo表示三神经网络中输出层的权重矩阵,bxo表示三神经网络中输出层的偏差向量;[0047]步骤六:建立以下损失函数甲:
[0048]
[0049]
[0050]
其中,θ表示训练参数,由上述所有图像特征和所有标签特征以及三个神经网络中的权重矩阵、偏差向量构成了训练参数,Θ是所有训练参数的集合,||·||表示向量的二阶范数或矩阵的Frobenius范数,λ是可调权重参数;ΨD表示图像向量x和标签向量y的特征码之间的平方损失函数,ΨE表示标签输出向量和标签向量y之间的平方损失函数,N是训练
7
[0051]
CN 110210515 A
说 明 书
4/7页
数据的数量;
[0052]本发明图像处理中的特征数据和标签数据同时映射到一个相同的数据隐空间,提取了特征和标签的相关性,特征之间的两两相关性和高次相关性,标签之间的两两相关性和高次相关性,降低了由于数据太过稀疏带来的预测困难,提高了多标签分类的准确性。[0053]本发明具有的有益效果是:
[0054]本发明解决了图像数据前人工作不能同时提取标签的二次相关性和多次相关性的问题,采用计算机处理方式将图像处理中的特征数据和标签数据同时映射到一个相同的数据隐空间,提取了特征和标签的相关性,特征之间的两两相关性和高次相关性,标签之间的两两相关性和高次相关性,降低了由于图像数据太过稀疏带来的预测困难,提高了多标签分类的准确性。
附图说明
[0055]图1是一个多标签分类的例子。[0056]图2是本发明方法的模型结构。
具体实施方式
[0057]下面结合附图和实施例对本发明作进一步说明。[0058]本发明实施例如下:
[0059]具体实施的数据集的标签集合为{植物,鸟,人物,天空,云,草地,山脉},图1是该数据集的一个样本。该样本的输入图像x则为图像的像素点。能够看出该样本的标签是{鸟,天空,云},则该图的标签为y=[0,1,0,1,1,0,0]。[0060]图2展示了本发明的模型结构。[0061]步骤一:
[0062]由输入图像获得图像向量x=[x1,x2,...,xp]T得到图像特征集合Vemb={v1x1,v2x2,...,vpxp},其中x1,x2,...,xp分别表示输入图像中各个像素点的灰度值,x∈Rp,Rp表示p维的实数空间作为输入空间,p表示输入图像中的像素点总数;vi表示第i个图像特征,vi∈Rt,Rt表示t维的实数空间;t表示特征维度,为一个超参数;vixi表示第i个图像特征对于输入图像的图像特征向量;第i个图像特征是由参数为(0,1)的正态分布随机初始化,并通过训练获得。
[0063]再将图像特征集合Vemb中每个图像特征向量进行两两乘积并求和得到图像分解向量gx:
[0064]
[0065][0066]
其中,表示向量的对应项相乘,j和k分别表示输入图像中的像素点的序数。
本发明是将向量的对应项相乘,而不是常规的向量点积处理,这样分解能提取特
征的二次相关性,从而提升分类准确性。[0067]步骤二:
[0068]将步骤一得到的图像分解向量gx输入到包含L+1层全连接层的第一神经网络中,
8
CN 110210515 A
说 明 书
5/7页
第一神经网络是仅由L层全连接层结合一个输出层连接构成,其中除了最后一层全连接层(输出层)以外的其他每个全连接层之后均设置有一个激活函数,即第一层~第L层全连接层均设置有激活函数,仅L+1层全连接层未设置有激活函数:[0069]sx1=σx1(Wx1gx+bx1)[0070]sx2=σx2(Wx2sx1+bx2)[0071]......[0072]sxL=σxL(WxLsxL-1+bxL)[0073]cx=WxosxL+bxo[0074]其中,sxi,Wxi,bxi,σ权重矩xi分别是第一神经网络中第i个全连接层的输出向量、阵、偏差向量和Relu激活函数;cx表示输入图像x的特征码,是输入图像在隐空间的表达向量,cx∈Rt,Rt为维度k的实数空间作为隐空间;Wxo表示第一神经网络中输出层的权重矩阵,bxo表示第一神经网络中输出层的偏差向量;[0075]通过步骤一和步骤二,把输入图像的图像特征向量x映射到了一个隐空间,并得到了x的特征码cx,这个特征码cx既包含了x的二次相关性,也包含了x的高次相关性。[0076]步骤三:
[0077]由已知的标签数据获得标签向量y=[y1,y2,...,yq]T得到标签特征集合Uemb={u1y1,u2y2,...,uqyq},其中y1,y2,...,yq分别表示标签数据中每个图像标签的分类值,y∈Rq,Rq表示q维的实数空间作为标签空间,q表示标签数据中的标签分类总数;ui表示第i个标签特征,ui∈Rt,Rt表示t维的实数空间;t表示特征维度,为一个超参数;uiyi表示第i个标签特征对于标签数据的标签特征向量;第i个标签特征是由参数为(0,1)的正态分布随机初始化,并通过训练获得。
[0078]再将标签特征集合Uemb中每个标签特征向量进行两两乘积并求和得到标签分解向量gy:
[0079][0080][0081]
其中,表示向量的对应项相乘,e和r分别表示标签数据中的标签分类的序数;
本发明是将向量的对应项相乘,而不是常规的向量点积处理,这样分解能提取标
签特征的二次相关性,从而提升分类准确性。[0082]步骤四:将步骤一得到的标签分解向量gy输入到包含L+1层全连接层的第二神经网络中,第二神经网络是仅由L层全连接层结合一个输出层连接构成,其中除了最后一层全连接层(输出层)以外的其他每个全连接层之后均设置有一个激活函数,即第一层~第L层全连接层均设置有激活函数,仅L+1层全连接层未设置有激活函数:[0083]sy1=σy1(Wy1gy+by1)[0084]sy2=σy2(Wy2sy1+by2)[0085]......[0086]syL=σyL(WyLsyL-1+byL)[0087]cy=WyosyL+byo[0088]其中,syi,Wyi,byi,σ权重矩yi分别是第二神经网络中第i个全连接层的输出向量、
9
CN 110210515 A
说 明 书
6/7页
阵、偏差向量和Relu激活函数;cy表示标签数据y的特征码,是标签数据在隐空间的表达向量,cy∈Rt,Rt为维度k的实数空间作为隐空间;Wyo表示第二神经网络中输出层的权重矩阵,byo表示第二神经网络中输出层的偏差向量;[0089]通过步骤一和步骤二,把标签数据的标签向量y映射到了一个隐空间,并得到了y的特征码cy,这个特征码cy既包含了y的二次相关性,也包含了y的高次相关性。[0090]步骤五:用包含Ld+1层全连接层的第三神经网络对输入图像x的特征码cx处理,解码到标签空间,第三神经网络是仅由Ld层全连接层结合一个输出层连接构成,其中除了最后一层全连接层(输出层)以外的其他每个全连接层之后均设置有一个激活函数,即第一层~第Ld层全连接层均设置有激活函数,仅Ld+1层全连接层未设置有激活函数:[0091]h1=η1Wd1gx+bd1)[0092]h2=η2(Wd2h1+bd2)[0093]......
[0094][0095][0096]
其中,hi,Wdi,bdi,η权重矩i分别是第三神经网络中的第i个全连接层的输出向量、
阵、偏差向量和Relu激活函数,Ld表示神经网络的层数;表示预测的标签输出向量;Wxo表示三神经网络中输出层的权重矩阵,bxo表示三神经网络中输出层的偏差向量;[0097]通过步骤一和步骤二,把输入图像的图像向量x映射到了一个隐空间,并得到了x的特征码cx,这个特征码cx既包含了x的二次相关性,也包含了x的高次相关性。[0098]步骤六:建立以下损失函数Ψ:
[0099]
[0100]
[0101]
其中,θ表示训练参数,由上述所有图像特征和所有标签特征以及三个神经网络中的权重矩阵、偏差向量构成了训练参数,即图像特征v1,v2,...,vp和图像特征u1,u2,...,up以及第一神经网络中所有全连接层的权重矩阵和偏差向量Wxi,bxi、第二神经网络中所有全连接层的权重矩阵和偏差向量Wyi,byi、第三神经网络中所有全连接层的权重矩阵和偏差向量Wdi,bdi,Θ是所有训练参数的集合,||·||表示向量的二阶范数或矩阵的Frobenius范数,λ是可调权重参数;ΨD表示图像向量x和标签向量y的特征码之间的平方损失函数,ΨE表
[0102]
示标签输出向量和标签向量y之间的平方损失函数,N是训练数据的数量;
损失函数最后一项为正则项,而且本发明不仅仅是正则项,而是高次正则项,在最后加入一项高次正则项能更好地降低过拟合带来的负面影响,提高分类准确率。[0104]构建损失函数,初始化训练参数,采用随机梯度下降方法最小化最终损失函数为
[0103]
10
CN 110210515 A
说 明 书
7/7页
目标,训练求解获得最优的训练参数;然后针对待测试的图像数据输入到训练后的模型中进行预测,输出获得标签结果,实现多标签分类。[0105]通过平方损失进行训练,x和y可以很好地映射到同一隐空间,并且x和y在隐空间中的特征码会非常接近。通过平方损失进行训练,通过x预测的标签输出向量与真实的标签向量y会非常接近。[0106]通过参数为(0,1)的正态分布对各个训练参数进行随机初始化,然后采用随机梯度下降方法最小化最终损失函数Ψ,训练求解获得最优的训练参数,然后将待测试的图像实现数据输入到训练后的模型中进行预测,输出获得预测的标签输出向量作为标签结果,多标签分类。[0107]步骤七:用测试样本测试该模型的。
[0108]
把测试数据的像素值作为输入图像x,输入到模型中,最后得到预测标签再将预
测标签四舍五入到0或1,并与真实标签进行比较,以此来评估的算法。[0109]图1是测试样本,将图1的像素值作为输入图像x,输入到模型中。假设得到预测标签
后的预测标签为
再对预测标签四舍五入得到最
已知图1的真实标签为y=[0,1,0,1,1,0,0]。再拿预
测标签和真实标签进行对比,发现预测标签与真实标签完全一致,说明的预测是准确的。[0110]由此可见,本发明解决了图像数据前人工作不能同时提取标签的二次相关性和多次相关性的问题,提高了图像多标签数据的分类准确性。
11
CN 110210515 A
说 明 书 附 图
1/1页
图1
图2
12
因篇幅问题不能全部显示,请点此查看更多更全内容