多标签分类(一) | CNN-RNN: A Unified Framework for Multi-label Image Classification

CNN-RNN:一种统一的多标签图像分类框架

  文章是2017 CVPR的,主要用于多标签图像分类

摘要

  虽然深度卷积神经网络(CNNs)在单标签图像分类方面取得了巨大成功,但需要注意的是,现实世界的图像通常包含多个标签,这些标签可以对应于一幅图像中不同的物体、场景、动作和属性,传统的多标签图像分类方法是对每个类别学习独立的分类器,并对分类结果进行排序或阈值设定。这些技术虽然执行的很顺利,但是不能明确的利用图像中的标签依赖关系。在本文中,我们利用递归神经网络(RNNs)来解决标签依赖关系的问题。结合CNNs,本文提出的CNN-RNN框架学习一个联合图像-标签嵌入来描述语义标签依赖性和图像-标签相关性,并通过端到端(从头到尾)的训练将两者融合在一个统一的框架中,在公共基准数据集上的实验结果表明,该体系结构取得了比最先进的多标签分类模型更好的性能。

一、介绍

  每个真实世界的图像都可以用多个标签进行注释,因为一幅图像通常具有丰富的语义信息,比如对象、部件、场景、动作以及它们的交互或属性。对丰富的语义信息及其依赖关系进行建模是图像理解的关键。因此,多标签分类任务越来越受到重视,深卷积神经网络在过去几年在单标签图像分类方面取得巨大成功,证明了端到端(端到端指的是输入是原始数据,输出是最后的结果)框架的有效性,受此启发,我们探索学习一种统一的多标签图像分类框架。
  将CNNs扩展到多标签分类的一种常用方法是将其转化为多个单标签分类问题,利用排名损失或交叉熵损失对其进行训练,但是,当单独处理标签时,这些方法无法建模多个标签之间的依赖关系(目前所拥有的方法的缺陷)。以往的研究表明,多标签分类问题具有很强的标签共现相关性。例如,天空和云通常同时出现,而水和汽车几乎从不同时出现。
  对于标签依赖的建模,现有的研究大多基于图形模型,其中常用的方法是用成对相容概率或共现概率对共现依赖进行建模,并利用马尔可夫随机场来推断最终的联合标签概率。然而,当处理大量标签时,如果标签具有高度重叠的含义,则这些成对概率的参数可能会过大,而许多参数是多余的。此外,这些方法中的大多数要么不能建模高阶关联[39],要么牺牲计算复杂度来建模更复杂的标签关系。在本文中,我们用递归神经网络(RNNs)明确地建模标签依赖关系,以捕获高阶标签关系,同时保持计算复杂度可控(高阶策略:考虑多个标签之间的关联,比如对每个标签考虑所有其它标签的影响,二阶策略:考虑两个标签之间的相关性,对相关标签和不相关标签进行排序),我们发现,RNN能显著提高分类精度。
  对于CNN部分,为了避免过拟合的问题,以往的方法通常假设所有的分类器都具有相同的图像特征(分类器:参数W被称为权重,其中每个类的分类器就是W的一个行向量),然而,当使用相同的图像特征来预测多个标签时,图像中较小的物体很容易被忽略或难以独立识别,在此工作中,我们设计了基于先前预测结果的RNNs框架来适应图像特征,通过将注意力模型隐式编码在CNN-RNN结构中。其背后的想法是隐式地调整图像中的关注区域,以便CNN在预测不同标签时可以将注意力集中在图像的不同区域。例如,当预测图1中图像的多个标签时,我们的模型将在识别出主要对象(例如飞机,大比利牛斯山脉,射箭)后将注意力转移到较小的标签(例如跑道,人,帽子),这些小物体本身很难识别,但只要有足够的上下文,就可以很容易地推断出来。

   图1展示了从2012年分类数据集ImageNet中随机选取的三幅图像。第二行显示对应的标签注释。对于每个图像,在ImageNet数据集中只有一个标签(即飞机,大比利牛斯山脉,射箭)被注释。然而,每个图像实际上包含多个标签,如第三行所示。
  最后,许多标签有着重叠的意思,如 c a t cat cat k i t t e n kitten kitten意思几乎一样并且经常可以互换,利用语义冗余不仅可以降低计算成本,而且可以提高泛化能力,因为语义重复的标签可以获得更多的训练数据。
  标签语义冗余可以通过联合图像/标签嵌入来利用,可以通过规范相关分析,度量学习或学习排名方法来学习。联合图像/标签嵌入将每个标签或图像映射为联合低维欧几里德空间中的嵌入向量,以使语义相似标签的嵌入彼此接近,并且并且在同一空间内,每个图像的嵌入应与其相关标签的嵌入位置接近。联合嵌入模型可以利用标签语义冗余,因为它本质上共享语义相似标签的分类参数,但是,在大部分的这些模型当中,标签共现依赖关系在很大程度上被忽略。
  本文提出了一种统一的多标签图像分类CNN-RNN框架,该框架以端到端方式有效地学习了语义冗余和共现依赖关系,所提模型的框架如图2所示。多标签RNN模型学习联合的低维图像标签嵌入以对图像和标签之间的语义相关性进行建模,图像嵌入向量由深层CNN生成,而每个标签都有其自己的标签嵌入向量。通过使用长期短期记忆递归神经元对低维空间中的高阶标签共现依赖性进行建模,从而将标签上下文信息保持在其内部记忆状态中。RNN框架按有序预测路径顺序计算多标签预测的概率,其中可以基于图像嵌入和递归神经元的输出来计算每个时间步长的标签先验概率(先验概率是指根据以往经验和分析得到的概率,可以根据之前获得的标签和图像来获得下一次的标签),在预测期间,可以使用波束搜索算法大致找到概率最高的多标签预测。本文提出的CNN-RNN框架是一个统一的框架,结合了联合图像/标签嵌入和标签共现模型的优点,并且可以端到端的方式进行训练。

  图2阐述了CNN-RNN框架如何用于多标签图像分类,该框架学习联合嵌入空间以表征图像标签关系以及标签依赖性。首先输入一张图片,经过VGG网络对图片特征进行提取,然后并将图片特征嵌入到联合嵌入空间,同样将标签也嵌入到此空间当中,红点代表标签嵌入,蓝点代表图像嵌入,黑点则表示图像嵌入和递归神经元输出嵌入的总和。递归神经元通过顺序连接关节嵌入空间中的标签嵌入来对联合嵌入空间中的标签共现依赖性进行建模,在每个时间步长,基于图像嵌入和循环神经元的输出来计算标签的概率。在每一个时间步,都会输出一个神经元的状态,和蓝色点的图片特征进行相结合,然后再找到与其距离最近的红色点即所对应的就是此标签。在第一个时间步的时候不需要标签,也就是后续独热向量全为0,在其他时间步输入的则为预测出来的最大标签。可以看到,RNN神经元每一次输出后都会输出一个标签,首先输出主体船,然后再输出其他如海。
  与最新的多标签图像分类方法相比,提出的RNN框架具有以下优点:
∙ \bullet  该框架采用端到端模型来利用语义冗余和共现依赖性,这两者对于有效的多标签分类都是必不可少的。
∙ \bullet  相比于此任务中的其他标签共现模型,循环神经元是用于高阶标签共现依赖关系的更紧凑和更强大的模型。
∙ \bullet  递归神经元中的隐式注意力机制适应图像特征,以更好地预测需要更多上下文的小物体
  我们对包括NUS-WIDE,Microsoft COCO和PASCAL VOC 2007在内的公共多标签基准数据集进行了详尽的实验,以评估提出的CNN-RNN框架。实验结果表明,与当前最新的多标签分类方法相比,该方法具有明显更好的性能。我们还通过反卷积网络可视化RNN框架的关注区域,有趣的是,可视化显示RNN框架在预测不同标签时可以专注于相应的图像区域,这与人类的多标签分类过程非常相似(证明在每一个时间步RNN都能够对不同的区域进行重点关注,类似于attention机制)

2、相关工作

  图像分类的进展部分是由于创建了大规模的手标记数据集(例如ImageNet)以及深度卷积神经网络的发展。 将深度卷积神经网络扩展到多标签分类的最新工作取得了良好的效果。 深度卷积排序优化了top-k排序的目标,它对正标签的损失赋更小的权值。Hypotheses-CNN-Pooling 使用最大池来汇总来自多个假设区域提议的预测。 这些方法很大程度上独立地对待每个标签,而忽略了标签之间的相关性
  多标签分类也可以通过学习联合图像/标签嵌入来实现。 多视图规范相关性分析是一种三向规范分析,可将图像,标签和语义映射到相同的潜在空间。能够有效地利用了标签语义冗余,但是在对标签共现依赖性进行建模方面存在不足
  目前已经提出了多种方法来利用标签共现依赖性进行多标签图像分类。如学习一连串的二进制分类器,其中每个分类器根据给定的输入特征和已经预测的标签来预测当前标签是否存在,标签共存依赖关系也可以通过图形模型建模,这些模型大多只捕捉成对的标签相关性,当标签数量较大时计算成本较高。所提出的RNN模型中的低维递归神经元是高阶标签相关性的更有效的计算表示。基于LSTM的神经网络可以有效地建立一个序列的长期时间依赖性模型,我们证明了带有LSTM的RNN也是标签依赖的有效模型

3、方法

  由于我们的目标是描述高阶标签相关性,我们使用长短期记忆(LSTM)神经元作为我们的周期性神经元,它已经被证明是一个长期依赖的强大模型。

3.1 长-短期记忆网络(LSTM)

  RNN 是一类神经网络,它保持内部隐藏状态,以通过其单元之间的有向循环连接来模拟具有任意长度的序列的动态时间行为。可以将其视为采用非线性过渡函数并能够对长期时间依赖性进行建模的隐马尔可夫模型扩展。LSTM通过向RNN神经元添加三个门来扩展RNN:忘记门 f f f以控制是否忘记当前状态; 输入门 i i i指示是否应读取输入; 输出门 o o o控制是否输出状态。这些门使LSTM能够按顺序学习长期依赖关系,并使优化变得更容易,因为这些门帮助输入信号有效地通过循环隐藏状态 r ( t ) r(t) r(t)进行传播而不影响输出。LSTM还有效地解决了RNN训练中经常出现的梯度消失/爆炸问题。
  结合图来介绍一下LSTM(文章介绍的稍微简略了一些,而且和网上介绍的LSTM不大一样,这里的细胞状态就是隐藏层状态,而网上的隐藏层状态是通过了输出门的细胞状态):

  在本文中,LSTM的第t个时间步的输入是第t-1个时间步的隐藏层状态 r ( t − 1 ) r(t-1) r(t1)以及标签 k k k的标签嵌入(下面会详细介绍),然后使用遗忘门和输入门对 r ( t − 1 ) r(t-1) r(t1)状态进行更新为 r ( t ) r(t) r(t)状态,然后使用输出门将 r ( t ) r(t) r(t)中需要输出的信息计为 o ( t ) o(t) o(t)并输出,这个也就是递归神经网络的输出,并且整个网络所采用的激活函数是Relu。
   ∙ \bullet 步骤一(遗忘门 f t f_{t} ft):

  在时间步 t t t时,决定从细胞状态 r t − 1 r_{t-1} rt1中丢弃的信息。此门读取上一个时间步的隐藏层状态 r ( t − 1 ) r(t-1) r(t

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值