来源:东南&电子科技&西交&南京邮电,IJCAI-18,paper
学习可区分的视觉表示的方法和尝试将物体不同部分局部化的方法可以分为三个阵营:
此前的方法中大多关注视觉信息而忽视了外部信息。但有一些方法使用外部信息来解决其他视觉任务
本文中的不仅使用了外部信息,而且训练了一个端到端的模型,这里将属性作为知识库中类别的特点来丰富嵌入空间。
模型中最关键的是视觉嵌入到语义嵌入空间的线性映射
训练数据集合 X = { ( x i , y i ) } ( i = 1 , . . . , m ) \mathcal{X}=\{(x_{i},y_{i})\}(i=1,...,m) X={(xi,yi)}(i=1,...,m),相应的细粒度标签集合 Y = { y 1 , y 2 , . . . , y C } \mathcal{Y}=\{y_{1},y_{2},...,y_{C}\} Y={y1,y2,...,yC},需要学习一个函数映射 f : X → Y f:\mathcal{X}\to\mathcal{Y} f:X→Y,最小化实验损失(计算视觉输出以及真实class之间的差距)。给定一个输入图片 x x x,知识库嵌入 δ 1 ( y ) ∈ R k \delta_{1}(y)\in\mathbb{R}^{k} δ1(y)∈Rk 以及文本嵌入 δ 2 ( y ) ∈ R k \delta_{2}(y)\in\mathbb{R}^{k} δ2(y)∈Rk 都是针对给定的真实class y y y 而言的。这样的模型目标最是最大化后验概率
(1) f ( x , y ) = a r g m a x y ∈ Y P ( δ 1 ( y ) , δ 2 ( y ) ∣ x ; θ ) f(x,y)=argmax_{y\in{Y}}P(\delta_{1}(y),\delta_{2}(y)|x;\theta)\tag{1} f(x,y)=argmaxy∈YP(δ1(y),δ2(y)∣x;θ)(1)
其中 θ \theta θ 就是学习参数。
针对 δ 1 ( y ) \delta_{1}(y) δ1(y) 和 δ 2 ( y ) \delta_{2}(y) δ2(y),作者分别使用了 TransR 和 Word2Vec 模型。因此, δ 1 ( y ) \delta_{1}(y) δ1(y) 和 δ 2 ( y ) \delta_{2}(y) δ2(y) 是条件独立的, ( 1 ) (1) (1) 式可以化简为:
(2) f ( x , y ) = a r g m a x y ∈ Y ∏ i ∈ 1 , 2 P ( δ i ( y ) ∣ x ; θ ) f(x,y)=argmax_{y\in{Y}}\prod_{i\in1,2}P(\delta_{i}(y)|x;\theta)\tag{2} f(x,y)=argmaxy∈Yi∈1,2∏P(δi(y)∣x;θ)(2)
这里的公式 ( 2 ) (2) (2) 受到了 DeViSE 和 SJE 的启发。考虑到视觉-语义嵌入框架,DeViSE 使用了成对的排序目标函数来直接的将图片映射到富语义嵌入空间中。SJE 使用兼容函数将图像的视觉嵌入和文本嵌入实现相互映射,训练了一个 two-step 模型。作者的不同之处在于:整合了多个领域的信息,并且训练了一个端到端的模型
这里作者提到了 Bilinear CNN,它使用了两个基于CNN的特征提取模型,第一个强调物体的识别,第二个关注在空间位置,两个CNN提取器以平移不变的方式考虑成对相互作用,这特别适用于细粒度分类任务。
模型的第一层是训练一个局部化网络( F A F_{A} FA),希望能够检测出物体的边界框。如果proposal是positive的,那么proposal区域的特征对物体的parts或者边界是敏感的。对于细粒度图像分割,一张图像中只有一个被认为是正样本的物体。因此,本文中使用原始图像作为正样本区域,输出就类似于RCNN。这样, F A F_{A} FA 的目标就是:
(3) l A = ∑ i = 1 4 ( t i − t i ′ ) 2 l_{A}=\sum_{i=1}^4(t_{i}-t_{i}')^2\tag{3} lA=i=1∑4(ti−ti′)2(3)
其中边界框使用 ( x , y , h , w ) (x,y,h,w) (x,y,h,w) 表示。
模型的第二层是一个回归排序网络( F B F_{B} FB),希望能够得到图片物体的全局视觉特征,为了整合语义嵌入, F A F_{A} FA 同时训练了两个平行的加入softmax的全连接层。全连接层将图像的视觉嵌入(deep CNN学到的)映射到类别的语义嵌入(TransR 或者 Word2Vec 学到的)当中。两个全连接层被称作 projection layer。使用 M 1 ∈ R d × k 和 M 2 ∈ R d × k M_{1}\in\mathbb{R}^{d\times{k}}\text{和}M_{2}\in\mathbb{R}^{d\times{k}} M1∈Rd×k和M2∈Rd×k 表示投影层的参数, v ∈ R d v\in\mathbb{R}^{d} v∈Rd 是视觉嵌入,其中 d d d 是视觉嵌入的维度, k k k 是图片类别的嵌入向量的维度。
训练是这个网络同时使用了余弦相似度和欧氏距离来衡量差异:
(4) π ( x , y ) = ∑ i = 1 2 ( 1 − v T M i δ i ( y ) + ∣ v T M i − δ i ( y ) ∣ 2 ) \pi(x,y)=\sum_{i=1}^{2}(1-v^{T}M_{i}\delta_{i}(y)+|v^{T}M_{i}-\delta_{i}(y)|^{2})\tag{4} π(x,y)=i=1∑2(1−vTMiδi(y)+∣vTMi−δi(y)∣2)(4)
所以这里同时使用两种距离的原因是什么?作者好像也没有解释,倒是花了不小的篇幅解释距离的定义与计算。从含义来看欧氏距离要求是更加严格的,只有两个向量重合结果才是0,而余弦距离只关注到向量的夹角。在这里首先应该是要求两个向量完全重合的,然后通过余弦距离放大了夹角部分的效果,maybe。那么问题就在于:这样的映射空间中,嵌入向量的夹角究竟代表着什么
利用这个距离得到损失函数:
(5) l B = π ( x , y ) − π ( x , y − ) l_{B}=\pi(x,y)-\pi(x,y^{-})\tag{5} lB=π(x,y)−π(x,y−)(5)
其中, y − y^{-} y− 通过排序公式挑选出来:
(6) y − = a r g m i n ( y ′ ∈ Y , y ′ ≠ y ) π ( x , y ′ ) y^{-}=argmin_{(y'\in\mathcal{Y},y'\ne{y})}\pi(x,y')\tag{6} y−=argmin(y′∈Y,y′̸=y)π(x,y′)(6)
作者所这样能够对小化positive class的距离同时最大化negative class的距离。
这里不太对吧…单纯的用排序就能保证负向最大化吗?不应该加入负样本的距离损失才能够达到最大化的效果吗?
无论如何,作者这样的操作更加直接的将语义信息和图像的视觉信息取得了关联,而不是像前人做的——需要标注进行关联。从某种程度来讲这种脱离标注的建模方式不仅有利于挖掘信息,而且一旦设置一个好的评价方式,能够得到的有价值的参考是会大于标注得来的。但不得不提到的是,这样的网络应该是比较难以训练出理想效果的(因为从数据集到网络设置都要很小心地选择才行)
将局部化网络的特征和回归排序网络的特征相乘(element-wise),最终的loss函数为:
(7) L ( x , y ) = α × l A + l B L(x,y)=\alpha\times{l_{A}}+l_{B}\tag{7} L(x,y)=α×lA+lB(7)
两个网络最终的乘积看作是一种attention的操作,相当于使用对于 F A F_{A} FA 中的特征根据 F B F_{B} FB 中的结果进行加权。可以分类模型考虑边界框真的不会增大学习难度吗?可能是因为细粒度更需要聚焦网络关注点?
这部分作者分别介绍了TransR和Word2Vec的大题计算方式,包括作者得到的模型是如何fine-tune的
反倒是作者提到的针对细粒度领域的调整性训练比较重要,首先需要收描述这种细粒度图像类别的数据,建立知识之间的关系才能支撑作者实现这个目标。
对比来看,前人考虑到边界框时似乎是考虑直接使用边界框,而作者使用的模型采用自己生成的边界框。
our T-CNN中作者修改了 F A F_{A} FA,这里 F A F_{A} FA 只用来抽取特征。Ensemble T-CNN中作者使用了不同的基于CNN的结构。
起码可以证明这种视觉-语义特征时间的直接映射是有效的。我感觉只要保证映射的正确性,那么分类的准确性上升是可以保证的,但这种直接映射的方式是最佳选择吗?
接上,感觉这样的分析也没有解决我的疑问,显然使用这么大程度的语义层面的信息是有帮助的,但这种映射方式真的是最佳的吗?
除此之外,作者针对不同部分的嵌入维度进行的调整分析
思考:
- 作者这里使用的语义信息嵌入直接套用了前人的工作,从思路上来讲确实很有新意,但方法上来看基本没有什么改动——可以认为是拓展了原有模型的应用领域
- 分析来看loss的传播应该是对 F A F_{A} FA 有attention作用的,但缺乏验证
- 作者其实也没有强调 直接映射 本身的作用,但似乎作者所最突出的处理方式就是“特征直接映射+边界框损失”,能不能有更好的方式实现特征之间的映射从而更有效地利用语义信息呢?
- 值得关注的是人类识别机制分析。人类在识别一个物体时,缺失能有更多的有效信息供参考,这些知识来自于经验或者非视觉形式的信息,这也是当前视觉神经网络没能运用到的一个层面