本发明属于图片文本跨模态检索技术领域,更为具体地讲,涉及一种基于自监督对抗的图片文本跨模态检索方法。
背景技术:
随着云计算、物联网、移动电话、社交媒体等信息技术的发展,互联网上的数据呈爆炸式的增长,大数据时代已经到来。在大数据时代,如何进行快速的图片文本跨模态检索,是人们关注的重点。
自监督学习通过自身属性的标签来训练模型得到图片的特征,避免了昂贵的人工标注,但学习到的特征往往只关乎图片的视觉信息。对抗训练通过交替训练生成器与判别器,使得生成器生成的样本无法被判别器成功判别。
传统的图片文本跨模态检索方法由于图片特征和文本特征之间过大的区隔,难以将两个模态的特征很好地映射到同一空间中进行检索,阻碍了高效的跨模态检索。特别是图片特征中还存在冗余信息,不同模态特征不能很好地映射到同一空间,影响了图标文本跨模态检索的效果。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种基于自监督对抗的图片文本跨模态检索方法,以减小图片特征和文本特征之间的区隔,同时,滤除图片特征中的冗余信息,更好地将不同模态特征映射到同一空间,提高图片文本跨模态检索效果。
为实现上述发明目的,本发明基于自监督对抗的图片文本跨模态检索方法,其特征在于,包括以下步骤:
(1)、构建嵌入生成网络
构建两个独立的单层前馈神经网络分别作为图片网络(image-net)和文本网络(text-net),构建一个一层共享权重前馈神经网络作为共享网络(share-net),图片网络、文本网络以及共享网络构成嵌入生成网络;
图片经过图像卷积神经网络(imagecnn)进行特征提取,得到图片特征fv,然后经过图片网络、共享网络进行映射(编码),得到图片编码ev;
文本经过词转向量网络(doc2vec)得到文本特征ft,然后经过文本网络、共享网络进行映射(编码),得到文本编码et;
(2)、构建自监督对抗网络
自监督对抗网络包括一个由线性整流函数激活的单层权重共享前馈神经网络(共享层)以及两个独立的由softmax函数激活的单层前馈神经网络(两个独立层);
共享层与一个独立层cr构成图片旋转角度鉴别器dr,共享层与另一独立层cm构成模态(图片/文本)鉴别器dm;
(3)、在自监督对抗网络的辅助下,训练嵌入生成网络
依次输入n个图片文本对(一张图片以及对应的文本构成),其中,图片经过90度、180度以及270度旋转后,得到三张选择图片,然后连同未旋转的图片(0度图片)分别经过图像卷积神经网络进行特征提取,得到的图片特征,经过图片网络、共享网络进行映射(编码),得到图片编码
图片编码
图片编码
文本编码eti送入模态鉴别器dm中,经过共享层投影,得到中间嵌入,然后,中间嵌入在独立层cm中基于softmax激活函数进一步投影为大小为2的张量,代表输入的是图片或文本编码;
3.1)、计算自监督对抗损失ladv:
ladv=η*lmod(θmod) λ*lrot(θrot)
其中:
其中,θmod是模态训练相关的网络参数,θrot是图片旋转训练相关的网络参数,mvi是图片模态属性标签,mti是文本模态属性标签,rk是图片的旋转角度张量标签,dm(·)是模态鉴别器dm对编码模态进行预测,得到角度张量,dr(·)是图片旋转角度鉴别器dr对图片的旋转角度进行预测,得到角度张量;
3.2)、计算编码损失lemb:
lemb=α*lcla(θcla) β*lsim(θsim) γ*lrec(θrec)
其中,θcla、θsim、θrec是分类训练的相关网络参数、语义关系保持训练的相关网络参数以及重构训练的相关网络参数,α、β、γ为控制三项子损失作用的超参数,三项子损失分别为:
分类损失
语义关系保持损失
特征重构损失
3.3)、依次输入一批n个图片文本对,用减小梯度的方法网络参数θcla、θsim、θrec:
利用增大梯度的方法更新网络参数θmod、θrot:
其中,μ是更新系数,
这样不断训练,使嵌入生成网络学习得到区分模态内不同、保持模态间一致的最佳图片编码、文本编码;
(4)、图片文本跨模态检索
4.1)、构建图片、文本检索库
使用训练好的嵌入生成网络,对一定数量的图片分别进行特征提取、映射,依据得到的图片编码构建图片检索库,同时,使用训练好的嵌入生成网络,对一定数量的文本进行词转向量、映射,得到的文本编码构建文本检索库;
4.2)、跨模态检索
对于一张图片,经过特征提取、映射后得到图片编码,然后计算与文本检索库中文本编码之间的欧式距离,进而根据欧式距离的大小顺序,依次输出图片-文本检索结果;
对于一个文本,词转向量、映射,得到的文本编码,然后计算与图片检索库中图片编码之间的欧式距离,进而根据欧式距离的大小顺序,依次输出文本-图片检索结果。
本发明的目的是这样实现的。
本发明基于自监督对抗的图片文本跨模态检索方法,通过在嵌入生成网络构建一个共享网络,作为图片特征、文本特征分别映射为图片编码、文本编码的共享子空间,这样减小图片特征和文本特征之间的区隔,同时,构建一个自监督对抗网络,在自监督对抗网络的辅助下,进行对抗训练嵌入生成网络,以滤除图片特征中的冗余信息,更好地将不同模态特征映射到同一空间,使不同模态特征可以更好地对齐,从而提高图片文本跨模态检索效果。
附图说明
图1是本发明基于自监督对抗的图片文本跨模态检索方法一种具体实施方式流程图;
图2是本发明基于自监督对抗的图片文本跨模态检索方法一种具体实施方式的原理示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明基于自监督对抗的图片文本跨模态检索方法一种具体实施方式流程图。
在本实施例中,如图1所示,本发明基于自监督对抗的图片文本跨模态检索方法,其特征在于,包括以下步骤:
步骤s1:构建嵌入生成网络
在本实施例中,如图2所示,构建两个独立的单层前馈神经网络分别作为图片网络(image-net)和文本网络(text-net),构建一个一层共享权重前馈神经网络作为共享网络(share-net),图片网络、文本网络以及共享网络构成嵌入生成网络。
图片经过图像卷积神经网络(imagecnn)进行特征提取,得到图片特征fv,然后经过图片网络、共享网络进行映射(编码),得到图片编码ev。
文本经过词转向量网络(doc2vec)得到文本特征ft,然后经过文本网络、共享网络进行映射(编码),得到图片编码et。
在本实施例中,各模态独立层即图片网络、文本网络用于将原始特征即图片特征、文本特征投影为大小为2048空间中,共享层即共享网络再投影到大小为1024的公共子空间中,得到图片编码、文本编码。
图片网络、文本网络以及共享网络都是由线性整流函数激活的神经网络。
步骤s2:构建自监督对抗网络
自监督对抗网络包括一个由线性整流函数激活的单层权重共享前馈神经网络(共享层)以及两个独立的由softmax函数激活的单层前馈神经网络(两个独立层)。
共享层与一个独立层cr构成图片旋转角度鉴别器dr,共享层与另一独立层cm构成模态(图片/文本)鉴别器dm。
步骤s3:在自监督对抗网络的辅助下,训练嵌入生成网络
依次输入n个图片文本对(一张图片以及对应的文本构成),其中,图片经过90度、180度以及270度旋转后,得到三张选择图片,然后连同未旋转的图片(0度图片)分别经过图像卷积神经网络进行特征提取,得到的图片特征,经过图片网络、共享网络进行映射(编码),得到图片编码
在本实施例中,大小为1024的图片编码
在本实施例中,大小为1024的图片编码
文本编码eti送入模态鉴别器dm中,经过共享层投影,得到大小为512的中间嵌入,然后,大小为512的中间嵌入在独立层cm中基于softmax激活函数进一步投影为大小为2的张量,代表输入的是图片或文本编码。
步骤s3.1:计算自监督对抗损失ladv:
ladv=η*lmod(θmod) λ*lrot(θrot)
其中:
其中,θmod是模态训练相关的网络参数,θrot是图片旋转训练相关的网络参数,mvi是图片模态属性标签,mti是文本模态属性标签,rk是图片的旋转角度张量标签,dm(·)是模态鉴别器dm对编码模态进行预测,得到角度张量,dr(·)是图片旋转角度鉴别器对图片的旋转角度进行预测,得到角度张量;
步骤s3.2:计算编码损失lemb:
lemb=α*lcla(θcla) β*lsim(θsim) γ*lrec(θrec)
其中,θcla、θsim、θrec是分类训练的相关网络参数、语义关系保持训练的相关网络参数以及重构训练的相关网络参数,α、β、γ为控制三项子损失作用的超参数,三项子损失分别为:
分类损失
语义关系保持损失
特征重构损失
步骤s3.3:更新网络参数
依次输入一批n个图片文本对,用减小梯度的方法网络参数θcla、θsim、θrec:
利用增大梯度的方法更新网络参数θmod、θrot:
其中,μ是更新系数,
这样不断训练,使嵌入生成网络学习得到区分模态内不同、保持模态间一致的最佳图片编码、文本编码。
步骤s4:图片文本跨模态检索
步骤s4.1:构建图片、文本检索库
使用训练好的嵌入生成网络,对一定数量的图片分别进行特征提取、映射,依据得到的图片编码构建图片检索库,同时,使用训练好的嵌入生成网络,对一定数量的文本进行词转向量、映射,得到的文本编码构建文本检索库;
步骤s4.2:跨模态检索
对于一张图片,经过特征提取、映射后得到图片编码,然后计算与文本检索库中文本编码之间的欧式距离,进而根据欧式距离的大小顺序,依次输出图片-文本检索结果。
对于一个文本,词转向量、映射,得到的文本编码,然后计算与图片检索库中图片编码之间的欧式距离,进而根据欧式距离的大小顺序,依次输出文本-图片检索结果。
仿真验证对比
基于上述设计和描述,本发明与现有多媒体检索算法进行仿真验证,在这些用于标准检索任务的方法中,ml-cca、mvda-vc和gss-sl是传统的多媒体检索方法,而dcca、ccl、acmr和dscmr基于深度神经网络的多媒体检索方法。
采用广泛使用的平均准确率(ap)评分作为评估指标,以公平地评估所有方法。map是所有查询的平均精确度(ap)计算得出的平均值。
表1
表1中,ssal为本发明,图1列出本发明和比较方法的结果在三个数据集上两个检索任务(图片查询文本和文本查询图片)的map得分和它们的平均成绩。从图1中,我们可以得出以下观察结果:
1)、本发明的方法达到最佳性能。本发明的方法明显优于传统的和基于深度神经网络的多媒体检索方法。特别是我们的方法在wikipedia上胜过最佳竞争对手dscmr分别6.5%,3.3%和4.9%。在mirflickr-25k上提升为2.0%,1.9%和2.0%。清楚地表明了本发明的优势。
2)、ms-coco是一些方法无法实现处理的大规模数据集。本发明的方法在该数据上也同样达到与同类方法相比更好的性能。在图片和文本查询检索任务中分别提高了2.7%和4.6%,平均为3.7%。这表明本发明(ssal)可有效处理大规模数据集。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
1.一种基于自监督对抗的图片文本跨模态检索方法,其特征在于,包括以下步骤:
(1)、构建嵌入生成网络
构建两个独立的单层前馈神经网络分别作为图片网络(image-net)和文本网络(text-net),构建一个一层共享权重前馈神经网络作为共享网络(share-net),图片网络、文本网络以及共享网络构成嵌入生成网络;
图片经过图像卷积神经网络(imagecnn)进行特征提取,得到图片特征fv,然后经过图片网络、共享网络进行映射(编码),得到图片编码ev;
文本经过词转向量网络(doc2vec)得到文本特征ft,然后经过文本网络、共享网络进行映射(编码),得到图片编码et;
(2)、构建自监督对抗网络
自监督对抗网络包括一个由线性整流函数激活的单层权重共享前馈神经网络(共享层)以及两个独立的由softmax函数激活的单层前馈神经网络(两个独立层);
共享层与一个独立层cr构成图片旋转角度鉴别器dr,共享层与另一独立层cm构成模态(图片/文本)鉴别器dm;
(3)、在自监督对抗网络的辅助下,训练嵌入生成网络
依次输入n个图片文本对(一张图片以及对应的文本构成),其中,图片经过90度、180度以及270度旋转后,得到三张选择图片,然后连同未旋转的图片(0度图片)分别经过图像卷积神经网络进行特征提取,得到的图片特征,经过图片网络、共享网络进行映射(编码),得到图片编码
图片编码
图片编码
文本编码eti送入模态鉴别器dm中,经过共享层投影,得到中间嵌入,然后,中间嵌入在独立层cm中基于softmax激活函数进一步投影为大小为2的张量,代表输入的是图片或文本编码;
3.1)、计算自监督对抗损失ladv:
ladv=η*lmod(θmod) λ*lrot(θrot)
其中:
其中,θmod是模态训练相关的网络参数,θrot是图片旋转训练相关的网络参数,mvi是图片模态属性标签,mti是文本模态属性标签,rk是图片的旋转角度张量标签,dm(·)是模态鉴别器dm对编码模态进行预测,得到角度张量,dr(·)是图片旋转角度鉴别器dr对图片的旋转角度进行预测,得到角度张量;
3.2)、计算编码损失lemb:
lemb=α*lcla(θcla) β*lsim(θsim) γ*lrec(θrec)
其中,θcla、θsim、θrec是分类训练的相关网络参数、语义关系保持训练的相关网络参数以及重构训练的相关网络参数,α、β、γ为控制三项子损失作用的超参数,三项子损失分别为:
分类损失
语义关系保持损失
特征重构损失
3.3)、依次输入一批n个图片文本对,用减小梯度的方法网络参数θcla、θsim、θrec:
利用增大梯度的方法更新网络参数θmod、θrot:
其中,μ是更新系数,
这样不断训练,使嵌入生成网络学习得到区分模态内不同、保持模态间一致的最佳图片编码、文本编码;
(4)、图片文本跨模态检索
4.1)、构建图片、文本检索库
使用训练好的嵌入生成网络,对一定数量的图片分别进行特征提取、映射,依据得到的图片编码构建图片检索库,同时,使用训练好的嵌入生成网络,对一定数量的文本进行词转向量、映射,得到的文本编码构建文本检索库;
4.2)、跨模态检索
对于一张图片,经过特征提取、映射后得到图片编码,然后计算与文本检索库中文本编码之间的欧式距离,进而根据欧式距离的大小顺序,依次输出图片-文本检索结果;
对于一个文本,词转向量、映射,得到的文本编码,然后计算与图片检索库中图片编码之间的欧式距离,进而根据欧式距离的大小顺序,依次输出文本-图片检索结果。
技术总结