用于多标签分类的具有视觉注意的无序RNN
这篇论文是2017年AAAI上的用于多标签图像分类的。
摘要
本文提出了一种基于递归神经网络(RNN)的图像多标签分类模型。我们的模型独特地集成并学习了视觉注意力和长期短期记忆(LSTM)层,该层可以共同学习感兴趣的标签及其共现,同时以视觉方式查看相关的图像区域。与现有方法利用网络架构中的任何一个模型不同的地方在于,训练我们的模型不需要预先定义标签的顺序。此外,引入了一个鲁棒推理过程,避免了预测误差的传播而影响性能。我们在NUS-WISE和MS-COCO数据集上的实验验证了我们的网络设计和解决多标签分类问题的有效性。
1、介绍
多标签分类是一个重要的、实用的研究课题,因为它需要为每个观察实例分配多个标签。从机器学习、数据挖掘和计算机视觉,多种应用受益于多标签分类算法的发展和成功。识别和恢复多标签的共现性是多标签分类的一个基础性和挑战性的问题,以达到预期的预测精度。
近年来,深度卷积神经网络(CNN)在多个研究领域都取得了显著的进展。由于拥有保证预测的表示学习能力,cnn在最近的图像分类等领域取得了成功,尽管cnn具有一定的有效性,但如何扩展它来解决多标签分类问题仍是一个有待探索的研究方向。
在一些研究工作开始推进多标签分类的CNN架构的同时,CNN- RNN通过将图像和语义结构的特征投影到一个联合嵌入空间来嵌入图像和语义结构。通过进一步利用长短期(LSTM)的组件,引入了递归神经网络(RNN)结构来存储长期标签依赖性,结果表明,在隐式保留交叉标记相关性的情况下,CNN-RNN具有良好的多标签分类性能。
不幸的是,上述框架存在以下三个不同的问题:首先,由于使用LSTM,在训练过程中需要预先定义标签的顺序,其标签顺序取决于从训练数据中观察到的标签频率。在实践中,这种预先定义的标签预测顺序可能不能反映适当的标签依赖性。例如,根据标签出现的次数,可以获得标签序列{海洋、阳光、鱼},但是,很明显,鱼在语义上与太阳的相关性比海洋与鱼的相关性要小(也就是在阳光后面很难判断出来下一个标签是鱼)。为了更好地学习和预测这些标签,应该考虑{海洋, 鱼, 阳光}的顺序。另一方面,(Jin和Nakayama,2016年)考虑了四个具有不同标签顺序的实验设置:字母顺序,随机顺序,频率优先顺序和稀有优先顺序(请注意,稀有优先与频率优先相反) 。在(Jin and Nakayama 2016)中得出结论,稀有优先顺序产生最佳性能。稍后,我们将进行彻底的实验来验证,并表明由我们的模型自动学习的顺序将是可取的。
上述方法的第二个问题是,图像中较小尺度物体的标签往往更难恢复。注意图作为一种可能的解决方案,在图像字幕、图像答疑和分割中得到了广泛的考虑。从CNN的一个特定卷积层的不同内核中提取出的相应的特征图包含来自输入图像的不同模式的丰富信息。通过对这些特征图进行进一步的关注,得到的注意力图能够识别出图像中的重要成分或物体。通过利用不同比例或模式的关联对象之间的标签共现,可以适当地缓解上述问题。但是,该技术不能轻易应用于基于RNN的多标签问题方法。如上所述,这些方法根据出现频率确定标签的顺序。例如,“人”可能比“马”更经常出现在图像集合中,因此标签序列将派生为 人 , 马 {人, 马} 人,马。即使马的图像区域通常比人的图像区域大,它可能也无法帮助识别马背上的骑手(即,要求预测顺序为{马,人})。
第三,在解决多标签分类任务时,训练和测试过程的不一致往往是不可取的。 更准确地说,更确切地说,在训练阶段,从真实标签序列中选择每个递归层要生成的标签;但是,测试期间要预测的标签是从整个标签集中选择的。 换句话说,如果在预测期间的某个时间步中对标签进行了错误的预测,则这种错误将在循环过程中传播,从而影响结果。
为了解决上述问题,我们提出了一种新型的视觉注意RNN深度学习框架,该框架由视觉注意力和LSTM模型组成,如图1所示。特别地,我们提出了一个信心排名LSTM,该模型可通过引入的视觉注意模型来反映标签的依赖性。我们的联合学习框架和引入的注意力模型使我们能够识别与每个标签相关的感兴趣区域。因此,标签的顺序可以自动学习,而无需任何先验知识或假设。后来的实验证明,即使在输入图像中出现了小尺度的物体,在视觉上仍然会关注到对应的图像区域。更重要的是,我们的网络架构可以应用于训练和测试,从而解决了前面提到的不一致性问题。
本文的主要贡献如下:
∙ \bullet ∙ 我们的方法不需要预先确定用于预测的标签顺序,而是使用引入的LSTM模型依次学习标签依赖性
∙ \bullet ∙ 在我们的体系结构中引入的注意力模型使我们可以专注于与每个标签关联的图像区域,从而即使对象的尺寸较小,也会获得更好的预测。
∙ \bullet ∙ 通过在统一的网络体系结构中共同学习注意力和LSTM模型,即使在训练过程中可能无法正确显示真实的标签,我们的模型也能与多标签分类的最新深度学习方法相媲美。
图一说明我们提出的多标签分类模型。注意,注意层和LSTM层的联合学习使我们可以在不使用任何预先确定的标签顺序的情况下识别标签依赖关系,同时可以对相应的图像感兴趣的区域进行相应的关注
2、相关工作
我们首先回顾了多标签分类方法的发展。直观上,处理多标签分类问题最简单的方法是将其分解为多个二值分类任务。尽管很简单,但这些技术不能识别标签之间的关系,为了学习多标签分类中标签之间的依赖关系,提出了基于分类器链的方法(论文是Classifier chains for multi-label classification),通过概率的条件乘积来获取标签依赖关系。但是,在处理大量的标签时,除了计算成本高之外,分类器链捕获标签之间的高阶相关性的能力有限,另一方面,基于概率图形模型的方法使用图形结构学习标签依赖关系(论文是:Conditional graphical lasso for multi-label image classification)。
递归神经网络(RNN)是一种能够学习序列连接和内部状态的神经网络结构,当RNN成功应用于连续学习和预测数据的多个标签时,通常需要大量的参数来观察上述关联。CNN-RNN需要一个预先定义的标签顺序来进行学习,它在识别小尺寸对象对应的标签方面的局限性是主要的问题。
3、提出的方法
首先定义了本文的任务目标让 D = { ( x i , y i ) } i = 1 N = { X , Y } D=\{(x_{i},y_{i})\}_{i=1}^{N}=\{X,Y\} D={ (xi,yi)}i=1N={ X,Y}表示训练数据,其中 X ∈ R d × N X\in \Bbb{R}^{d\times N} X∈Rd×N表示 d d d维空间中 N N N个训练实例,矩阵 Y ∈ R C × N Y\in \Bbb{R}^{C\times N} Y∈RC×N表示关联的多标签矩阵,其中 C C C为感兴趣的标签数量(也就是标签个数),换句话说, y c y_{c} yc中的每个维数都是一个二进制值,表示 x i x_{i} xi是否属于对应的标签 c c c。对于多标签分类,目标是为一个测试输入 x ^ \hat{x} x^预测一个多标签向量 y ^ \hat{y} y^
CNN-RNN的简要回顾
CNN-RNN 是最近一种基于深度学习的多标签分类模型。由于我们的方法可以看作是一种扩展,有必要简要回顾这个模型并解释潜在的限制。
如前所述,利用标签依赖关系是多标签分类的关键。在首批针对这个问题的CNN工作中,CNN-RNN由一个CNN特征映射层和一个LSTM推断层组成。这种体系结构将输入图像及其标签向量共同投射到一个公共的潜在空间,尤其是LSTM恢复了标签之间的相关性,通过最近邻搜索,可以在预测层产生多个标签的输出。
尽管它有良好的性能,但CNN-RNN需要一个预定义的标签顺序来训练他们的模型,除了学习最优标签顺序的鲁棒性不足之外,(Wang et al. 2016)也证实了,对于较小尺寸的物体,如果没有正确利用其视觉注意信息,则很难预测其标签,因此,如何在联合开发相关视觉信息的同时,在学习最佳标签顺序的同时引入灵活性,将是我们研究的重点。
具有视觉注意的无序RNN

图2 表示提出的多标签分类网络架构,请注意 M m a p M_{map} Mmap, M a t t M_{att} Matt和 M p r e d M_{pred} Mpred分别表示特征映射层、注意力层和标签预测层。 v f e a t v_{feat} vfeat是从特征映射层 M m a p M_{map}