摘要:在本文中,我们从一些带有句子描述的图像中解决了学习新颖的视觉概念及其与其他概念的相互作用的任务。利用语言环境和视觉特征,我们的方法能够有效地假设新单词的语义并将其添加到单词词典中,从而可以用来描述包含这些新颖概念的图像。我们的方法有一个基于[38]的图像字幕模块,并进行了一些改进。特别是,我们提出了一种换位的权重分配方案,该方案不仅可以提高图像字幕的性能,而且可以使模型更适合于新颖的概念学习任务。我们提出了防止过度适应新概念的方法。此外,针对此新任务构建了三个新颖的概念数据集,这些数据集可在项目页面上公开获得。在实验中,我们证明了我们的方法可以从几个示例中有效地学习新颖的视觉概念,而不会打扰先前学习的概念。该项目页面是:www.stat.ucla.edu/~junhua。 mao / projects / child_learning.html。
识别,学习和使用新概念是人类最重要的认知功能之一。 在我们很小的时候,我们通过观察视觉世界并听取父母的句子描述来学习新的概念。 最初的过程很慢,但是在我们积累了足够的学到的概念后,过程变得更快[4]。 尤其是,众所周知,儿童可以基于对先前学习单词的了解,对句子中新单词的含义进行快速粗略的假设[5,21],将这些单词与对象或它们的属性相关联,并描述新颖的单词。 使用带有新词的句子的概念[4]。 研究单词学习过程的心理学家和语言专家已经对这种现象进行了30多年的研究[52]。
对于计算机视觉领域,提出了几种方法[16、46、53、31],以解决从少数示例中学习新类别对象的问题。 该任务在实践中很重要,因为我们有时没有足够的数据来寻找新颖的概念,因此需要从先前学习的类别中转移知识。 而且,我们不想每次添加一些具有新颖概念的图像时都重新训练整个模型,尤其是在数据量或模型参数非常大的情况下。
然而,这些先前的方法集中于单个单词(例如,新颖的对象类别)和图像之间的学习分类器或映射。我们没有意识到任何计算机视觉研究都需要从几句话中学习新颖的视觉概念,然后使用这些概念来描述新图像的任务,而这似乎是孩子们毫不费力地完成的任务。我们称其为“从句中学习新视觉概念(NVCS)”任务(见图1)。
在本文中,我们提出了一个解决NVCS任务的新颖框架。我们从一个已经过大量视觉概念训练的模型开始。我们提出了一种方法,该方法允许模型使用几个示例示例来扩展其词词典来描述新颖概念,而无需进行大量重新培训。特别是,我们不需要从头开始对所有数据(所有先前学习的概念和新颖的概念)进行模型重新训练。我们为NVCS任务提出了三个数据集以验证我们的模型,这些数据集可在项目页面上找到。
我们的方法需要一个用于图像字幕的基本模型,该模型将适合执行NVCS任务。我们选择最先进的m-RNN模型[38]作为我们的基本模型。请注意,在我们的方法中,我们可以将大多数当前的图像字幕模型用作基础模型。但是我们对m-RNN的模型结构进行了一些更改,部分原因是希望避免过度拟合,这对于NVCS来说是一个特殊的危险,因为我们想从一些新图像中学习。我们注意到,这些更改还提高了原始图像字幕任务的性能,尽管这种改进不是本文的主要重点。特别是,我们引入了变位权重共享(TWS)策略(由自动编码器驱动[3]),该策略将需要学习的模型参数数量减少了一半。这使我们能够在不过度拟合数据的情况下增加单词嵌入和多模式层的尺寸,从而产生更丰富的单词和多模式密集表示。我们在带有语义描述的大型图像数据集上训练此图像字幕模型。这是我们适应NVCS任务的基本模型。
现在,我们解决了从包含这些概念的少量新数据集中学习新概念的任务。主要有两个困难。首先,先前学习的概念的权重可能会受到新概念的干扰。尽管可以通过固定这些权重来解决。其次,从正例中学习新概念可能会引起偏见。直观地,模型将为每个单词分配一个基线概率,该概率与句子中单词的频率大致成比例。当我们在新数据上训练模型时,新单词的基准概率将非常高。我们提出了一种通过固定新单词的基线概率来解决此问题的策略。
我们构建了三个数据集以验证我们的方法,其中涉及人造对象,动物和活动的新概念。前两个数据集来自MS-COCO数据集[34]。通过添加三个在MS-COCO或其他标准数据集中不常见的不常见概念,构造了第三个新数据集。这些概念是:魁地奇,霸王龙和萨米森(见第5节)2。实验表明,仅在几个新概念示例上训练我们的方法就可以像在所有示例上重新训练整个模型一样为我们提供良好的性能。
深度神经网络 最近,用于自然语言和计算机视觉的深度神经网络取得了巨大进步。 对于自然语言,递归神经网络(RNN [14,40])和长期记忆(LSTM [22])在许多NLP任务(例如机器翻译)[23,8]中都达到了最先进的性能。 51]和语音识别[40]。 对于计算机视觉,深层卷积神经网络(CNN [33])在对象分类[27、48]和检测[19、43、59]的任务上大大优于以前的方法。 这些语言和视觉方法的成功激发了它们在多模式学习任务中的使用(例如,图像字幕和句子图像检索)。
语言和视觉的多模式学习 近年来,图像句子检索[17、50],图像描述生成[28、42、20]和视觉问答[18、36、1]的方法发展非常迅速。最近的图像字幕作品包括[39、25、24、55、10、15、7、32、37、26、57、35]。他们中的许多人(例如[38,55])采用RNN-CNN框架,该框架可优化给定图像的字幕的对数似然性,并以端到端的方式训练网络。 [15]是一个例外,它在高性能管道中结合了视觉检测器,语言模型和多模式相似模型。还讨论了图像字幕任务的评估指标[13,54]。所有这些图像字幕方法都使用预先指定的固定单词词典,并在大型数据集上训练它们的模型。我们的方法可以直接应用于采用RNN-CNN框架的任何字幕模型,并且我们避免过度拟合的策略对于新颖的视觉概念学习任务中的大多数模型都是有用的。
零拍和单拍学习 对于零镜头学习,任务是将密集的单词向量或属性与图像特征相关联[49、17、12、2、31]。 这些论文中的密集词向量是从大量文本语料库中经过预训练的,而词的语义表示是从与其他词的共现中捕获的[41]。 [31]通过仅显示几次新颖的单词就发展了这种想法。 另外,[47]采用具有属性表示的自动编码器来学习新的类标签,[56]提出了一种使用标签嵌入扩展到大型数据集的方法。
另一个相关任务是新类别的一次性学习任务[16、29、53]。 他们仅从几个示例中学习新对象。 但是,这些工作仅考虑单词或属性而不是句子,因此它们的学习目标与本文任务的目标不同。
我们需要一个图像标题作为基本模型,将在NVCS任务中进行调整。 基本模型基于m-RNN模型[38]。 其架构如图2(a)所示。 我们对体系结构进行了两个主要修改,使其更适合NVCS任务,而副作用是,它还提高了原始图像字幕任务的性能。 首先也是最重要的是,我们提出了一种换位的权重分配策略,该策略可以显着减少模型中的参数数量(请参阅第3.2节)。 其次,我们用长短时记忆(LSTM)层[22]替换[38]中的循环层。 LSTM是一个递归神经网络,旨在解决梯度爆炸和消失问题。 我们将在第3.1节中简要介绍该模型的框架,并在第3.2节中介绍转置权重分配策略的详细信息。
3.1.模型架构
如图2(a)所示,我们模型中句子中每个单词的输入是单词词典中当前单词的索引以及图像。我们将此索引表示为一个热向量(一个只有一个非零元素表示索引的二进制向量)。输出是下一个单词的索引。该模型包含三个组件:语言组件,视觉组件和多模式组件。语言组件包含两个单词嵌入层和一个LSTM层。它将字典中单词的索引映射到语义密集的单词嵌入空间中,并将单词上下文信息存储在LSTM层中。视觉组件包含一个经过ImageNet分类任务[45]预先训练的16层深度卷积神经网络(CNN [48])。我们重新移除深层CNN的最终SoftMax层,并将顶部完全连接的层(4096维层)连接到我们的模型。可以将此4096维图层的激活视为包含丰富的对象和场景视觉属性的图像特征。多模式组件包含一层表示,其中语言部分和视觉部分的信息合并在一起。我们在多模式层之后建立一个SoftMax层,以预测下一个单词的索引。权重在句子中单词的子模型之间共享。就像在m-RNN模型[38]中一样,我们向每个训练语句添加一个开始符号wstart和一个结束符号wend。在图像字幕的测试阶段,我们将开始符号wstart输入到模型中,并根据SoftMax层选择K个具有最大概率的最佳单词。我们重复该过程,直到模型生成结束符号。
3.2. 转置权重共享(TWS)
对于原始的m-RNN模型[38],大多数权重(即98.49%)包含在以下两个权重矩阵中:UD∈R512×N和UM∈RN×1024,其中N表示单词字典的大小。 在一个热层和第一单词嵌入层之间的权重矩阵UD用于计算第一单词嵌入层的输入w(t): 其中f(。)是逐个元素的非线性函数,h(t)∈RN×1是当前单词的一热向量。 请注意,由于h(t)中只有一个非零元素,因此计算方程式1的速度很快。 实际上,由于前向和后向传播中的每个单词仅使用一列UD来计算,因此我们不需要计算全矩阵乘法运算。
多模式层和SoftMax层之间的权重矩阵UM用于计算SoftMax层y(t)的激活: 其中,m(t)是多峰层的激活,而g(。)是SoftMax非线性函数。
直观上,等式1中权重矩阵UD的作用是将单热向量h(t)编码为密集语义向量w(t)。 方程2中权重矩阵UM的作用是借助Soft-Max函数将密集语义向量m(t)解码回伪单热点向量y(t),这与 与等式1的逆运算相反。不同之处在于m(t)在密集多峰语义空间中,而w(t)在密集词语义空间中。
为了减少参数的数量,我们将UM分解为两部分。 第一部分将多峰层激活向量映射到单词语义空间中的中间向量。 第二部分将中间向量映射到伪单热点词向量,该伪热词向量是等式1的逆运算。第二部分的子矩阵能够以转置的方式与UD共享参数, 自动编码器中的捆绑权重策略可激发无监督学习任务[3]。 这是线性分解的示例:UM = UTDUI,其中UI∈R512×1024。 等式2相应地更改为: 其中f(。)是逐元素函数。 如果f(。)是一个身份映射函数,则等效于将UM线性分解为UT和UI。 在我们的实验中,我们发现将f(。)设置为缩放的双曲正切函数会比线性分解产生更好的性能。 可以将此策略视为在多峰和SoftMax层之间添加尺寸为512的中间层,如图2(b)所示。 中间层和SoftMax层之间的权重矩阵以换位方式与UD共享。 这种转置权重共享(TWS)策略使我们能够使用比m-RNN模型[38]大得多的维词嵌入层,而无需增加参数数量。 在解决新颖概念学习任务时,我们也将从这种策略中受益。
假设我们已经基于大量的图像和句子训练了一个模型。 然后,我们遇到了新颖概念的图像,这些图像的句子注释包含不在词典中的单词,我们该怎么办? 使用所有数据从头开始重新训练整个模型既费时又不必要。 在许多情况下,我们甚至无法访问模型的原始训练数据。 但是,仅使用新数据对整个模型进行微调会导致对新概念的严重过度拟合,并降低了模型的性能(对于最初训练的模型)。
为了解决这些问题,我们提出了以下策略,这些策略可以用少量图像学习新概念,而又不会失去原始概念的准确性。
4.1. 固定最初学习的权重
假设我们已经从大量数据中学习了原始单词的权重,并且新概念的数据量相对较小,那么在增量训练中固定模型的原始学习权重就很简单。 更具体地说,权重矩阵UD可分为两部分:UD = [UDo,UDn],其中UDo和UDn分别与原始单词和新单词关联。 例如,如图3所示,对于新颖的视觉概念“猫”,UDn与29个新词相关联,例如猫,小猫和爪子。 我们修复了子矩阵UDo,并更新了子矩阵UDn,如图3所示。
4.2. 确定基线概率
在公式3中,有一个偏置项b。直观地,b中的每个元素代表模型输出相应单词的趋势。我们可以将此术语视为每个单词的基准概率。与UD相似,b可分为两部分:b = [bo,bn],其中bo和bn分别与原始单词和新单词关联。如果我们仅将新数据提供给网络,则bn的估计是不可靠的。网络将倾向于增加bn的值,这会导致对新数据的过度拟合。 解决此问题的最简单方法是在培训新概念时修复问题。但这还不够。由于所有训练样本上中间层的平均激活率x都不为0,因此权重矩阵UD在更改基线概率方面的作用与b类似。为了避免这个问题,我们集中激活中间层x,并将原始偏置项b变为b,如下所示: 之后,将bn中的每个元素设置为bo中元素的平均值,并在训练新图像时固定bn。我们将此策略称为基线概率修正(BPF)。
在实验中,我们采用初始学习率为0.01的随机梯度去味算法,并将AdaDelta [58]作为基础模型和新颖概念模型的自适应学习率算法。
4.3. 语言和视觉的作用
在新概念学习(NVCS)任务中,句子充当图像的弱标记。模型的语言部分(单词嵌入层和LSTM层)假设新单词的基本属性(例如语音部分)以及新单词是否与图像内容密切相关。它还假设原始词典中的哪些词在语义和语法上与新词接近。例如,假设模型遇到句子为“女人正在和猫一起玩”的新图像。另外,假设原始数据中有包含句子描述的图像,例如“一个男人在玩狗”。然后,尽管模型之前没有看到过“猫”这个词,但是它会假设“猫”和“狗”这个词彼此接近。
视觉部分接受了ImageNet分类任务[45]的预训练,该任务具有120万张图像和1,000个类别。它提供了对象和场景的丰富视觉属性,这些属性不仅对自身的1,000个分类任务有用,而且对其他视觉任务也有用[11]。
结合语言和视觉的线索,我们的模型仅使用实验中演示的一些示例就可以有效地学习新概念。
5.1.构造数据集的策略
我们使用来自MS COCO [34]的注释和图像来构建我们的新概念(NC)学习数据集。 当前版本的COCO包含82,783个训练图像和40,504个验证图像,每个图像带有对象实例注释和5个句子描述。 为了使用特定的新概念(例如“猫”)构建NC数据集,我们会根据对象注释删除所有包含对象“猫”的图像。 我们还检查是否有一些图像包含带有与猫有关的单词的句子描述。 其余图像被视为基本集,我们将在其中训练,验证和测试基本模型。 删除的图像用于构造新概念集(NC集),该新概念集用于训练,验证和测试用于新概念学习任务的模型。
5.2. 新颖的视觉概念数据集
我们构建了涉及五个不同新颖视觉概念的三个数据集: NewObj-Cat和NewObj-Motor 这两个数据集的相应新概念分别是“ cat”和“ motor-cycle”。 该模型需要学习描述这些概念及其活动的所有相关单词。
NC-3数据集 上面提到的两个数据集均来自MS COCO数据集。为了进一步验证我们方法的有效性,我们构建了一个新的数据集,其中包含三个新概念:“魁地奇”(一种从“哈利·波特”派生而来的新近创建的运动),“ t-rex”(一种恐龙)和“萨米森”(一种乐器)。它不仅包含对象概念(例如t-rex和samisen),还包含活动概念(例如quidditch)。我们为每个概念标记了100张图像,并为每个图像标记了5个句子。为了使同一类别中不同图像的标记句子多样化,指示注释者通过描述每个图像中的细节来标记具有不同句子的图像。它导致与MS COCO数据集不同的注释样式。句子的平均长度也比MS COCO(13.5 vs. 10.7)长26%。我们构建此数据集有两个原因。首先,这三个概念未包含在ImageNet分类任务[45]的1,000个类别中,在该类别中我们预先训练了模型的视觉组件。其次,与NewObj-Cat和NewObj-Motor相比,该数据集具有更丰富,更多样化的情感描述。我们将此数据集表示为Novel Concept-3数据集(NC-3)。一些示例图像和注释如图5所示。 我们将上述三个数据集随机分为训练,测试和验证集。 这三个数据集的图像数量如表1所示。为了研究这些数据集上可能存在的过拟合问题,在测试阶段,我们从基本集的测试集中随机选择了图像,并将其作为单独的测试集进行了处理。 图片。 添加的图像数量等于原始测试集的大小(例如,为NewObj-Cat测试集选择1000张图像)。 我们将原始的新概念测试图像表示为Novel Concept(NC)测试集,将添加的基本测试图像表示为Base测试集。 良好的新型视觉概念学习方法应比NC测试集上的基本模型更好,并且在Base测试集上具有可比性。 NC数据集的组织如图4所示。
6.1. 评估指标
为了评估新颖视觉概念的输出句子描述,我们采用了两种在最近的图像字幕工作中广泛使用的评估指标:BLEU分数[44](n-gram的BLEU分数在本文中表示为Bn)和METEOR [ 30]。
BLEU分数和METEOR均以评估所生成句子的整体质量为目标。 但是,在NVCS任务中,我们比句子中以前学习的单词更关注新单词的准确性。 因此,为了进行全面评估,我们还计算了描述新概念的单词的f分数。 例如。 对于cat数据集,有29个新词,例如cat,cats,kitchen和pawing。 精度p和字典(wdn)中每个新单词的召回r计算如下: 其中Sgen表示生成的句子,Sref表示参考句子,N(condition)表示符合条件的测试图像数量。 请注意,p和r是根据NC测试集和基本测试集(即所有测试)的组合测试集计算得出的。
r较高且p较低表示模型过拟合新数据(如果每次输出新单词,我们总是可以得到r = 1),而r较高的p则表示拟合不足。 我们使用f = -1 2 -1作为p和r之间的平衡度量。 最佳f得分是1。请注意,如果p = 0或r = 0时f =0。与METEOR和BLEU相比,f得分显示了该模型更明确地学习新概念的有效性。
6.2. 交易平台和BPF的有效性
我们在MS COCO [6]上的原始图像捕获任务中使用转置权重共享(TWS)策略测试了基本模型,并与不使用TWS的m-RNN [38]进行了比较。 如表2所示,我们的模型在此任务中的性能优于m-RNN。我们选择模型的层尺寸,以便参数数量与[38]的数量相匹配。 具有不同超参数,特征或管线的模型可能会导致更好的性能,这超出了本文的范围。 例如,[38,55,15]在提交该草案后进一步改善了他们的结果,并使用例如COCO上的微调图像特征或共识重新排名[9]分别获得了B-4分数0.302、0.309和0.308。 ,38],这是TWS的补充。
我们还针对NewObj-Cat数据集上的新颖概念学习任务,验证了转置权重(TWS)和基线概率修正(BPF)策略的有效性。 我们比较了五个Deep-NVCS模型的性能。 表3总结了它们在单词“ cat”中的性质和性能(以f分数表示)。“ BiasFix”表示我们在方程3中固定了偏项bn。“集中化”意味着我们对中间层进行了集中 激活x(请参见公式4),以便UD不会影响基线概率。
使用TWS(Deep-NVCS-BPF-TWS与Deep-NVCS-BPF-noTWS4)相比,我们的性能提高了2.5%,而使用BPF(Deep-NVCS-BPF-TWS与Deep-NVCS相比)则提高了2.4% -UnfixedBias)。 在本文的其余部分中,我们将使用Deep-NVCS来表示Deep-NVCS-BPF-TWS。
6.3. 在NewObj-Motor和NewObj-Cat上的结果
6.3.1.使用所有训练样本
我们在表4中显示了Deep-NVCS模型的性能与在NewObj-Cat和NewObj-Motor数据集上的强基准相比的性能。对于Deep-NVCS,我们仅使用来自新概念集的训练数据。对于Deep-NVCS-Inc1:1,我们添加从基础集的训练集中随机采样的训练数据。添加的训练图像的数量与用于新颖概念的训练图像的数量相同。模型库代表仅在基础集上训练的模型(没有新颖的概念图)。我们实现了一个基准模型Model-word2vec,其中新词的权重(UDn)是使用10个相似概念的权重的加权总和来计算的,该权重是由word2vec的无监督学习词嵌入测得的[41]。我们还通过在组合训练集上从头开始对整个模型进行再训练(从基本集和NC集合中训练图像)来实施强大的基线,即模型再训练。
结果表明,与仅在基础集上进行训练的Model-base相比,Deep-NVCS模型在新颖概念测试集上的性能要好得多,而在基础测试集上可以达到可比的性能。 Deep-NVCS的性能也优于Model-word2vec模型。我们的Deep-NVCS模型的性能与强大的基线模型重新训练的性能非常接近,但只需要不到2%的时间。这证明了我们新颖的概念学习策略的有效性。该模型为新颖的概念学习新单词,而不会打扰之前学习的单词。
尽管Deep-NVCS的性能略低于Deep-NVCS-1:1Inc,但其性能仍可与之媲美。 直观地,如果图像特征可以成功捕获新概念和现有概念之间的差异,则仅从新数据中学习新概念就足够了。 但是,如果新概念与某些先前学习的概念(例如猫和狗)非常相似,则提供新颖概念和现有概念的数据将很有帮助,从而使模型更容易找到差异。
6.3.2.使用一些训练样本
我们还测试了一次或几次场景下的模型。 具体来说,我们从NewObj-Cat和NewObj-Motor的训练集中随机采样了k张图像,并仅在这些图像上训练了Deep-NVCS模型(k范围从1到1000)。 我们进行了10次实验,并对结果取平均值,以避免抽样的随机性。
我们在图6中显示了具有不同数量训练图像的模型的性能。由于空间限制,我们仅以f得分,METEOR,B-3和B-4来显示结果。 B-1和B-2的结果以及与所示指标一致的结果。 在上一节中,通过完整的NC训练集训练的模型的性能由图6中的蓝色(基本测试),红色(NC测试)或洋红色(所有测试)虚线表示。这些线表示实验上限 一个或几个场景下我们模型的模型。 模型库的性能由绿色虚线表示。 它充当实验性下限。 我们还在图6中显示了带有10个和500个新概念图像训练的带有黑点的NC测试模型再训练的结果。 结果表明,使用大约10到50个训练图像,该模型可实现与在完整的新颖概念训练集上训练的Deep-NVCS模型相当的性能。 此外,使用约5个训练图像,与基本模型相比,我们观察到了性能的显着提高。 我们的Deep-NVCS还可以更好地处理少量图像,并且比Model-retrain的运行速度快得多。
6.4. NC-3的结果
NC-3数据集存在三个主要困难。 首先,这些概念与原始图像集非常相似,例如Samisen v.s.。 吉他,魁地奇诉 足球。 其次,这三个概念在日常生活中很少出现。 它们未包含在ImageNet 1,000类别中,在该类别中我们已预先训练了视觉深层CNN。 第三,我们描述这三个新颖概念的方式与基本集中包含的常见对象的方式有些不同。 对带注释的句子进行多样化的要求使得NC-3和MS COCO之间带注释的句子的样式差异更大。 与NewObj-Cat和NewObj-Motor数据集相比,句子样式上的差异导致基本模型的性能下降(有关NC测试,请参见表5中的模型基础与表4中的模型基础)。 此外,这使得模型更难从几个句子来假设新单词的含义。
面对这些困难,我们的模型仍然很好地学习了新概念的语义。 表5中显示的模型的f分数表明,该模型仅从50个示例中成功地以高精度成功学习了新概念。
有趣的是,模型重训练在此数据集上的表现非常差。 它不会在生成的句子中输出单词“ quidditch”和“ samisen”。 BLEU分数和METEOR也非常低。 这不足为奇,因为这三个新颖概念只有几个训练示例(即50个),因此很容易被原始MS COCO数据集中的其他概念所淹没。
6.5. 定性结果
在表6中,我们通过激活Deep-NVCS模型学到的词嵌入层来显示新概念的五个最近邻。 结果表明,所学习的新颖词嵌入向量从语言和视觉上都捕获了语义信息。 我们还在图7中显示了一些基本模型和Deep-NVCS模型的样本生成的句子描述。