图像描述模型的训练方法、装置及存储介质与流程

文档序号:18476082发布日期:2019-08-20 21:05阅读:281来源:国知局
图像描述模型的训练方法、装置及存储介质与流程

本申请涉及人工智能技术领域,特别涉及一种图像描述模型的训练方法、装置及存储介质。



背景技术:

图像描述(imagecaption),是指根据图像自动生成一段描述性文字,即看图说话。为了生成图像对应的描述性文字,首先需要检测出图像中的物体,理解物体之间的相互关系,然后再用合理的语言表达出来。

图像描述技术,可以用于图像检索服务,帮助视觉障碍者理解图像,也可以用于图像场景分类,以及用户相册中的图像自动总结归类。图像描述技术还可以用于婴幼儿的教学,帮助婴幼儿学习说话和辨认图像中的物体和行为。

在一些技术中,可以采用人工标注的图像-句子对来训练图像描述模型。另外,也可以使用半监督学习的技术,在模型的训练过程中使用没有对应关系的图像和句子。没有对应关系的句子数据可以用来训练一个语言模型,一个单独的图像集也可以用来训练一个物体识别模型。也可以使用域适应的方法,把一个数据域上成对的图像和句子数据,迁移到另外一个数据域上。在目标域上,只使用没有对应关系的图像和句子。

目前,半监督以及域适应的方法,都是在监督学习的方法上,增加没有对应关系的图像和句子,来达到提升结果的目的。这些方法仍然需要成对的图像和句子数据来参与模型的训练。给图像标注对应的句子描述是一个非常费时费力的过程。

技术内容

本申请一些实施例提供了一种图像描述模型的训练方法、装置及储存介质,以避免对成对的图像样本和语句样本的依赖,提高图像描述的准确性。

本申请实施例提供了一种图像描述模型的训练方法,所述图像描述模型包括卷积编码神经网络和递归解码神经网络;所述方法包括:

通过所述卷积编码神经网络,获取图像样本的图像特征向量;

通过所述递归解码神经网络,对所述图像特征向量进行解码,得到用于描述所述图像样本的语句;

确定所述解码得到的语句与所述图像样本之间的匹配度,根据所述匹配度对所述递归解码神经网络进行调整;

确定所述解码得到的语句的通顺度,根据所述通顺度对所述递归解码神经网络进行调整。

本申请实施例提供了一种图像描述模型的训练装置,所述图像描述模型包括卷积编码神经网络和递归解码神经网络;所述装置包括:

编码模块,用于通过所述卷积编码神经网络,获取图像样本的图像特征向量;

解码模块,通过所述递归解码神经网络,对所述图像特征向量进行解码,得到用于描述所述图像样本的语句;

调整模块,用于确定所述解码得到的语句与所述图像样本之间的匹配度,根据所述匹配度对所述递归解码神经网络进行调整;以及确定所述解码得到的语句的通顺度,根据所述通顺度对所述递归解码神经网络进行调整。

本申请实施例还提供了一种非易失性计算机可读存储介质,其中所述存储介质中存储有机器可读指令,所述机器可读指令可以由处理器执行以完成上述方法。

在本申请实施例提供的技术方案中,根据递归解码神经网络解码得到的语句的通顺度、以及所述解码得到的语句与图像样本之间的匹配度,对所述递归解码神经网络进行训练调整。这样,在图像描述模型的训练过程中,不需要成对的图像样本和语句样本作为训练集合,从而解除对成对的图像样本和语句样本的依赖,扩大了训练集合的范围,提高了图像描述模型的准确性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:

图1为本申请一些实施例中的操作环境示意图;

图2a和2b为本申请实施例中模型训练装置116的结构示意图。

图3为本申请一些实施例提供的图像描述模型的训练方法的流程图;

图4a和4b为本申请一些实施例中的图像描述模型的训练方法的另一流程图;

图5为本申请一些实施例中递归解码神经网络的结构示意图;

图6为本申请一些实施例中递归判别神经网络的结构示意图;

图7为本申请一些实施例中图像描述模型训练装置的结构示意图;及

图8为本申请一些实施例中图像描述模型训练装置的另一结构示意图。

具体实施方式

为使本申请的技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。

为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本申请的方案进行阐述。但本文并未示出所有实施方式。实施例中大量的细节仅用于帮助理解本申请的方案,本申请的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本申请的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。说明书和权利要求书中的“包括”是指某种程度上至少包括,应当解释为除了包括之后提到的特征外,其它特征也可以存在。

目前,由于深度学习在视觉领域的成功应用,研究者也将其引入到图像描述领域中,采用神经机器翻译的方法生成描述句子。

基于深度学习的图像描述模型可以采用“编码-解码”的流程,首先使用卷积神经网络(cnn,convolutionalneuralnetwork)提取图像特征向量,将整幅图像编码为一条维度固定的特征向量;然后使用递归神经网络(rnn,recurrentneuralnetwork)进行解码,按时间顺序逐个生成相关单词。

cnn,是一种直接从图像底层的像素特征开始,逐层对图像进行特征提取的前馈神经网络,是编码器常用的实现模型,负责将图像编码成向量。

rnn,是一种具有固定权值、外部输入和内部状态的神经网络,可以将其看作是以权值和外部输入为参数,关于内部状态的行为动力学。rnn是解码器常用的实现模型,负责将编码器生成的图像向量翻译成图像的文字描述。

在图像描述模型的训练过程中,需要使用成对的图像样本和句子样本作为训练集合。训练集合不仅需要足够大,还需要尽量多样化。但是,给图像标注对应的句子描述是一个非常费时费力的过程。而且,如果训练集合的大小减小,图像描述的准确性也将降低。

为此,本申请实施例提供了一种图像描述模型的训练方法,可以避免对成对的图像样本和语句样本的依赖,扩大训练集合的范围,从而提高图像描述模型的准确性。

本申请实施例提供的图像描述模型训练方法可以由任何具有数据处理能力的计算机设备来执行,例如,终端设备或者服务器等等。当根据本申请实施例提供的方法完成图像描述模型的训练之后,可以将训练好的图像描述模型应用在所述服务器或者终端设备,用于为指定的图像生成对应的描述语句,例如,可以为用户提供图像检索服务、为用户相册中的图像自动分类,等等。

图1为本申请一些实施例中的操作环境100的示意图。如图1所示,本申请实施例的图像描述模型训练方法可以由模型训练装置116来执行。

在本申请一些实施例中,所述模型训练装置116用于对图像描述模型进行训练,得到训练好的图像描述模型,并将所述训练好的图像描述模型提供给服务器112,以便服务器112为终端设备104提供图像描述生成服务,例如为用户提供图像检索服务等等;或者,将训练好的图像描述模型提供给终端设备104,以便终端设备104为用户提供图像描述生成服务,例如为用户相册中的图像自动分类等等。

在一些实施例中,所述模型训练装置116可以在一个或多个独立的数据处理装置或分布式计算机网络上实现,也可以集成在所述服务器112或者终端设备104中。

在一些实施例中,当所述服务器112为终端设备104提供图像描述生成服务时,如图1所示,多个用户通过各自的终端设备(例如终端设备104-a至104-c)上执行的应用108-a至108-c,通过网络106连接至服务器112。服务器112向终端设备104提供图像描述生成服务,例如接收用户提供的图像,根据服务器112中的图像描述生成模型为该图像生成对应的描述语句,并将生成的描述语句返回给终端设备104等等。

在一些实施例中,所述终端设备104是指具有数据计算处理功能的终端设备,包括但不限于(安装有通信模块的)智能手机、掌上电脑、平板电脑、智能电视(smarttv)等。这些通信终端上都安装有操作系统,包括但不限于:android操作系统、symbian操作系统、windowsmobile操作系统、以及苹果iphoneos操作系统等等。

在一些实施例中,网络106可以包括局域网(lan)和广域网(wan)诸如互联网。可以使用任意公知的网络协议来实现网络106,包括各种有线或无线协议。

在一些实施例中,所述服务器112可以在一个或多个独立的数据处理装置或分布式计算机网络上实现。

下面结合图2a和2b对本申请实施例提供的模型训练装置116进行说明。

图2a和2b为本申请一些实施例中模型训练装置116的结构示意图。如图2a所示,所述模型训练装置116包括:卷积编码神经网络201和递归解码神经网络202。

其中,卷积编码神经网络201用于为输入的图像样本211提取图像特征向量214。

在一些实施例中,可以使用cnn作为卷积编码神经网络201,来提取图像样本211的图像特征向量214。例如,可以使用inception-x系列网络、resnet系列网络等。

在一些实施例中,所述卷积编码神经网络201可以是预先训练好的编码网络。

递归解码神经网络202用于将所述图像特征向量214解码成一个用于描述所述图像样本的语句213。在一些实施例中,所述递归解码神经网络202可以通过长短时记忆网络(lstm,longshorttermmemorynetwork)实现,或者利用递归门单元(gru,gaterecurrentunit)等其他方式实现。

lstm,是一种时间递归神经网络,用于处理和预测时间序列中间隔或者延迟相对较长时间的重要事件,属于一种特殊的rnn。

由于本申请实施例中使用的图像样本没有对应的语句样本,所以在对递归解码神经网络202进行训练时,通过以下方式实现对递归解码神经网络202的训练:

根据递归解码神经网络202解码得到的语句213与所述图像样本211之间的匹配度,对所述递归解码神经网络202进行训练调整;以及

根据所述解码得到的语句213的通顺度,对所述递归解码神经网络202进行训练调整。

参见图2b,在一些实施例中,为了实现对递归解码神经网络202的训练,所述模型训练装置116还进一步包括:递归判别神经网络203和调整模块204。

其中,递归判别神经网络203用于当递归解码神经网络202输出一个语句之后,判别该语句的通顺度,并将判别结果提供给调整模块204,由调整模块204根据递归判别神经网络203的判别结果,对所述递归解码神经网络202进行调整。

调整模块204用于对递归解码神经网络202进行调整,包括根据解码得到的语句213与所述图像样本211之间的匹配度,对所述递归解码神经网络202进行调整,以及根据所述解码得到的语句213的通顺度,对所述递归解码神经网络202进行调整。此外,调整模块204也对递归判别神经网络203进行训练调整,使得递归判别神经网络203能够更准确的识别出输入的语句的通顺度。

在一些实施例中,调整模块204可以包括:判别奖励单元2041、物体奖励单元2042、以及判别损失单元2043。其中,判别奖励单元2041和物体奖励单元2042用于对递归解码神经网络202进行调整,而判别损失单元2043用于对递归判别神经网络203进行调整。

判别奖励单元2041,用于根据递归判别神经网络203确定的所述解码得到的语句的通顺度,对所述递归解码神经网络202进行调整。

在一些实施例中,所述通顺度可以是对递归解码神经网络解码得到的语句的打分。

物体奖励单元2042,用于根据递归解码神经网络202解码得到的语句中各个单词与图像样本211之间的匹配度,对递归解码神经网络202进行调整。

在一些实施例中,针对图像样本211,可以预先根据物体检测模型检测出该图像包含的物体,以及每个物体对应的打分。然后物体奖励单元2042将解码得到的语句中包含的单词与物体检测模型检测出的物体进行比较,从而得到解码得到的单词与图像样本211之间的匹配度,然后根据该关联度对递归解码神经网络202进行调整优化。

判别损失单元2043,用于根据递归判别神经网络203对语句样本212和递归解码神经网络202解码得到的语句213的判别结果,确定判别损失,并根据所述判别损失对递归判别神经网络203进行调整。

在本申请一些实施例中,为了使得递归判别神经网络203能够尽量准确的进行判别操作,还需要利用人工编写的语句样本212来训练递归判别神经网络203,使得当一个人工编写的非常通顺的语句样本212输入到递归判别神经网络时,递归判别神经网络203输出1,当输入一个递归解码神经网络202生成的语句时,递归判别神经网络输出0至1之间的任意数值。递归判别神经网络输出的数值越高,表示语句的通顺度越高,即语句越通顺。

在一些实施例中,可以轮流将语句样本212和递归解码神经网络202解码得到的语句213输入到递归判别神经网络203,根据递归判别神经网络203对语句样本212和语句213的打分,得到判别损失,并根据得到的判别损失来调整所述递归判别神经网络。

在一些实施例中,除了上述的判别奖励单元2041、物体奖励单元2042和判别损失单元2043之外,为了进一步提高所述图像描述模型的准确度,所述调整模块204还可以进一步包括:图像重构奖励单元2044、语句重构损失单元2045、及图像重构损失单元2046。

所述图像重构奖励单元2044,用于根据解码得到的语句重构图像,并确定重构的图像与图像样本211之间的相似度,根据所述相似度对所述递归解码神经网络202进行优化调整。

例如,可以通过递归判别神经网络203,得到与所述解码得到的语句对应的语句特征向量,将所述语句特征向量映射到图像特征的空间,得到对应的图像特征向量,并与卷积编码神经网络201得到的图像特征向量214进行比较,得到所述相似度。

在一些实施例中,图像重构奖励单元2044可以通过全连接层将所述语句特征向量映射到图像特征的空间,从而得到重构之后的图像特征向量。

所述语句重构损失单元2045,用于获取语句样本212对应的语句特征向量,通过全连接层将所述语句样本212对应的语句特征向量映射到图像特征的空间,从而得到对应的图像特征向量,将所述图像特征向量输入到递归解码神经网络202,从而重构出一个语句,将所述重构得到的语句与语句样本212进行比较,根据比较的结果对所述递归解码神经网络202进行优化调整。

所述图像重构损失单元2046,用于根据解码得到的语句重构图像,确定所述重构的图像与所述图像样本之间的差异度,并根据所述差异度,对所述递归判别神经网络进行优化调整。

在一些实施例中,所述图像重构损失单元2046可以通过所述递归判别神经网络203,得到与所述解码得到的语句对应的语句特征向量;将所述语句特征向量映射到图像特征空间,得到对应的图像特征向量,将所述通过映射得到的图像特征向量与卷积编码神经网络201得到的图像特征向量214进行比较得到所述重构的图像与所述图像样本之间的差异度,即图像重构损失,根据所述图像重构损失对所述递归判别神经网络203进行优化调整。

通过以上各个单元,调整模块204可以对递归解码神经网络202和递归判别神经网络203进行优化调整,从而提高递归解码神经网络202和递归判别神经网络203的准确度。

下面结合图3对本申请实施例提供的图像描述模型的训练方法进行说明。图3为本申请实施例提供的一种图像描述模型的训练方法的流程图。所述图像描述模型包括卷积编码神经网络和递归解码神经网络。如图3所示,所述方法包括以下步骤:

s301,通过所述卷积编码神经网络,获取图像样本的图像特征向量。

在一些实施例中,可以采用预先训练好的卷积编码神经网络来获取图像样本对应的图像特征向量。另外,在获取所述图像样本的图像特征向量之后,可以进一步将所述图像特征向量进行降维处理,得到降维后的图像特征向量。

s302,通过所述递归解码神经网络,对所述图像特征向量进行解码,得到用于描述所述图像样本的语句。

在一些实施例中,可以将所述降维后的图像特征向量输入到所述递归解码神经网络,所述递归解码神经网络对所述降维后的图像特征向量进行解码,得到所述用于描述所述图像样本的语句。

在一些实施例中,所述语句中包含多个单词;所述通过递归解码神经网络,对所述图像特征向量进行解码,得到用于描述所述图像样本的语句包括:

将所述图像特征向量输入到所述递归解码神经网络,得到输出的n个概率分布,其中,n表示所述解码得到的语句的长度;

对于每个概率分布,分别在单词表中选择所述概率分布中最大概率值对应的单词,组成用于描述所述图像样本的语句。

s303,确定所述解码得到的语句与所述图像样本之间的匹配度,根据所述匹配度对所述递归解码神经网络进行调整。

在一些实施例中,可以根据物体检测模型对所述图像样本的检测结果,确定所述图像样本中包含的各物体以及所述各物体对应的权重;

将解码得到的语句中包含的各个单词,与所述图像样本中包含的所述各物体进行匹配操作,并根据所述匹配结果以及所述各物体对应的权重,确定所述解码得到的语句与所述图像样本之间的匹配度,然后根据所述匹配度对所述递归解码神经网络进行调整。

s304,确定所述解码得到的语句的通顺度,根据所述通顺度对所述递归解码神经网络进行调整。

在一些实施例中,可以通过各种方法来确定所述解码得到的语句的通顺度。例如,可以将所述解码得到的语句输入递归判别神经网络,根据所述递归判别神经网络各个时刻的第一输出,确定所述解码得到的语句的通顺度。

例如,递归解码神经网络解码出来的语句越通顺,则递归判别神经网络越会认为该语句是人工编写的通顺语句,即通顺度越高。

在一些实施例中,为了提高递归判别神经网络的判别准确度,需要根据语句样本对所述递归判别神经网络进行训练。

例如,可以将语句样本输入到所述递归判别神经网络,获取所述递归判别神经网络各个时刻的第二输出;

根据所述递归判别神经网络各个时刻的第一输出和所述第二输出,对所述递归判别神经网络进行调整。

在本申请实施例提供的技术方案中,根据递归解码神经网络解码得到的语句的通顺度、以及所述解码得到的语句与图像样本之间的匹配度,对所述递归解码神经网络进行训练调整。这样,在图像描述模型的训练过程中,不需要成对的图像样本和语句样本作为训练集合,从而解除对成对的图像样本和语句样本的依赖,扩大了训练集合的范围,提高了图像描述模型的准确性。

图4为本申请实施例中另一图像描述模型的训练方法的流程图。下面结合图4对本申请实施例提供的图像描述模型的训练方法进行说明。如图4所示,所述方法包括以下步骤:

s401,通过卷积编码神经网络,获取图像样本的图像特征向量。

在本申请一些实施例中,可以通过图2所示的卷积编码神经网络201来获取图像样本的图像特征向量。

下面,以所述卷积编码神经网络为inception-v4卷积神经网络为例进行说明。

在一些实施例中,可以取inception-v4卷积神经网络的池化层(averagepooling层)输出的向量作为所述图像特征向量。卷积编码神经网络的操作可以由以下公式(1)表示:

fim=cnn(i)(1)

其中,i代表输入所述卷积编码神经网络的图像样本,cnn代表所述卷积编码神经网络,fim是得到的图像特征向量,fim的维数可以是1536。

s402,对所述图像样本的图像特征向量进行降维处理,得到降维后的图像特征向量。

在一些实施例中,在得到图像样本对应的图像特征向量fim之后,考虑到后续操作的计算量,可以对所述图像特征向量fim进行降维处理。

例如,在卷积编码神经网络之后,可以通过一个全连接层实现所述降维处理,如下公式(2)表示:

x-1=fc(fim)(2)

其中,x-1表示降维之后的图像特征向量,fc()表示通过全连接层进行的降维操作。

s403,将降维后的图像特征向量输入递归解码神经网络,所述递归解码神经网络对所述降维后的图像特征向量进行解码,得到用于描述所述图像样本的语句。

图5是本申请一些实施例中递归解码神经网络的结构示意图。在图5所示的实施例中,以所述递归解码神经网络使用lstm单元实现为例。参见图4和图5,所述步骤s403包括:

s4031,将所述图像特征向量输入到所述递归解码神经网络,得到输出的n个概率分布,其中,n表示所述解码得到的语句的长度。

例如,如图5所示,在t时刻,将xt和输入到所述lstm单元,得到所述lstm单元的输出pt+1和

在一些实施例中,所述lstm单元的上述操作可以如下公式(3)表示:

其中,xt代表第t个单词对应的词向量,分别表示t时刻和t+1时刻的lstm单元的隐含状态;pt+1代表概率分布,即单词表中各个单词对应的概率;n代表语句的长度。

另外,由于本申请实施例中在训练递归解码神经网络的时候,并不知道图像样本对应的语句,所以递归解码神经网络各个时刻的输入需要根据之前时刻输出的单词得到,其中,

当t=-1时,xt=x-1,即xt为所述降维之后的图像特征向量;

当t∈(0,...,n-1}时,xt为根据t时刻lstm单元输出的单词st对应的词向量,如公式(4)所示:

xt=west,t∈{0,...,n-1}(4)

其中,we代表词向量(wordembedding)处理。

所述词向量(wordembedding),是一个用于将来自单词表的单词或短语映射到实数的向量。

s4032,对于每个概率分布,分别在单词表中选择所述概率分布中最大概率值对应的单词,组成用于描述所述图像样本的语句。

例如,根据步骤s4031中lstm单元输出的所述概率分布pt+1,在单词表中选择概率分布pt+1中最大概率值对应的单词作为t+1时刻的输出。

通过上述的操作,递归解码神经网络可以得到长度为n的语句:s1s2...sn。

s404,确定所述解码得到的语句与所述图像样本之间的匹配度。

在一些实施例中,所述语句中包含多个单词;每次递归解码神经网络解码出一个单词,可以判断该单词与图像样本之间的匹配度,即判断图像样本中是否含有该单词对应的物体。

在一些实施例中,步骤s404可以包括以下操作:

s4041,根据物体检测模型对所述图像样本的检测结果,确定所述图像样本中包含的各物体以及所述各物体对应的权重。

在一些实施例中,可以预先利用物体检测模型对图像样本进行检测,得到图像中包含的物体以及这个物体对应的打分(权重)。

s4042,对解码得到的语句中的各个单词,与所述图像样本中包含的所述各物体进行匹配操作,并根据所述匹配结果以及所述各物体对应的权重,确定所述匹配度。

在一些实施例中,可以根据以下公式(5)来进行匹配操作并确定递归解码神经网络得到的单词与图像样本之间的关联度:

其中,st表示递归解码神经网络解码得到的单词,ci表示物体检测模型从图像样本中检测出的一个物体,vi是这个物体对应的权重,nc代表物体检测模型从图像样本中检测出的物体的数量;代表单词st与图像样本之间的匹配度;i()代表指示函数。

在得到关联度之后,可以将该关联度作为物体识别奖励,反馈给递归解码神经网络,从而实现对递归解码神经网络的优化。

s405,根据所述匹配度对所述递归解码神经网络进行调整。

在一些实施例中,可以将所述匹配度反馈到所述递归解码神经网络,从而对所述递归解码神经网络中的权重参数和词向量we进行修正。

这样,通过不断的训练,可以不断地对递归解码神经网络中的权重参数和词向量we做出修正,从而提高所述递归解码神经网络的精度。

对于采用lstm单元实现的递归解码神经网络,lstm单元具有三个门:遗忘门(forgetgate),输入门(inputgate)和输出门(outputgate)。其中遗忘门决定了上一时刻的单元状态有多少保留到当前时刻。输入门决定了当前时刻网络的输入有多少保存到当前时刻。输出门决定了当前单元状态有多少输出到lstm的当前输出值。

门实际上就是一层全连接层,输入是一个向量,输出是一个0到1之间的实数向量。当门输出为0时,任何向量与之相乘都会得到0向量,这就相当于什么都不能通过;输出为1时,任何向量与之相乘都不会有任何改变,这就相当于什么都可以通过。

因此,可以将步骤s404计算得到的匹配度,反馈给递归解码神经网络,用于调整各个门的权重矩阵,从而对所述递归解码神经网络进行修正调整。

另外,在每一次的训练过程中,词向量we也根据所述匹配度进行参数更新而发生变化。

s406,将所述解码得到的语句输入递归判别神经网络,根据所述递归判别神经网络各个时刻的第一输出,确定所述解码得到的语句的通顺度,根据所述通顺度对所述递归解码神经网络进行调整。

在一些实施例中,可以将所述解码得到的语句输入递归判别神经网络,根据所述递归判别神经网络各个时刻的输出,确定所述解码得到的语句的通顺度。

例如,将所述解码得到的语句输入所述递归判别神经网络,根据所述递归判别神经网络各个时刻的输出,来确定所述解码得到的语句的通顺度。

图6为本申请实施例提供的递归判别神经网络的示意图。在图6所示的实施例中,仍以使用lstm单元实现所述递归判别神经网络为例进行说明。需要注意的是,所述递归判别神经网络也可以采用其他方式实现,例如采用gru单元来实现。

参见图6,所述递归判别神经网络中lstm单元的操作可以如以下公式(6)所示:

其中,lstm单元在t时刻的输入包括:xt和输出包括:qt和这里,xt表示第t个单词对应的词向量,代表lstm单元在t-1时刻的隐含状态;qt代表t时刻对语句的通顺度的打分,代表lstm单元在t时刻的隐含状态。

在一些实施例中,qt可以是0至1之间的数值。当输入一个人工编写的通顺的语句时,递归判别神经网络输出1,当输入一个递归解码神经网络生成的句子的时候,递归判别神经网络输出0至1之间的数值。递归解码神经网络的目标是欺骗递归判别神经网络,尽量生成能够让递归判别神经网络产生1的句子,从而能够生成看起来通顺的语句。

在一些实施例中,可以根据如下公式(7)来确定所述解码得到的语句的通顺度。

其中,其中,radu代表所述通顺度,qt代表所述递归判别神经网络在t时刻输出的数值,n代表所述解码得到的语句的长度。

在一些实施例中,在得到所述通顺度之后,可以将所述通顺度反馈到所述递归解码神经网络,从而对递归解码神经网络的参数以及词向量we进行调整,从而提高所述递归解码神经网络的精度。

这里,与步骤s405类似,所述通顺度可以用于调整所述递归解码神经网络中各个门的权重矩阵,以及所述词向量we,从而对所述递归解码神经网络进行修正调整。

s407,将语句样本输入到所述递归判别神经网络,获取所述递归判别神经网络各个时刻的第二输出;根据所述递归判别神经网络各个时刻的第一输出和所述第二输出,对所述递归判别神经网络进行调整。

在一些实施例中,步骤s407可以包括以下操作:

s4071,根据所述递归判别神经网络各个时刻的第一输出和所述第二输出,确定判别损失。

例如,所述判别损失可以根据以下公式(8)计算:

其中,ladu表示所述判别损失;qt代表所述递归判别神经网络在t时刻的第一输出,代表所述递归判别神经网络在t时刻的第二输出;l表示所述语句样本的长度;n代表所述解码得到的语句的长度。

s4072,根据所述判别损失对所述递归判别神经网络进行调整。

这里,所述判别损失用于对递归判别神经网络的参数进行调整。

例如,对于采用lstm单元实现所述递归判别神经网络的情况,可以将所述判别损失反馈到所述递归判别神经网络,从而调整所述递归判别神经网络中lstm单元的各个门的权重矩阵,从而对所述递归判别神经网络进行调整修正。

通过步骤s404至s407,一方面针对解码得到的语句的通顺度、以及与图像样本的匹配度,对递归解码神经网络的参数进行了修正。另一方面,用于监督递归解码神经网络的学习的递归判别神经网络也得到了修正调整。

为了进一步提高递归解码神经网络以及递归判别神经网络的精度,在一些实施例中,所述方法还可以进一步包括以下步骤s408至s410中的任意一个或多个:

s408,根据解码得到的语句重构图像,确定所述重构图像与所述图像样本之间的相似度,根据所述相似度对所述递归解码神经网络进行优化。

在一些实施例中,所述步骤s408包括以下操作:

s4081,通过所述递归判别神经网络,得到与所述解码得到的语句对应的语句特征向量。

s4082,将所述语句特征向量映射到图像特征空间,得到对应的图像特征向量;

在一些实施例中,可以在所述递归判别神经网络的最后增加一个全连接层,这个全连接层可以把语句特征向量映射到图像特征的空间,从而得到重构图像对应的图像特征向量。

s4083,将所述通过映射得到图像特征向量,与所述图像样本的图像特征向量进行比较,确定所述重构的图像与所述图像样本之间的相似度。

在一些实施例中,可以根据下面的公式(9)来计算所述重构图像与所述图像样本之间的相似度:

其中,rim代表所述重构图像与图像样本之间的相似度;x-1代表所述图像样本的全局特征表示;x′代表所述重构图像的全局特征表示;代表取范数操作。

s4084,根据所述相似度对所述递归解码神经网络进行修正调整。

这里,对所述递归解码神经网络进行的修正调整,与步骤s405类似。可以将计算得到的相似度rim反馈到所述递归解码神经网络,从而对递归解码神经网络中各个门的权重矩阵以及词向量进行调整,以便提高所述递归解码神经网络的精度。

s409,根据所述解码得到的语句重构图像,确定所述重构图像与所述图像样本之间的差异度,根据所述差异度对所述递归判别神经网络进行修正调整。

在一些实施例中,所述重构图像与图像样本之间的差异度可以根据以下公式(10)确定:

其中,lim代表所述重构图像与图像样本之间的差异度;x-1代表所述图像样本的全局特征表示;x′代表所述重构图像的全局特征表示;氏表取范数操作。

这里,在计算得到所述差异度之后,可以将所述差异度反馈到所述递归判别神经网络,从而对递归判别神经网络中各个门的权重矩阵进行调整,从而提高所述递归判别神经网络的精度。

s410,通过所述递归解码神经网络,获取与所述语句样本对应的重构语句,将所述语句样本与所述重构语句进行比较,根据比较结果对所述递归解码神经网络进行修正调整。

在一些实施例中,所述步骤s410包括以下操作:

s4101,获取语句样本对应的语句特征向量,将所述语句特征向量映射到图像特征的空间,得到对应的图像特征向量。

s4102,通过所述递归判别神经网络,得到与所述映射得到的图像特征向量对应的重构语句。

s4103,将所述语句样本与所述重构语句进行比较,根据比较结果对所述递归解码神经网络进行修正调整。

在一些实施例中,可以通过下面的公式(11)来实现对所述语句样本和所述重构语句的比较:

其中,lsen代表语句重构损失,st代表解码得到的语句中的第t个单词,代表语句样本中的第t个单词,代表条件概率。

在得到重构损失lsen之后,可以将该重构损失反馈给递归解码神经网络,从而调整递归解码神经网络中各个门的权重矩阵以及词向量。

在本步骤中,重构语句的操作与降噪自动编码器类似。为了使得得到的图像描述模型更加鲁棒,可以给输入的语句增加两种噪音,其中包括随机的去掉一些单词,随机的打乱部分单词的顺序,降噪自动编码器的损失可以如上公式(11)所示。

通过本申请实施例提供的技术方案,根据递归解码神经网络解码得到的语句的通顺度、以及所述解码得到的语句与图像样本之间的匹配度,对所述递归解码神经网络进行训练调整。这样,在图像描述模型的训练过程中,不需要成对的图像样本和语句样本作为训练集合,从而解除对成对的图像样本和语句样本的依赖,扩大了训练集合的范围,提高了图像描述模型的准确性。

进一步的,又通过图像重构与语句重构操作,对所述递归解码神经网络和所述递归判别神经网络做了进一步的修正调整,从而进一步提高了图像描述模型的准确性。

在完成对图像描述模型的训练之后,用训练好的图像描述模型,使用束搜索(beamsearch)方法得到对输入图像的语句描述。

束搜索是一种启发式图搜索算法,通常用在图的解空间比较大的情况下,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点。

以上对本申请实施例提供的图像描述模型训练方法进行了说明。

下面结合附图对本申请实施例提供的图像描述模型训练装置进行说明。

图7为本申请一些实施例提供的图像描述模型训练装置的一种结构示意图。如图7所示,该装置700包括:

编码模块701,用于通过所述卷积编码神经网络,获取图像样本的图像特征向量;

解码模块702,通过所述递归解码神经网络,对所述图像特征向量进行解码,得到用于描述所述图像样本的语句;

调整模块703,用于确定所述解码得到的语句与所述图像样本之间的匹配度,根据所述匹配度对所述递归解码神经网络进行调整;以及确定所述解码得到的语句的通顺度,根据所述通顺度对所述递归解码神经网络进行调整。

在一些实施例中,所述装置700进一步包括:

降维模块704,用于在所述编码模块701获取所述图像样本的图像特征向量之后,将所述图像特征向量进行降维处理,得到降维后的图像特征向量;

所述解码模块702进一步用于,将所述降维后的图像特征向量输入到所述递归解码神经网络,所述递归解码神经网络对所述降维后的图像特征向量进行解码,得到所述用于描述所述图像样本的语句。

在一些实施例中,所述语句中包含多个单词;所述解码模块702进一步用于:

将所述图像特征向量输入到所述递归解码神经网络,得到输出的n个概率分布,其中,n表示所述解码得到的语句的长度;

对于每个概率分布,分别在单词表中选择所述概率分布中最大概率值对应的单词,组成用于描述所述图像样本的语句。

在一些实施例中,所述调整模块703进一步包括:物体奖励单元7031,用于:

根据物体检测模型对所述图像样本的检测结果,确定所述图像样本中包含的各物体以及所述各物体对应的权重;

将解码得到的语句中包含的各个单词,与所述图像样本中包含的所述各物体进行匹配操作,并根据所述匹配结果以及所述各物体对应的权重,确定所述解码得到的语句与所述图像样本之间的匹配度,根据所述匹配度对所述递归解码神经网络进行调整。

在一些实施例中,所述调整模块703进一步包括:判别奖励单元7032,用于:

将所述解码得到的语句输入递归判别神经网络,根据所述递归判别神经网络各个时刻的第一输出,确定所述解码得到的语句的通顺度,根据所述通顺度对所述递归解码神经网络进行调整。

在一些实施例中,所述判别奖励单元7032进一步用于:

根据以下公式确定所述通顺度:

其中,radu代表所述通顺度,qt代表所述递归判别神经网络在t时刻的输出,n代表所述解码得到的语句的长度。

在一些实施例中,所述调整模块703进一步包括:判别损失单元7033,用于:

将语句样本输入到所述递归判别神经网络,获取所述递归判别神经网络各个时刻的第二输出;

根据所述递归判别神经网络各个时刻的第一输出和所述第二输出,对所述递归判别神经网络进行调整。

在一些实施例中,所述判别损失单元7033进一步用于:

根据所述递归判别神经网络各个时刻的第一输出和所述第二输出,按照以下公式确定判别损失:

根据所述判别损失对所述递归判别神经网络进行调整;

其中,qt代表所述递归判别神经网络在t时刻的第一输出,代表所述递归判别神经网络在t时刻的第二输出;l表示所述语句样本的长度;ladu表示所述判别损失;n代表所述解码得到的语句的长度。

在一些实施例中,所述调整模块703进一步包括,图像重构奖励单元7034,用于:

根据所述解码得到的语句重构图像;

确定所述重构的图像与所述图像样本之间的相似度;

根据所述相似度,对所述递归解码神经网络进行调整。

在一些实施例中,所述图像重构奖励单元7034进一步用于:

获取与所述解码得到的语句对应的语句特征向量;

将所述语句特征向量映射到图像特征空间,得到对应的图像特征向量;

将所述通过映射得到图像特征向量,与所述图像样本的图像特征向量进行比较,确定所述重构的图像与所述图像样本之间的相似度。

在一些实施例中,可以根据上述公式(9)计算得到所述重构图像与所述图像样本之间的相似度rim。然后,可以将计算得到的相似度rim反馈到所述递归解码神经网络,从而对递归解码神经网络中各个门的权重矩阵以及词向量进行调整,以便提高所述递归解码神经网络的精度。

在一些实施例中,所述调整模块703进一步包括:图像重构损失单元7035,用于:

根据所述解码得到的语句重构图像;

确定所述重构的图像与所述图像样本之间的差异度;

根据所述差异度,对所述递归判别神经网络进行调整。

在一些实施例中,所述差异度lim可以利用上述公式(10)计算得到。在计算得到所述差异度lim之后,可以将所述差异度反馈到所述递归判别神经网络,从而对递归判别神经网络中各个门的权重矩阵进行调整,从而提高所述递归判别神经网络的精度。

在一些实施例中,所述调整模块703进一步包括:语句重构损失单元7036,用于:

通过所述递归解码神经网络,获取与所述语句样本对应的重构语句,将所述语句样本与所述重构语句进行比较,根据比较结果对所述递归解码神经网络进行修正调整。

在一些实施例中,所述语句重构损失单元7036可以获取语句样本对应的语句特征向量,将所述语句特征向量映射到图像特征的空间,得到对应的图像特征向量;获取与所述映射得到的图像特征向量对应的重构语句;将所述语句样本与所述重构语句进行比较,根据比较结果对所述递归解码神经网络进行调整。

在一些实施例中,所述语句重构损失单元7036可以根据上述公式(11)得到语句重构损失lsen。在得到重构损失lsen之后,可以将该重构损失反馈给递归解码神经网络,从而调整递归解码神经网络中各个门的权重矩阵以及词向量。

通过本申请实施例提供的技术方案,根据递归解码神经网络解码得到的语句的通顺度、以及所述解码得到的语句与图像样本之间的匹配度,对所述递归解码神经网络进行训练调整。这样,在图像描述模型的训练过程中,不需要成对的图像样本和语句样本作为训练集合,从而解除对成对的图像样本和语句样本的依赖,扩大了训练集合的范围,提高了图像描述模型的准确性。

进一步的,又通过图像重构与语句重构操作,对所述递归解码神经网络和所述递归判别神经网络做了进一步的修正调整,从而进一步提高了图像描述模型的准确性。

在完成对图像描述模型的训练之后,用训练好的图像描述模型,使用束搜索(beamsearch)方法得到对输入图像的语句描述。

图8是本申请一些实施例中图像描述模型训练装置的另一结构示意图。该图像描述模型训练装置800可以是图1示出的模型训练装置116,也可以是集成于模型训练装置116中的一个组件。

如图8所示,图像描述模型训练装置800包括一个或者多个处理器(cpu)802、网络接口804、存储器806、以及用于互联这些组件的通信总线808。

在一些实施例中,所述网络接口804用于实现所述图像描述模型训练装置800与外部设备之间的网络连接。

所述图像描述模型训练装置800还可以进一步包含一个或多个输出设备812(例如一个或多个可视化显示器),和/或包括一个或多个输入设备814(例如键盘,鼠标,或其他输入控件等)。

存储器806可以是高速随机存取存储器,诸如dram、sram、ddrram、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。

存储器806包括:

操作系统816,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;

图像描述模型训练系统818,用于通过所述卷积编码神经网络,获取图像样本的图像特征向量;通过所述递归解码神经网络,对所述图像特征向量进行解码,得到用于描述所述图像样本的语句;确定所述解码得到的语句与所述图像样本之间的匹配度,根据所述匹配度对所述递归解码神经网络进行调整;确定所述解码得到的语句的通顺度,根据所述通顺度对所述递归解码神经网络进行调整。

在一些实施例中,所述图像描述模型训练系统818的具体操作和功能可以参见上面的方法实施例,在此不再赘述。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。

另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如cd-rom等)、磁光存储介质(如mo等)等。

因此本发明还提供了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1