基于条件变分自编码和对比学习的图像多样化描述方法
未命名
10-26
阅读:97
评论:0
1.本发明涉及一种数字数据处理技术,特别是一种基于条件变分自编码和对比学习的图像多样化描述方法。
背景技术:
2.图像描述任务是计算机视觉和自然语言处理交叉领域的一项基础多模态任务。早期的图像描述模型忽略了生成描述的多样性,只关注精确性,从而导致生成的描述具有简单重复的特点,不符合人类语言的丰富性特征。因此,图像多样化描述已经成为越来越多的研究者们关注的研究热点,该任务的目标是对于给定的一张图像,在保证生成准确描述的前提下,生成单词多样、句式多样的多个描述语句。申请号为202211628528.4的专利提供了一种基于双路编码器的可解释性文本分类系统,改专利公开了通过融合多头注意力与双向门控循环单元的语义表述,解决查询和注意力结果不匹配问题;但该专利中每个隐变量都是直接由不同的单支路生成,因此这些模型生成的隐变量缺乏成对和不成对的图像-描述间的区分性,导致即使是不同的图像生成的描述也都大同小异。
技术实现要素:
3.本发明的目的在于提供一种基于条件变分自编码和对比学习的图像多样化描述方法,包括:
4.步骤s100,将训练集中的每一个图像-描述对输入至一个单支路条件变分自编码器和解码器网络模型进行预训练,获得预训练后的序列隐变量zb;
5.步骤s200,引入另一单支路条件变分自编码器和解码器网络,计算变分下界损失函数l1(x,i),通过该支路条件变分自编码器获得编码的序列隐变量zc;
6.步骤s300,引入单词级双向对比学习损失函数lr(zb,zc),提升序列隐变量zc的单词级判别能力;
7.步骤s400,利用预训练的序列隐变量zb生成对应的描述语句cn,利用序列隐变量zc生成对应的描述语句cg,利用真实语句c
t
和交叉熵损失函数对cg进行句子级的全局对比学习,获得全局对比学习目标函数l2(x,i);
8.步骤s500,获得联合优化目标l
total
=λ1l1(x,i)+λ2l2(x,i)+λ3lr(zb,zc),提升图像多样化模型的隐表示判别能力和细粒度的描述语句解码能力,从而获得高质量的多样化描述语句,其中λ1、λ2和λ3为平衡每部分损失的权重参数。
9.进一步地,步骤s200中,变分下界损失函数l1(x,i)通过下式获得
[0010][0011]
其中,表示解码器生成语句的对数条件似然
的期望,表示在所有时间步中先验模型和后验模型p
θ
(z
tz<t
,x
<t
,i)的kl散度,θ为模型参数,x表示t长度的描述,x
t
为第t步生成的单词,z为隐变量,z
t
为第t步的隐变量,t∈t,i表示图像。
[0012]
进一步地,步骤s300中,单词级双向对比学习损失函数lr(zb,zc)通过下式获得
[0013][0014]
其中,m表示正向边界,(zb,zc)表示分别从双支路的条件变分自编码器对同一批次中相同的图像-描述对编码而获得的成对隐变量,(zb',zc)和(zb,zc')则是同一批次中非成对的隐变量。
[0015]
进一步地,步骤s400中,全局对比学习目标函数l2(x,i)通过下式获得
[0016][0017]
其中,l
xe
代表交叉熵损失,k表示批次大小,α为超参数。
[0018]
本发明与现有技术相比,具有以下优点:本发明提供的双支路条件变分自编码器,通过将序列变分自编码与对比学习相结合,在保证模型生成描述精确性的前提下,显著提升了多样性
附图说明
[0019]
图1为本发明的方法示意图。
[0020]
图2为本发明序列隐空间中单词生成的图形化模型示意图。
[0021]
图3为不同图像描述模型生成描述的定性比较示意图。
[0022]
图4为ds-cvae基于测试集生成描述的定性示例示意图。
具体实施方式
[0023]
结合图1,一种基于条件变分自编码和对比学习的图像多样化描述方法,包括以下步骤:
[0024]
步骤s100,将训练集中的每一个图像-描述对输入至一个单支路条件变分自编码器和解码器网络模型进行预训练,获得预训练后的序列隐变量zb;
[0025]
步骤s200,引入另一单支路条件变分自编码器和解码器网络,计算变分下界损失函数l1(x,i),通过该支路条件变分自编码器获得编码的序列隐变量zc;
[0026]
步骤s300,将同一训练批次中的图像-描述对分别输入两个支路对应的条件变分自编码器,获得序列隐变量zb和zc,引入单词级双向对比学习损失函数lr(zb,zc),提升序列隐变量zc的单词级判别能力;
[0027]
步骤s400,利用预训练的序列隐变量zb生成对应的描述语句cn,利用序列隐变量zc生成对应的描述语句cg,利用真实语句c
t
和交叉熵损失函数对cg进行句子级的全局对比学习,获得全局对比学习目标函数l2(x,i);
[0028]
步骤s500,获得联合优化目标l
total
=λ1l1(x,i)+λ2l2(x,i)+λ3lr(zb,zc),其中λ1、λ2和λ3为平衡每部分损失的权重参数,通过单词级对比损失、句子级对比损失和变分下界损
失函数,提升图像多样化模型的隐表示判别能力和细粒度的描述语句解码能力,从而获得高质量的多样化描述语句。
[0029]
具体地,本发明的目的在于对于给定的图像i,条件变分自编码器生成多种不同的描述集合x。通过最大化条件概率p
θ
(x,z|i)实现该目标。
[0030][0031]
其中,θ为模型参数,x表示t长度的描述,x
t
为第t步生成的单词,z为隐变量,z
t
为第t步的隐变量,t∈t。
[0032]
实践中,利用长短时神经网络lstm建立条件概率分布p
θ
(x|i)
[0033][0034]
其中隐藏层状态h
t-1
中包含了当前时间步之前的所有x
<t
的信息,并且x
t-1
会直接影响当前时间步x
t
的生成。然而利用当前时间步前生成的单词序列和条件概率分布p
θ
(x
t
|x
<t
,i)仅能实现图像到描述间的一对一的映射,无法生成多样化的描述语句。为此,本实施例引入隐变量z
t
,该隐变量在每个时间步为模型提供更多样的生成单词选择。同时,条件变分自编码器所需要的变分下界
[0035][0036]
式(5)中,第一项表示解码器生成语句的对数条件似然的期望,第二项表示在所有时间步中先验模型和后验模型p
θ
(z
t
|z
<t
,x
<t
,i)的kl散度。先验模型和后验模型分别对应双支路条件变分自编码器的编码网络。
[0037]
步骤s100中,通过最大化条件概率分布的变分下界,即下界损失函数l1(x,i)来训练条件变分自编码和解码器网络,使得先验网络向后验网络进行逼近,输出预训练的隐变量zb。给定一张图像i,先验模型可以被参数化为一系列条件的乘积p
θ
(z
t
|z
<t
,x
<t
,i)。在测试阶段本实施例提出条件变分自编码器(ds-cvae)的从先验模型中采样隐变量z
t
作为解码器生成对应单词的条件。具体而言,在每一个时间步t,隐变量z
t
的采样依据之前所有时间步的x
<t
和z
<t
,随后采样获得的隐变量z
<t
同所有的x
<t
共同预测当前时间步的单词x
<t
。因此,ds-cvae可以从p
θ
(z
t
|z
<t
,x
<t
,i)中采样一系列多样的隐变量z
t
并输入到解码器p
θ
(x
t
|x
<t
,z
<t
,i)中实现生成描述的多样性,如图2所示。
[0038][0039][0040]
进一步地,预训练隐变量zb缺乏成对和不成对的图像-描述间的区分性。因此,本实施例对于训练集中的每一个图像-描述对,都将其输入至双支路条件变分自编码器中进
行编码,通过两个支路间的对比学习来提高隐变量的多样性及可区分性。在此基础上,步骤s300采用式(7)进行联合训练
[0041][0042]
其中,m表示正向边界;(zb,zc)表示分别从双支路的条件变分自编码器对同一批次中相同的图像-描述对编码而获得的成对隐变量,(zb',zc)和(zb,zc')则是同一批次中非成对的隐变量。式(7)中的第一个max项,zc采样自图2中下支路seq-cvae的后验模型,zb和zb'则是采样自预训练的上支路seq-cvae中的后验模型;zb表示与zc采样自同一成对的图像-描述对的正样本,而zb'表示随机采样自当前批次中非成对的图像-描述对。式(7)中的后一max项与之相反。
[0043]
步骤s300的对比学习实质上是一种局部对比学习,旨在提高隐空间中每个单词对应隐变量的可区分性。
[0044]
为了进一步消除图像描述中重读的单词和短语,缓解训练和测试阶段存在的偏差,本实施例采用交叉熵损失法进行全局对比学习,步骤s400的具体过程为:
[0045]
步骤s401,将解码器预测生成的描述被视为正样本,由预训练的解码器中采样的描述定义为负样本;
[0046]
步骤s402,利用正负样本对,结合全局对比学习和交叉熵损失设计全局对比损失l2(x,i)进行全局对比学习;
[0047][0048]
其中,l
xe
代表交叉熵损失;k表示批次大小;α为超参数;c
t
和cn分别表示每张给定图像i的真实语句和预训练模型生成的负样本语句;cg是由当前模型解码器通过贪婪策略生成的描述语句。贪婪策略将生成的单词一个接一个地提供给解码器,并根据交叉熵损失依次预测概率值最大的下一个单词;从句子层级看,l2(x,i)使用混合训练目标减少解码器对于常见单词的生成,并同时促使解码器生成正样本中包含的准确且多样的单词。
[0049]
实施例一
[0050]
ds-cvae使用faster-rcnn为每张图像提取2048-d的目标特征。然后对seq-cvae编码网络和解码器进行1630个迭代的预训练。在联合训练阶段,双支路的seq-cvae进行20375次的迭代训练。其中,隐变量z的维度被设置为128。解码器在每个时间步上以图像特征和序列隐变量的拼接向量作为输入。ds-cvae使用sgd优化器,其中学习率设置为0.015,动量设置为0.9,权重衰减设置为0.001。为进一步突出全局对比学习的作用,式6中的m设置为0.2,式7中α设置为1.5。联合优化目标函数中的λ1、λ2和λ3分别设置为1、1、1.2。
[0051]
(1)best-1精确性
[0052]
表1所示为ds-cvae在mscoco数据集“m-rnn”测试集上使用oracle重新排序后精确性的性能对比(在采样20和采样100的对比)。ds-cvae在采样100时的性能显著优于当前的图像多样化描述方法,并且在采样20时与当前性能最优的基线模型cos-cvae不相上下。在spice指标上,ds-cvae和别的模型相比取得了最好的效果,如采样20和100时分别达到了0.294和0.337的分数,这表明ds-cvae相对于常见的单词或短语更倾向于生成具备细粒度和区分性的单词或短语。
[0053]
表1
[0054][0055][0056]
(2)多样性评价
[0057]
为更全面地对ds-cvae模型进行评估,本实施例将ds-cvae模型进行了如表2所示的多样性指标对比。对于每一种多样性评价指标,都基于consensus重新排序选出的最好的五个句子。
[0058]
从表2可是看出,ds-cvae取得的较好的多样性评价结果。ds-cvae在采样20和100个样本时的性能都优于ag-cvae和pos方法。在采样20个样本时,ds-cvae在除了mbleu之外的指标都优于基线模型seq-cvae和cos-cvae。在采样100个样本时,ds-cvae在所有五个多样性指标中取得了三个指标的最优结果。特别的是,对于div-1和div-2指标,ds-cvae的表现明显优于其他所有模型。对于采样20和100个样本时,ds-cvae相比于cos-cvae模型在div-2分数上各自提高了25%和10%。div-1和div-2的分数表明ds-cvae能够生成细粒度更强和更多样的单词及单词组合。
[0059]
表2
[0060][0061][0062]
(3)消融实验分析
[0063]
本实施例对ds-cvae模型的每个组成部分进行了有效性分析。具体而言,分别对编码阶段的双向对比学习和解码阶段的全局对比学习进行了实验验证。表3和表4分别是采样20和100个样本的情况下进行的精确性和多样性的消融实验结果,其中基线模型为没有引入对比学习的预训练seq-cvae模型。
[0064]
表3
[0065][0066]
表4
[0067][0068]
从表中可以看出,与基线模型相比,在编码阶段所采用的双向对比学习在精确性和多样性指标方面都有显著提升。因此可以证明双向对比学习对于提升隐变量的多样性和区分性是至关重要的。而解码阶段的全局对比学习,采样20和100个样本时的精确度略有下降,但多样性显著增加。因此,加入全局对比学习的ds-cvae能实现精确性和多样性之间的平衡。
[0069]
(4)模型性能的定性分析
[0070]
为了更全面地评估ds-cvae模型的多样性和精确性,本实施例将其与现有的图像多样化描述方法生成的描述进行了对比。
[0071]
如图3所示,对于第一幅图像,cos-cvae生成了常见的n-gram,例如“on the top of”,但对于图像中的细节描述中却没有体现,如描述中没有体现出猫的颜色。尽管ag-cvae描述了图像的一些细节信息,如“small gray and white”,但其仍不能避免生成常见的单词或短语。div-bs、seq cvae和pos也更倾向于生成准确和常见的单词与短语,无法在多样性和精确性之间达到平衡。
[0072]
本实施例提出的ds-cvae方法生成的描述不仅语法正确而且包含了图像的更多细节,如“white cat”和“red suitcase”。特别是,ds-cvae生成了数据集中出现频率较少但更具备实际意义的动词,如“resting”和“looking”,而不是较为频繁出现的动词,例如“sit”和“laying”。对于图3中的第二幅图像,seq-cvae生成的描述中出现了一些重复短语,如“some water near water”,而且缺少对图像细节的描述。pos和div-bs对图像的描述非常相似。本实施例提出的ds-cvae模型不仅用正确的语法描述了图像,而且生成了更加多样和准确的描述。具体地说,ds-cvae甚至生成了复合句,比如“that”从句,这样的表述显然更符合人类的语言习惯。此外,ds-cvae生成的描述通常都包含了图像中的重要和细节的描述,例如,ds-cvae模型描述了没有出现在任何基线模型中的“red beak”。凭借灵活的语法和单词用法,ds-cvae在多样性和精确性的平衡方面优于基线模型。
[0073]
在图4中,本实施例进一步展示了ds-cvae为各种测试集图像生成的一些示例。从图中可以看出,对于给定图像,ds-cvae生成的大多数描述都是自然、流畅和多样的。ds-cvae能够描述给定图像的具体细节,例如“blue jacket”、“holding a pair of skis”等。对于其中飞机的图像,ds-cvae给出了相应的多样化和详细描述,例如,“black airplane”、“military airplane”、“small fighter jet”和“black fighter”。对同一物体的不同描述也更符合人类自然语言的多样性特征。此外,与图3中的示例相同,ds-cvae生成了更有意义
和更灵活的动词,如“holding”、“wearing”、“permit”和“arrange”,这使得描述更具备区别性。尽于此,基于定量和定性的实验分析,本实施例所提出的ds-cvae在多样性和精确性方面都优于现有图像多样化描述方法。
技术特征:
1.一种基于条件变分自编码和对比学习的图像多样化描述方法,其特征在于,包括:步骤s100,将训练集中的每一个图像-描述对输入至一个单支路条件变分自编码器和解码器网络模型进行预训练,获得预训练后的序列隐变量z
b
;步骤s200,引入另一单支路条件变分自编码器和解码器网络,计算变分下界损失函数l1(x,i),通过该支路条件变分自编码器获得编码的序列隐变量z
c
;步骤s300,引入单词级双向对比学习损失函数l
r
(z
b
,z
c
),提升序列隐变量z
c
的单词级判别能力;步骤s400,利用预训练的序列隐变量z
b
生成对应的描述语句c
n
,利用序列隐变量z
c
生成对应的描述语句c
g
,利用真实语句c
t
和交叉熵损失函数对c
g
进行句子级的全局对比学习,获得全局对比学习目标函数l2(x,i);步骤s500,获得联合优化目标l
total
=λ1l1(x,i)+λ2l2(x,i)+λ3l
r
(z
b
,z
c
),提升图像多样化模型的隐表示判别能力和细粒度的描述语句解码能力,从而获得高质量的多样化描述语句,其中λ1、λ2和λ3为平衡每部分损失的权重参数。2.根据权利要求1所述的方法,其特征在于,步骤s200中,变分下界损失函数l1(x,i)通过下式获得其中,表示解码器生成语句的对数条件似然的期望,表示在所有时间步中先验模型和后验模型p
θ
(z
t
|z
<t
,x
<t
,i)的kl散度,θ为模型参数,x表示t长度的描述,x
t
为第t步生成的单词,z为隐变量,z
t
为第t步的隐变量,t∈t,i表示图像。3.根据权利要求2所述的方法,其特征在于,步骤s300中,单词级双向对比学习损失函数l
r
(z
b
,z
c
)通过下式获得其中,m表示正向边界,(z
b
,z
c
)表示分别从双支路的条件变分自编码器对同一批次中相同的图像-描述对编码而获得的成对隐变量,(z
b
',z
c
)和(z
b
,z
c
')则是同一批次中非成对的隐变量。4.根据权利要3所述的方法,其特征在于,步骤s400中,全局对比学习目标函数l2(x,i)通过下式获得其中,l
xe
代表交叉熵损失,k表示批次大小,α为超参数。5.根据权利要求4所述的方法,其特征在于,联合优化目标为l
total
=λ1l1(x,i)+λ2l2(x,i)+λ3l
r
(z
b
,z
c
)其中λ1、λ2和λ3为平衡每部分损失的权重参数。
技术总结
本发明提供了一种基于条件变分自编码和对比学习的图像多样化描述方法,包括:将训练集中的每一个图像-描述对输入至一个单支路条件变分自编码器和解码器网络模型进行预训练,获得预训练后的序列隐变量;引入另一单支路条件变分自编码器和解码器网络,计算变分下界损失函数,通过该支路条件变分自编码器获得编码的序列隐变量;引入单词级双向对比学习损失函数,提升序列隐变量z
技术研发人员:刘明明 刘兵 徐静 张海燕
受保护的技术使用者:江苏建筑职业技术学院
技术研发日:2023.08.11
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种卧式干燥机的制作方法 下一篇:一种灰板下进料式分切机的制作方法