已有的zero-shot learning(ZSL)方法总结下来大多采取以下方案:1)从预训练好的或端到端可训练的网络中提取全局特征(如上,Fig 1(a));然后2)将这些特征与其语义向量相关联,构建嵌入或生成模型。然而,这些方法不能有效的捕捉可见和不可见图像之间的细微差异,从而导致了不理想的语义迁移。此外,领域偏差的问题仍然存在,这意味着学习的模型仅仅依赖于所看到的类别,而忽略了可用的不可见属性。(我觉得以前方法学习到的信息可以看作粗粒度信息,忽视了细粒度信息和细粒度所在区域之间的关系)
最近,基于注意力的端到端模型通过使用语义向量作为引导,为发现更具鉴别性的块(区域)特征铺平了道路,其在ZSL下有明显的提高但在Generalized ZSL(GZSL)下却没多大效果。因为所有这些方法都集中在直接嵌入这些块特征的块上,而未能捕捉到它们之间的外观关系(如上Fig 1(b))。
1)ZSL任务定义
C^s 个看得见的类中有 N^s个训练实例,其定义为
使用和Y^S表示训练数据集和对应标签。
表示看得见类的语义向量集。
这个表示有N^u个看不见的实例的测试集。我们目的就是想要预测出每张看不见测试图像对应的标签。(注意下面公式字母的上标是s的表示属于看得见的类,u表示属于看不见的类)
2)Constrained Part Attention Branch(CPA)
Attention Parts Generation:本文利用[1]中soft spatial attention将图像x映射成一组K个块特征。假设最后一层卷积特征映射是Z(x),则在Z(x)上通过一个1*1卷积G获得K个attention mask 即
基于这些mask,我们获得K个对应的attentive特征映射即
其中R将输入reshape成和Z相同shape,然后进行点乘,最后对每个 Ti 经过全局最大池化得到K个块特征
这个f有两种形式:第一个,如上Fig 2所示,K个块特征concat成一个向量(CPA);第二个,每个块特征作为图节点特征,并构造Region Graph,在RPP分支在GCN中进行块关系推理。
Constrained Attention Masks: 为了挖掘更紧凑,更具差异性的块,我们从spatial attention进行约束attention mask,设计了compact loss和divergent loss,即
其中是第块的一个理想peaked attention map是在坐标(h, w)的其他mask的最大响应
3)Parts Relation Reasoning Branch
首先,利用上述获得的K个块特征,构造一个Region Graph 如上Fig 1(c)所示,相似区域(‘head’ - ‘head’)有高的confidence边,而不相似的区域(’head’ - ‘leg’)有低confidence边。在每个块特征 f_i(x)首先进行L2正则化,然后利用点乘计算每两个块的相似性:这种情况下,点乘计算就等同于cosine相似性度量以及图的自连接。我们进一步计算上述的度矩阵D:
然后,输入一个region graph,本文利用GCN对该图进行推理,实验中,本文使用一个两层GCN进行传播:其中F^(0)是K个块特征的堆叠,W是学习参数,σ是Relu激活函数。
最后,在CPA支,通过GCN进一步更新特征F^(2)经过一个concat,一个bottleneck层,然后嵌入到语义空间。这个情况,引导的loss再次是transfer loss和balance loss。
此处使用GCN原因:1)通过建模块之间关系自动将原始块特征迁移成新的特征(F^(2));2)参数W是在属性引导下联合学校;3)与以往以词向量作为GCN输入不同,这是为ZSL学习每个类的可视化分类器。据我所知,本文是第一次使用基于GCN块关系推理来解决ZSL和GZSL任务。
4)The Transfer and Balance Losses
Revisit the ACE Loss: 将图像和它的真实属性信息联系起来,计算兼容性分数:上述公式第一项是嵌入特征集合,第二项W是需要去联合学习的嵌入权重,第三项是第i张可见图像的真实语义空间。考虑到兼容性分数作为cross-entrop(CE)loss中的分类分数,对于来自一个batch中看得见的数据,包含了属性的CE loss(ACE)变成:
其中是在C^s看得见的语义向量上的分数。
但是公式(7)有两个弊端:1)学习的模型依旧倾向于看得见的类别,对训练集中看不见的类很不友好,这也是在ZSL和GZSL任务普遍存在的问题;2)这些深度模型性能在GZSL上是不好的。
The Transfer Loss: 为了进一步缓解公式(7)存在的问题,我们将看不见的属性整合到本文新提出的框架RGEN。首先定义L2正规化后的属性矩阵,
看得见的类:
看不见的类:
然后,利用least square regression(LSR)来获得每个看得见的类属性的重构系数如,通过解决获得所有看不见的类属性:
其中V的第i列表示(a_i)^s的对比类相似性,如B。在RGEN训练过程中,除了公式(7),本文提出:
其中预测分数
而是上述的softmax层正则化后结果表示。
最终loss:
其中第二项和[2]有关但是又不同:1)本文预测分数计算是基于一个端到端训练的深度网络和兼容性分数;2)本文使用LSR回归计算对比类相似性,而[2]使用稀疏编码。
The Balance Loss: 为了解决GZSL中严重的域偏差的挑战,尤其在端到端模型中,本文通过在可见和不可见输出之间追求最大化响应一致性,提出一个balance loss。
输入一张看得见的实例(x_i)^s,可以得到在看得见类上它的预测分数
和看不见的类属性预测分数
为了平衡这两个边界(看得见和看不见)的得分,对于batch数据提出balance loss:
其中max P输出输入向量P的最大值。这个loss仅仅用于GZSL任务,而不用于ZSL。因为当仅仅只有看不见的测试图像时是不需要平衡的。
平衡看得见(Fig 3(a)蓝绿色长条)和看不见(Fig 3(b)品红色长条)输出之间预测总结有两点:1)从端到端网络的预测缩放角度来看,由于在这些看不见的位置上没有可用的训练数据来产生响应(严重训练数据不平衡),我们希望平衡可见和不可见预测之间的数值尺度;2) 如果我们只考虑它们在看不见的位置上的预测分数(例如Fig 1(b) 中GZSL下的“斑马”)就能让一些看不见的测试实例被正确分类,那么我们希望挽救这些错误分类的样本。Fig 3是一个真实世界的例子,其中我们将AWA2中看不见的图像输入到RGEN GZSL模型(使用平衡损失训练)及其基线不加平衡损失以观察预测分数的变化。
5)Training Objective
本文网络框架有两支(CPA和PRR),在端到端训练期间都通过transfer loss和balance loss进行优化。=不过本文只有一个数据流作为网络的输入,即,backbone是共享的,本文提出的RGEN的最终总loss为
其中第一项和第二项公式是相同的,即此处,对于两个分支λ 1和λ 2同样取相同的值。这样总目标loss的第一项和第二项有人可能觉得,那不就一模一样了嘛!!不是的,这两项分别在块特征f的拼接方式上和来自F^2(公式(5))的θ是不同的。整个实验中,本文对于所有数据集设置η 1 =0.9, η 2 =0.1, η 3 =1.0, 和η 4 =1e-4。
6)Zero-Shot Prediction
在RGEN框架下,用一种融合的方式预测看不见的测试图像x^u,在语义空间获得了它的嵌入特征之后,如,CPA和PRR分支表示成
之后,本文通过相同的融合系数(η 1 , η 2 )计算作为他们训练阶段的融合结果,然后通过下面公式进行预测它们的标签:
其中分别对应ZSL/GZSL。
1)zero-shot(ZSL)和Generalized Zero-Shot(GZSL)识别
注意,下面GZSL中
η 1和η 2影响
RGEN训练和测试过程中η 1和η 2有相同的值,以便于保持训练和测试一致性,并约束η 1 + η 2 = 1.0。通过实验,最终为所有数据集均设置(η 1,η 2) = (0.9, 0.1)
GCN框架
本文固定了PRR分支中GCN层数为两层(2048-Relu(1024)-2048)。在此处,进一步研究一层和三层GCN在ZSL/GZSL中的影响,注意,对应一层和三层GCN,本文改变节点维度(输出层/中间层的)从{128, 256, 512, 1024, 2048}到确定他们最好的结果,如下表所示
部件分析
RGEN包括:
1)Compact和Divergent(CD)正则化;
2)Transfer loss;
3)Balance loss(为GZSL);
4)PRR分支——假设通过1)和2)训练PRR分支并在最好的ZSL/GZSL模型下进行一个对于1)2)和4)的部件分析,如Table 4;
5)因为2)在ZSL/GZSL中对于知识迁移是重要的,所以这是每个GZSL模型必不可少的loss,因此,对于GZSL包括1),3)和4)的部分分析,如Table 4。
1)Region Graph Embedding Network (RGEN)处理了ZSL和GZSL任务,其包含the constrained part attention(CPA) 和parts relation reasoning(PRR)两个分支;
2)为训练RGEN框架,引入的两个loss(transfer loss和balance loss),其中balance loss在缓解深度GZSL模型的严重域偏移问题更有价值;
参考文献:
[1] Xie, G.S., Liu, L., Zhu, F., Zhang, Z., Qin, J., Yao, Y., Shao, L.: Attentive region embedding network for zero-shot learning. In: CVPR (2019)
[2] Jiang, H., Wang, R., Shan, S., Chen, X.: Transferable contrastive network for generalized zero-shot learning. In: ICCV (2019)
看完记得点个赞哟(o)/~