本发明属于计算机视觉技术领域,涉及到模式识别、人工智能等技术,具体地说是一种基于递归记忆网络的无监督图像描述模型的生成方法。
背景技术:
在多模态信息处理任务中,图像描述生成是一项非常重要的任务,它涉及到计算机视觉和自然语言处理技术的交叉领域。其任务为自动分析输入图像的视觉内容,并生成可以描述图像主要内容的句子或者文本。受机器翻译技术的启发,现有的图像描述生成系统通常遵循一种“编码-解码”框架。具体来说,它先使用卷积神经网络(cnn)提取图像的特征向量,然后使用循环神经网络(rnn)将图像的特征向量解码为句子。这类方法通常是基于大量人工标注的“图像-句子”数据,以完全监督的方式进行训练的。然而,人工标注“图像-句子”数据需要耗费大量的人力、物力和时间。受此限制,现有的图像描述数据集规模较小,例如图像描述基准数据集mscoco,仅涵盖了100种对象类别的图像和句子。这一限制使得这种基于有监督方式训练的图像描述系统难以推广到更广泛的场景中。
为了减小图像描述系统对人工标注数据的依赖,有研究者提出了更具挑战性的新任务,即无监督图像描述。无监督图像描述系统只需要单独的图像和文本数据,它可以利用几乎无限量的未标记或弱标记图像,以及随时可用的大型文本语料库。然而,现有的无监督图像描述系统只关注视觉特征与文本特征之间的跨模态对齐,而忽略了对图像视觉语义的理解,影响后续句子生成的准确性和相关性。
技术实现要素:
本发明为了克服现有技术的不足之处,提出一种基于递归记忆网络的无监督图像描述模型的生成方法,以期能实现在完全无监督的情况下获取到可靠的图像描述模型,从而能自动生成高质量、多样、准确的图像描述。
本发明为解决技术问题采用如下技术方案:
本发明一种基于递归记忆网络的无监督图像描述模型的生成方法的特点是按如下步骤进行:
步骤1、视觉概念的提取与单词表的构建:
从图像数据集中获取任意一个图像i,使用目标检测模型faster-rcnn作为视觉概念检测器,检测所述图像i中的视觉概念,得到所述图像i的视觉概念集合
从句子语料库中获取任意一个句子
使用所述视觉概念检测器的分类标签构造视觉概念词典vocv;并将所述句子s与所述视觉概念词典vocv的交集作为所述句子s的视觉概念集合
利用所述句子语料库中的所有单词以及所述视觉概念词典vocv中的所有单词构建单词表,并将所述单词表中所有单词按照出现次数从高到低进行编号,从而构建单词索引表voc;
步骤2、视觉概念特征v的获取:
步骤2.1、用
步骤2.2、将所述当前输入的视觉概念特征集合
步骤3、所述无监督图像描述模型中基于记忆的解码器的处理:
步骤3.1、定义当前时刻为t,并初始化t=0;
在t时刻,根据式(1)获取t-1时刻的单词特征xt-1;
xt-1=wewt-1(1)
式(1)中,we为需要学习的词嵌入矩阵;wt-1为t-1时刻所述无监督图像描述模型的期望输出;当
步骤3.2、利用式(2)将所述视觉概念特征v与t-1时刻的单词特征xt-1拼接为特征矩阵ft-1;
ft-1=[v;xt-1](2)
式(2)中,[;]表示按行拼接操作;
利用式(3)在所述特征矩阵ft-1上实施多头自注意力操作φf,得到第hf个自注意力操作下的融合矩阵
式(3)中,
步骤3.3、利用式(4)将所述t时刻的融合矩阵
式(5)中,fc(·)表示全连接层操作;
步骤3.4、利用式(5)在t时刻的融合向量ft与基于记忆的解码器t-1时刻的记忆状态mt-1上实施多头自注意力操作φm,得到第hm个自注意力操作下的注意力矩阵
式(5)中,
步骤3.5、利用式(6)对所述t时刻的注意力矩阵
步骤3.6、利用式(7)从所述基于记忆的解码器t-1时刻的记忆状态mt-1及所述当前t时刻的记忆矩阵
式(11)中,⊙表示点乘;gi,gf分别表示所述基于记忆的解码器的输入门与遗忘门;并有:
gi=σ(wi·ft ui·tanh(mt-1) bi)(8)
gf=σ(wf·ft uf·tanh(mt-1) bf)(9)
式(8)~(9)中,wi,wf,ui,uf是四个需要学习的权重矩阵,bi,bf是两个需要学习的偏置向量,表示sigmoid激活函数;
步骤3.7、利用式(10)得到t时刻的输出单词
式(10)中,wo为需要学习的权重矩阵;ot表示所述基于记忆的解码器的输出,且ot=mt;
步骤4、所述无监督图像描述模型中基于记忆的重构器的处理:
步骤4.1、利用式(11)在t-1时刻基于记忆的重构器的隐藏状态zt-1与基于记忆的解码器t时刻的记忆状态mt上实施多头自注意力操作φr,得到基于记忆的重构器中第hr个自注意力操作下的注意力向量
式(11)中,
步骤4.2、将t 1赋值给t,返回步骤3顺序执行,直到t=l为止;基于记忆的重构器最后一个时刻的注意力向量作为视觉概念重构特征
步骤5、在句子语料库上对无监督图像描述模型的参数优化:
步骤5.1、令
步骤5.2、利用式(12)计算无监督图像描述模型在句子语料库上的损失值
式(12)中,α为设置的超参数;
步骤5.3、利用随机梯度下降法对无监督图像描述模型在句子语料库上的损失值
步骤6、在图像数据集上对最优模型的参数优化:
步骤6.1、使用cnn网络提取所述图像i的全局特征f;
步骤6.2、获取步骤5中最优模型的参数,并令
步骤6.3、利用式(13)计算最优模型在图像数据集上的损失值
式(13)中,[x] =max(x,0),b和β为设置的超参数;
步骤6.4、利用随机梯度下降法对最优模型在图像数据集上的损失值
与已有技术相比,本发明的有益效果体现在:
1、本发明充分利用了不相关的图像数据集和句子语料库,能在完全无监督的情况下获取到可靠的图像描述模型,并且不同于现有技术中使用大型生成对抗式网络来解决无监督问题,本发明需要训练的参数更少,收敛速度更快,从而在提升了计算效率的同时提高了图像描述的精准度。
2、本发明提出一种基于记忆的解码器和基于记忆的重构器,在每个时刻通过自注意力机制更新记忆,能够隐式地学习输入特征之间的关系,从而增强了模型的语义推理能力。
3、本发明提出一种无监督联合训练方法,分别为在句子语料库上进行有监督学习,并在图像数据集上进行无监督学习,综合考虑了文本与图像中视觉实体的相关性以及文本与图像全局特征的相关性两方面,从而提高了图像描述的准确性。
附图说明
图1为本发明无监督图像描述模型的示意图。
具体实施方式
本实施例中,如图1所示,一种基于递归记忆网络的无监督图像描述模型的生成方法包括:首先获取输入图像或句子中的视觉概念;再使用编码器将获取的视觉概念编码为视觉概念特征;接着由基于记忆的解码器从视觉概念特征中解码出句子;最后,基于记忆的解码器的输出作为基于记忆的重构器的输入,得到视觉概念重构特征,用于表征生成句子的语义信息;具体地说,是按如下步骤进行:
步骤1、视觉概念的提取与单词表的构建:
从图像数据集中获取任意一个图像i,使用在公开图像数据集openimage-v4上训练的目标检测模型faster-rcnn作为视觉概念检测器,检测图像i中的视觉概念,得到图像i的视觉概念集合
从句子语料库中获取任意一个句子
使用视觉概念检测器的分类标签构造视觉概念词典vocv;并将句子s与视觉概念词典vocv的交集作为句子s的视觉概念集合
利用句子语料库中的所有单词以及视觉概念词典vocv中的所有单词构建单词表,并将单词表中所有单词按照出现次数从高到低进行编号,从而构建单词索引表voc;
步骤2、视觉概念特征v的获取:
步骤2.1、用
步骤2.2、将当前输入的视觉概念特征集合
步骤3、无监督图像描述模型中基于记忆的解码器的处理:
步骤3.1、定义当前时刻为t,并初始化t=0;
在t时刻,根据式(1)获取t-1时刻的单词特征xt-1;
xt-1=wewt-1(1)
式(1)中,we为需要学习的词嵌入矩阵;wt-1为t-1时刻无监督图像描述模型的期望输出;当
步骤3.2、利用式(2)将视觉概念特征v与t-1时刻的单词特征xt-1拼接为特征矩阵ft-1;
ft-1=[v;xt-1](2)
式(2)中,[;]表示按行拼接操作;
利用式(3)在特征矩阵ft-1上实施多头自注意力操作φf,得到第hf个自注意力操作下的融合矩阵
式(3)中,
步骤3.3、利用式(4)将t时刻的融合矩阵
式(5)中,fc(·)表示全连接层操作;
步骤3.4、利用式(5)在t时刻的融合向量ft与基于记忆的解码器t-1时刻的记忆状态mt-1上实施多头自注意力操作φm,得到第hm个自注意力操作下的注意力矩阵
式(5)中,
步骤3.5、利用式(6)对t时刻的注意力矩阵
步骤3.6、利用式(7)从基于记忆的解码器t-1时刻的记忆状态mt-1及当前t时刻的记忆矩阵
式(11)中,⊙表示点乘;gi,gf分别表示基于记忆的解码器的输入门与遗忘门;并有:
gi=σ(wi·ft ui·tanh(mt-1) bi)(8)
gf=σ(wf·ft uf·tanh(mt-1) bf)(9)
式(8)~(9)中,wi,wf,ui,uf是四个需要学习的权重矩阵,bi,bf是两个需要学习的偏置向量,表示sigmoid激活函数;
步骤3.7、利用式(10)得到t时刻的输出单词
式(10)中,wo为需要学习的权重矩阵;ot表示基于记忆的解码器的输出,且ot=mt;
步骤4、无监督图像描述模型中基于记忆的重构器的处理:
步骤4.1、利用式(11)在t-1时刻基于记忆的重构器的隐藏状态zt-1与基于记忆的解码器t时刻的记忆状态mt上实施多头自注意力操作φr,得到基于记忆的重构器中第hr个自注意力操作下的注意力向量
式(11)中,
步骤4.2、将t 1赋值给t,返回步骤3顺序执行,直到t=l为止;基于记忆的重构器最后一个时刻的注意力向量作为视觉概念重构特征
步骤5、在句子语料库上对无监督图像描述模型的参数优化:
步骤5.1、令
步骤5.2、利用式(12)计算无监督图像描述模型在句子语料库上的损失值
式(12)中,α为设置的超参数;本实施例中,α=1;
步骤5.3、利用随机梯度下降法对无监督图像描述模型在句子语料库上的损失值
步骤6、在图像数据集上对最优模型的参数优化:
步骤6.1、使用cnn网络提取图像i的全局特征f;本实施例中,采用inception-v4网络提取图像的全局特征;
步骤6.2、获取步骤5中最优模型的参数,并令
步骤6.3、利用式(13)计算最优模型在图像数据集上的损失值
式(13)中,[x] =max(x,0),b和β为设置的超参数;本实施例中,β=1,b=0.2;
步骤6.4、利用随机梯度下降法对最优模型在图像数据集上的损失值
1.一种基于递归记忆网络的无监督图像描述模型的生成方法,其特征是按如下步骤进行:
步骤1、视觉概念的提取与单词表的构建:
从图像数据集中获取任意一个图像i,使用目标检测模型faster-rcnn作为视觉概念检测器,检测所述图像i中的视觉概念,得到所述图像i的视觉概念集合
从句子语料库中获取任意一个句子
使用所述视觉概念检测器的分类标签构造视觉概念词典vocv;并将所述句子s与所述视觉概念词典vocv的交集作为所述句子s的视觉概念集合
利用所述句子语料库中的所有单词以及所述视觉概念词典vocv中的所有单词构建单词表,并将所述单词表中所有单词按照出现次数从高到低进行编号,从而构建单词索引表voc;
步骤2、视觉概念特征v的获取:
步骤2.1、用
步骤2.2、将所述当前输入的视觉概念特征集合
步骤3、所述无监督图像描述模型中基于记忆的解码器的处理:
步骤3.1、定义当前时刻为t,并初始化t=0;
在t时刻,根据式(1)获取t-1时刻的单词特征xt-1;
xt-1=wewt-1(1)
式(1)中,we为需要学习的词嵌入矩阵;wt-1为t-1时刻所述无监督图像描述模型的期望输出;当
步骤3.2、利用式(2)将所述视觉概念特征v与t-1时刻的单词特征xt-1拼接为特征矩阵ft-1;
ft-1=[v;xt-1](2)
式(2)中,[;]表示按行拼接操作;
利用式(3)在所述特征矩阵ft-1上实施多头自注意力操作φf,得到第hf个自注意力操作下的融合矩阵
式(3)中,
步骤3.3、利用式(4)将所述t时刻的融合矩阵
式(5)中,fc(·)表示全连接层操作;
步骤3.4、利用式(5)在t时刻的融合向量ft与基于记忆的解码器t-1时刻的记忆状态mt-1上实施多头自注意力操作φm,得到第hm个自注意力操作下的注意力矩阵
式(5)中,
步骤3.5、利用式(6)对所述t时刻的注意力矩阵
步骤3.6、利用式(7)从所述基于记忆的解码器t-1时刻的记忆状态mt-1及所述当前t时刻的记忆矩阵
式(11)中,⊙表示点乘;gi,gf分别表示所述基于记忆的解码器的输入门与遗忘门;并有:
gi=σ(wi·ft ui·tanh(mt-1) bi)(8)
gf=σ(wf·ft uf·tanh(mt-1) bf)(9)
式(8)~(9)中,wi,wf,ui,uf是四个需要学习的权重矩阵,bi,bf是两个需要学习的偏置向量,表示sigmoid激活函数;
步骤3.7、利用式(10)得到t时刻的输出单词
式(10)中,wo为需要学习的权重矩阵;ot表示所述基于记忆的解码器的输出,且ot=mt;
步骤4、所述无监督图像描述模型中基于记忆的重构器的处理:
步骤4.1、利用式(11)在t-1时刻基于记忆的重构器的隐藏状态zt-1与基于记忆的解码器t时刻的记忆状态mt上实施多头自注意力操作φr,得到基于记忆的重构器中第hr个自注意力操作下的注意力向量
式(11)中,
步骤4.2、将t 1赋值给t,返回步骤3顺序执行,直到t=l为止;基于记忆的重构器最后一个时刻的注意力向量作为视觉概念重构特征
步骤5、在句子语料库上对无监督图像描述模型的参数优化:
步骤5.1、令
步骤5.2、利用式(12)计算无监督图像描述模型在句子语料库上的损失值£s;
式(12)中,α为设置的超参数;
步骤5.3、利用随机梯度下降法对无监督图像描述模型在句子语料库上的损失值£s进行优化求解,使£s达到最小,从而得到句子语料库上的最优模型;
步骤6、在图像数据集上对最优模型的参数优化:
步骤6.1、使用cnn网络提取所述图像i的全局特征f;
步骤6.2、获取步骤5中最优模型的参数,并令
步骤6.3、利用式(13)计算最优模型在图像数据集上的损失值
式(13)中,[x] =max(x,0),b和β为设置的超参数;
步骤6.4、利用随机梯度下降法对最优模型在图像数据集上的损失值