《Image Captioning with Semantic Attention》笔记

cvpr 2016

图像描述有两种基本模式:top-down和bottom-up。top-down模式就是从图像的一个要素出发,转化它为单词,这类方法很难注意细节。bottom-up模式首先提出描述图像各个方面的单词,然后组合这些单词,这类方法从独立的方面形成句子,缺少端到端形式的训练。此外,人们描述图像时倾向于谈论图像中语义上更重要的区域或目标对象。《Image Captioning with Semantic Attention》提出了一个语义注意力模型,并且结合了top-down和bottom-up的方法。该方法的整体架构如下:

 

首先使用来自分类CNN的中间过滤器的响应来构建全局视觉描述v。CNN的特征只在t=0的时候使用一次,用来初始化RNN,为RNN提供图像内容的概述。此外,运行一组属性检测器来获取最有可能出现在图像中的视觉属性或概念列表,每个对应词典中的一个条目。计算流程如下:

其中分别是输入注意力模型和输出注意力模型。

预测属性的方法可以有多种,这里提出两种:

(1)非参数方法,基于最近邻图像检索。估算图像之间的距离,并检索训练图片中真值描述的最频繁出现的单词,为每个图像建立一个单词列表作为检测到的视觉属性。

(2)参数属性预测,基于视觉识别任务。选择训练集描述中最普通的词作为一个固定的视觉属性集合,图片的视觉属性可以看做类别子集,学习一个卷积多标签分类问题。

计算输入注意力模型ϕ。t>0,得分分配给每个属性,根据先前预测的单词分配。都对应于词典中的一个条目,维度为的热独编码,用分别表示。则,用一个双线性函数估算

其中,指数用于以softmax的方式对所有进行标准化。因为维度过大,使用Glove方法对上一步的两个热独编码进行降维处理,是的编码矩阵为,则:

U是d*d的矩阵。用来表示每个属性上注意力的不同强度。所有属性的加权和与先前生成单词被映射到输入空间

 

是投射矩阵,建模了视觉属性在词向量空间每个维度上的相对重要性。

计算输出注意力模型φ。在单个句子的分析和合成过程中,输出注意力模型以不同的顺序关注视觉概念:

其中,是双线性参数矩阵。σ是激活函数,在这里用来保证在两个特征向量对比之前应用相同的非线性转换。预测单词的概率分布由线性转化与softmax标准化生成:

是投射矩阵,建模了视觉属性在RNN状态空间每个维度上的相对重要性。

最后,训练数据由输入图像特征和输出描述单词序列组成。定义所有注意力模型参数,RNN的参数为,则目标损失函数为:

正则化函数g用来保证分配到每个属性上的注意力的完整性和注意力在任一特定时间步骤上的稀疏性:

p>1,处罚在单个属性上有过多注意力;0<q<1,处罚在任一特定时间,注意力分布在过个属性上。

 

猜你喜欢

转载自blog.csdn.net/qq_29396337/article/details/89142329