对抗网络架构的优化方法、图像描述生成方法和系统
技术领域
本申请涉及计算机技术领域,特别是涉及一种对抗网络架构的优化方法、图像描述生成方法、系统、电子设备和装置。
背景技术
为了对图像中所包含的内容进行准确识别,目前常常会采用图像描述生成算法,来自动生成与图像中内容相匹配的图像描述信息。
常用的生成方式是通过Encoder-Decoder(编码器-解码器)结构,把卷积神经网络(Convolutional Neural Networks,简称CNN)用作编码器,将图像信息从像素空间编码到隐藏空间,然后把循环神经网络(Recurrent Neural Networks,RNN)用作解码器,将隐藏空间中编码后的图像信息解码到语言空间。
本申请的发明人在长期的研发过程中,发现上述生成方式存在易于产生通用或信息含量低的图像描述,这些图像描述不能恰当地反映给定图像的含义的问题。
发明内容
基于此,本申请提供一种对抗网络架构的优化方法、图像描述生成方法、系统、电子设备和装置,能够解决相关技术所提供的图像描述生成方法存在生成质量较差的技术问题。
一方面,本申请提供了一种对抗网络架构的优化方法,该方法包括以下步骤:构建对抗网络架构;藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构,优化后的对抗网络架构为如前述的方法优化后的对抗网络架构。
另一方面,本申请提供了一种对抗网络架构的优化系统,该系统包括:构建单元,用于构建对抗网络架构;对抗优化训练单元,用于藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构。
又一方面,本申请提供了一种图像描述生成方法,获取待描述图像;将待描述图像输入优化后的对抗网络架构中,得到待描述图像的最优图像描述,其中,优化后的对抗网络架构为如前述的方法优化后的对抗网络架构。
再一方面,本申请提供了一种图像描述信息生成系统,包括:获取单元,用于获取待描述图像;输入单元,用于将上述目标图像输入目标图像描述信息生成网络,其中,将待描述图像输入优化后的对抗网络架构中,得到待描述图像的最优图像描述,上述优化后的对抗网络架构为如前述的方法优化后的对抗网络架构。
再一方面,本申请提供了一种电子设备,电子设备包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行前述的对抗网络架构的优化方法。
再一方面,本申请提供了一种具有存储功能的装置,装置上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行前述的对抗网络架构的优化方法。
本申请的有益效果是:区别于现有技术的情况,本申请区别于现有技术的情况,本申请构建对抗网络架构后,藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构。该对抗优化训练可以使对抗网络架构得到强化学习,从而实现利用对抗网络架构所生成的图像描述得到综合优化,进而达到改善图像描述信息的生成质量,克服了相关技术所提供的图像描述信息生成方法存在生成质量较差的技术问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请对抗网络架构的优化方法一实施方式的流程示意图
图2是图1中步骤S20的流程示意图;
图3是图1中步骤S20的另一流程示意图;
图4是图1中步骤S20的又一流程示意图;
图5是图1中步骤S20的再一流程示意图;
图6是图3中步骤S210的一流程示意图;
图7是图3中步骤S220的一流程示意图;
图8是图4中步骤S26的一流程示意图;
图9是图4中步骤S27的一流程示意图;
图10是图4中步骤S28的一流程示意图;
图11是本申请图像描述生成方法一实施方式的流程示意图;
图12是本申请对抗网络架构的优化系统一实施方式的结构示意图;
图13是本申请图像描述信息生成系统一实施方式的结构示意图;
图14是本申请电子设备一实施方式的结构示意图;
图15是本申请具有存储功能的装置一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了描述上述图像描述信息生成方法,本发明实施例中涉及以下技术术语:
CNN:卷积神经网络(Convolutional Neural Networks),用于提取图像中的图像特征。
RNN:循环神经网络(Recurrent Neural Networks),用于语言建模,学习上下文特征。
R-CNN:基于区域的卷积神经网络(Region-based CNN),用于目标检测定位。
Faster R-CNN:R-CNN的改进版,速度更快,效果更好。
LSTM:长短时记忆网络(Long-Short Term Memory Networks),能够学习到长期以来关系,应用最广泛的一种RNN。
CNN-RNN结构:CNN用作编码器,RNN用作解码器,图像描述算法的通用框架。
Attention mechanism:注意力机制,RNN建模中对输入特征的加权计算。
self-critical:一种基于policy gradient的强化学习方法。
policy gradient:策略梯度,强化学习中的一种方法,直接学习每一个的更新策略。
BLEU:双语互译质量评估辅助工具(Bilingual Evaluation Understudy),主要用于机器翻译的质量评价。
ROUGE:文本摘要总结的质量评价标准(Recall-Oriented Understudy forGisting Evaluation)。
METEOR:一种用于任意语言翻译的质量评价标准。
CIDEr:用于图片描述的质量评价标准(Consensus-based image descriptionevaluation)。
SPICE:基于语义的图片描述质量评价标准(Semantic Propositional ImageCaption Evaluation)。
MSCOCO:Microsoft Common Objects in Context数据集,用于关键点检测,目标检测,图片描述等。
Genome:图像密集标注的数据集。
参阅图1,图1是本申请对抗网络架构的优化方法一实施方式的流程示意图,该方法包括以下步骤:
S10:构建对抗网络架构。
S20:藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构。
区别于现有技术的情况,本申请区别于现有技术的情况,本申请构建对抗网络架构后,藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构。该对抗优化训练可以使对抗网络架构得到强化学习,从而实现利用对抗网络架构所生成的图像描述得到综合优化,进而达到改善图像描述信息的生成质量,克服了相关技术所提供的图像描述信息生成方法存在生成质量较差的技术问题。
参阅图2,图2是图1中步骤S20的流程示意图,在一实施例中,对抗网络架构包括:第一生成模型、第二生成模型、第一判别模型以及第二判别模型。步骤S20包括以下步骤:
S21:藉由第一生成模型而生成第一图像描述。
S22:藉由第二生成模型而生成第二图像描述。
S23:藉由第一判别模型和第二判别模型而判别第一图像描述、第二图像描述以及匹配的图像描述,并输出一评分结果。
具体地,该匹配的图像描述是对训练图像进行描述所生成的真实图像描述。
S24:将评分结果反馈给第一生成模型和第二生成模型。
S25:第一生成模型和第二生成模型根据评分结果生成评分更高的第一图像描述和第二图像描述,进行下一轮迭代,直至生成评分结果不再提高。
上述步骤S21-S25的过程可以表述为:
其中,
表示第一生成模型,
表示第二生成模型,θ
1表示第一生成模型的模型参数,θ
2表示第二生成模型的模型参数,
表示第一判别模型,
表示第二判别模型,E表示数学期望,y
+表示匹配的图像描述,y
-表示不匹配的图像描述,y
gen表示第一图像描述或第二图像描述,
表示第一图像描述。
参阅图3,图3是图1中步骤S20的另一流程示意图,在一实施例中,步骤S21包括以下步骤:
S210:藉由第一生成模型而对训练图像进行描述以生成若干个第一图像描述。
步骤S22包括以下步骤:
S220:藉由第二生成模型而对数据库进行检索,以得到数据库中与训练图像相关的若干个第二图像描述,并生成图像描述候选池。
其中,图像描述候选池包括第一图像描述和第二图像描述。
参阅图4,图4是图1中步骤S20的又一流程示意图,步骤S20还包括以下步骤:
S26:藉由第二生成模型而对图像描述候选池中的各个图像描述进行排序。
S27:藉由第一判别模型而判别第一图像描述是否为第一生成模型生成或匹配的图像描述。
S28:藉由第二判别模型而对各个图像描述与匹配的图像描述之间的相关度进行排序。
参阅图5,图5是图1中步骤S20的再一流程示意图,在一实施例中,步骤S20还包括:
S201:利用梯度下降法优化第一判别模型和第二判别模型。
S202:利用第一目标函数优化第一生成模型。
第一目标函数表述为:
S203:利用第二目标函数优化第二生成模型。
第二目标函数表述为:
S204:利用策略梯度优化第一生成模型和第二生成模型,策略梯度函数表述为:
式中,ygreedy表示在解码过程中采用贪婪解码的结果,作为策略训练过程的基准以减少训练过程中的奖励方差。
其中,奖励函数R1,R2分别如下:
式中,α,β,γ表示控制奖励权值的权重系数,
表示用于计算生成质量的评价指标。
具体地,上述模型可以但不限于包括一个或多个用于评价图像描述的生成质量的评价指标,如BLEU,ROUGE,METEOR,CIDEr,SPICE等。其中,上述参数与人类对图像描述的主观评判具有相关性,因而,上述参数的综合评价分值,将可以实现客观反映出图像描述的生成质量的效果。
参阅图6,图6是图3中步骤S210的一流程示意图,在一实施例中,第一生成模型采用图像编码器-文本解码器架构,图像编码器包括FasterR-CNN神经网络,文本解码器包括双层LSTM网络。
具体地,其中图像编码器被用于获取图像特征,文本解码器将编码特征转化为描述语句。
步骤S210包括:
S211:采用Faster R-CNN神经网络提取训练图像x中的视觉特征z。视觉特征z为一个L×D维的向量zinit。
具体地,可以将向量zinit输入注意力机制(Attentionmechanism),以进行加权平均处理,得到注意力权值αi。
其中,zinit={zinit,1,zinit,2,...,zinit,L}=R-CNN(x)
式中,x表示训练图像,zinit表示L×D维的向量,δ表示前馈神经网络,前馈神经网络用于将向量映射到实数值,fFC表示全连接网络,αi表示对第i个图像特征zinit,i的注意力权值,Hc表示引导描述特征Hc。
S212:建立双层LSTM网络。
具体地,第一生成模型类似于自上而下的方法,它包括了两层LSTM,其中,第一层LSTM为Top-Down注意力长短期记忆网络(Top-Down Attention LSTM),第二层LSTM为语言长短期记忆网络(language LSTM)。
S213:第一层LSTM以第二层LSTM在t-1时刻的隐藏状态
视觉特征z、引导描述特征H
c、以及t-1时刻生成的词向量
为输入,并输出第一层LSTM在t时刻的隐藏状态
式中,LSTM(1)表示第一层LSTM。
式中,σ表示一个前馈网络,βt,i表示在第t时刻在第i个视觉特征zinit,i的注意力权值,z表示视觉特征。
S215:第二层LSTM以第一层LSTM在t时刻的隐藏状态
和视觉注意力
为输入,并输出第二层LSTM在t时刻的隐藏状态
其中,
式中,LSTM(2)表示第二层LSTM。
S216:设定词汇表。
第一生成模型为词汇表上的一个分类器。
S217:将第二层LSTM在t时刻的隐藏状态
输入到一个用于分类的全连接层以生成第一图像描述。
其中,Faster R-CNN神经网络包括全连接层。全连接层用于判定目标类别,即用于分类。
步骤S217可以表述为:
式中,W
c表示学习参数,θ
1表示第一生成模型
的参数,
表示第一图像描述。
参阅图7,图7是图3中步骤S220的一流程示意图,在一实施例中,步骤S220包括以下步骤:
S221:藉由第二生成模型对数据库进行检索,以检索出与训练图像最匹配的M2个候选图像,以得到对应的M2个第二图像描述
具体地,本实施例中存在一个预先检索的第二生成模型,该第二生成模型用于检索数据库中候选的第二图像描述
候选的第二图像描述
是根据查询训练图像与数据库中其他图像的视觉相似性,检索出k个最相似的图像以得到M2个检索的候选图像描述。最相似图像是使用余弦相似性度量在查询图像与训练图像见穷举计算得来,记为引导描述集C={c
1,c
2,...,c
M2}。随后,使用LSTM网络对提取出来的引导描述集提取语义表示。根据每个句子中单词嵌入表示,隐藏状态si可以根据上一个时刻的隐藏状态s
i-1计算出来,可以表述为:
si=LSTM(si-1,e(wi))
式中,e(w
i)表示引导描述中第i个词的词嵌入向量。每一个引导描述c
i可以用编码时的隐藏状态进行表示
和m表示引导描述c
i的长度。最终的引导描述向量可以表示为
其中μ表示均值化函数。
S222:藉由第二生成模型将M2个第二图像描述
与第一生成模型生成的M1个第一图像描述
组成图像描述候选池
参阅图8,图8是图4中步骤S26的一流程示意图,在一实施例中,步骤S26包括:
S261:藉由第二生成模型利用LSTM网络将各个图像描述p编码成嵌入式表示o。
式中,
表示LSTM网络在第i个时刻的隐藏状态,Lp表示图像描述p的长度。
S262:给定训练图像x。
其中,训练图像x对应的图像描述对为<p1,p2>。
S263:计算p1比p2更相关的估计概率。
具体地,通过全连接层和sigmoid函数,输出用于判别第一生成模型、第二生成模型所生成的与训练图像x匹配的图像描述p1、p2的真假的概率值。具体表述为:
式中,ρ表示sigmoid激活函数,g表示任意的打分函数。
S264:构造出训练图像x与匹配的图像描述p+之间的正样本(<p+,pi>|x),生成排序后的图像描述对<p1,p2>的概率分布。
其中,生成排序后的图像描述对<p1,p2>的概率分布表述为:
在一实施例中,在步骤S26之后,该方法还包括以下步骤:
基于三重态排序损失函数对第二生成模型进行优化,以使训练图像与匹配的图像描述的相关度最大化,同时,使训练图像与第一图像描述或第二图像描述的相关度最小化。
其中,三重态排序损失函数表述为:
式中,
表示期望的模型相关度最小间隔,y+表示匹配的图像描述,y
gen表示第一图像描述或第二图像描述。
参阅图9,图9是图4中步骤S27的一流程示意图,在一实施例中,步骤S27包括以下步骤:
S271:建立第一判别模型。
第一判别模型包括基于LSTM网络的二元分类器。
S272:基于LSTM网络的二元分类器判别第一图像描述是否为第一生成模型生成或匹配的图像描述。
参阅图10,图10是图4中步骤S28的一流程示意图,在一实施例中,步骤S28包括以下步骤:
S281:建立第二判别模型。
S282:给定训练图像x。
S283:构造训练图像x与匹配的图像描述y+之间的正样本对<x,y+>、训练图像x与第一图像描述或第二图像描述ygen之间的负样本对<x,ygen>。
S284:藉由第二判别模型
对正样本对<x,y+>和负样本对<x,y
gen>进行排序。
其中,排序后的负样本对<x,ygen>的概率分布表述为:
在一实施例中,在步骤S28之后,该方法还包括以下步骤:
基于三重态排序损失函数对第二判别模型进行优化,以使训练图像与匹配的图像描述的相关度最大化,同时,使训练图像与第一图像描述或第二图像描述的相关度最小化。
其中,三重态排序损失函数表述为:
式中,
表示期望的模型相关度最小间隔,y+表示匹配的图像描述,y
gen表示第一图像描述或第二图像描述。
为了验证本专利所提出方法的有效性和先进性,利用提出的用于图像描述生成的交互式对偶生成对抗网络,我们在MSCOCO、Flick-40数据集上进行了大量的实验。其中MSCOCO数据集包含11万张带有描述标签的训练集图片以及5000张验证集、5000张测试集。在训练机上训练,并最终在测试集上测试时,本方法始终优于其他图片描述生成的最好方法,展现出巨大优越性,具有十分广阔的应用前景。
参阅图11,图11是本申请图像描述生成方法一实施方式的流程示意图,该方法包括以下步骤:
S30:获取待描述图像。
S40:将待描述图像输入优化后的对抗网络架构中,得到待描述图像的最优图像描述。
其中,优化后的对抗网络架构为上述实施例中优化后的对抗网络架构。
参阅图12,图12是本申请对抗网络架构的优化系统一实施方式的结构示意图,该系统10包括:
构建单元11,用于构建对抗网络架构。
对抗优化训练单元12,用于藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构。
需要说明的是,本实施方式的系统可以执行上述方法中的步骤,相关内容的详细说明请参见上述方法部分,在此不再赘叙。
区别于现有技术的情况,本申请区别于现有技术的情况,本申请构建对抗网络架构后,藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构。该对抗优化训练可以使对抗网络架构得到强化学习,从而实现利用对抗网络架构所生成的图像描述得到综合优化,进而达到改善图像描述信息的生成质量,克服了相关技术所提供的图像描述信息生成方法存在生成质量较差的技术问题。
参阅图13,图13是本申请图像描述信息生成系统一实施方式的结构示意图,生成系统20包括:获取单元21,用于获取待描述图像;输入单元22,用于将上述目标图像输入目标图像描述信息生成网络,其中,将待描述图像输入优化后的对抗网络架构中,得到待描述图像的最优图像描述,上述优化后的对抗网络架构为如前述的方法优化后的对抗网络架构。
参阅图14,图14是本申请电子设备一实施方式的结构示意图,可选地,本领域普通技术人员可以理解,图14所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图14中所示更多或者更少的组件(如网络接口等),或者具有与图14所示不同的配置。
该电子设备30包括:存储器31和处理器32。存储器31存储有计算机可读指令。处理器32连接存储器31,处理器32读取存储器存储的计算机可读指令,以执行为上述实施例中的对抗网络架构的优化方法。
存储器配置为存储由处理器可执行的指令和应用,还可以缓存待处理器以及信息处理设备中各模块待处理或已经处理的数据,可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
需要说明的是,本实施方式的电子设备可以执行上述方法中的步骤,相关内容的详细说明请参见上述方法部分,在此不再赘叙。
参阅图15,图15是本申请具有存储功能的装置一实施方式的结构示意图,该具有存储功能的装置90存储有程序数据901,程序数据901能够被执行以实现上述对抗网络架构的优化方法中的步骤,其中,详细的对抗网络架构的优化方法可参见上述实施例,在此不再赘述。
其中,具有存储功能的装置90可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡或服务器等。
区别于现有技术的情况,本申请区别于现有技术的情况,本申请构建对抗网络架构后,藉由训练图像以对对抗网络架构进行对抗优化训练以得到优化后的对抗网络架构。该对抗优化训练可以使对抗网络架构得到强化学习,从而实现利用对抗网络架构所生成的图像描述得到综合优化,进而达到改善图像描述信息的生成质量,克服了相关技术所提供的图像描述信息生成方法存在生成质量较差的技术问题。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的对抗网络架构的优化方法,并作为独立的产品销售或使用时,也可以存储在一个具有存储功能的装置中。
基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。