摘要
多标签图像识别是计算机视觉中一项基础却又有挑战性的任务。利用深度卷积神经网络对具有语义感知的图像区域进行定位,并对其标签进行预测,目前取得了显著的进展。然而,通过提出假设区域进行对图像区域的定位,需要冗余的计算成本,而且往往忽略或简单化了区域之间的上下文依赖关系。作者在该论文中提出了一个循环注意强化学习框架,迭代地发现与不同语义对象相关的注意区域(含有信息的图像区域),并对这些区域预测相关标签的得分。此外,该模型还可以对注意区域的依赖关系进行建模,从而促进多标签识别。实验证明,该模型在性能和效率都具有优势。
介绍
这一部分作者主要介绍了图像分类的发展,从最初的单标签分类,到更接近现实任务的多标签分类,并谈论了目前多标签分类所采用的方法(对CNNs进行微调、引入假设区域),以及它们的优点和不足(如HCP中存在冗余计算和次优性能的问题)。为了达到更好的分类性能,作者提出了一个可端到端训练的循环注意强化学习框架,其中包括了一个用于提取输入图像特征表示卷积网络和一个有LSTM网络实现的循环注意感知模块。
相关工作
主要介绍了目前多标签图像识别和视觉注意网络这两个研究领域上的一些进展。
模型
总体结构:
1. FCN(全卷积网络):从原始输入图像中提取特征映射(feature maps)。
2. 循环注意感知模块:在每一次迭代的过程中:通过特征映射以及位置(由上一次迭代生成),找到k个注意区域,并根据提取每一个区域对应的特征。由一个LSTM网络,根据区域的特征以及上一次迭代后的隐藏状态,为每个区域进行相应的标签预测得分,并生成一个最优位置供下一次迭代使用。
3. 集合:在迭代结束后,将所有循环得到的预测得分经过 category-wise max-pooling 得到最终的标签分布结果。
1. FCN全卷积网络
首先将原始输入图像大小调整为W × H ,并通过网络VGG16 ConvNet 训练得到图像的特征映射,特征映射是从最后一次卷积层得出的。
2. 循环注意感知模块
(1)首先根据特征映射提取中心位于的不同尺寸、比例的k个图像区域。
(2)由特征映射和区域,提取每个区域对应的特征:
其中函数G包括了裁剪和双线性插值的操作,最终得到的具有固定的大小。
(区域特征的提取基于整幅图像的特征映射,避免了计算密集的卷积过程)
(3)LSTM以上一次迭代后的隐藏状态以及每一区域的特征,为每个区域进行相应的标签预测得分,并生成一个最优位置供下一次迭代使用:
其中为网络的参数,对于于区域的标签得分。注意在第一次迭代的过程中,以整幅图像作为注意区域,即只有一个区域,它的目的仅仅为确定的位置。
3. category-wise max-pooling
在迭代结束后,模型一共得到了CkT个得分(T次迭代产生了得分,每一次迭代为k个区域打分,每个区域的得分为一个C维向量。其中C是总的标签个数或总类别数):
,其中。这里category-wise max-pooling简单地选取每个标签的最大预测得分值最为最终结果:。
训练过程
循环注意感知模块对区域的打分和搜索下一最优位置,可以看作是一个顺序决策问题,通过引入强化学习进行训练。
(1)状态:由两部分组成。一是当前区域的特征;二是上一次迭代的隐藏状态(有助于找到瞥见区域和标签之间的上下文依赖关系)。
(2)动作:包括两个部分,
(a)一是为区域进行打分,具体操作为:将区域的特征通过一个全连接层生成语义表现。LSTM根据语义表现以及上次迭代的隐藏状态,生成新的隐藏状态,新的隐藏状态通过一个分类网络为每个区域进行打分:
其中为分类网络的参数。
(b)二是寻找下一最优位置,具体操作为:将求均值得到,经过一个带参数的定位网络。以的输出作为均值,以(常设为0.11)作为方差构建高斯分布,并根据该分布随机取得位置。
(3)奖励:每次迭代的奖励定义为
其中,g为图像真实的n个标签(ground-truth labels),p为得分最高的前n个标签,为集合的大小。
总的奖励为:
其中,取1。故总的奖励。
除了定义分类损失函数,作者还定义了一个延迟奖励机制,得到一个混合的目标函数。最终的目的是为了学到一个可以指导打分和生成下一位置的策略其中为之前的注意区域和动作。
目标函数,是奖励期望最大化:
为所有可能的交互序列的分布。
目标函数的梯度计算:
分类损失函数:
其中:
为真实标签的独热编码。|||表示求向量元素绝对值之和。
实验
以下为作者进行实验的结果以及与其他方法的比较:
论文中还进行了消融实验,检验模型中每一个模块的作用。