《Region Graph Embedding Network for Zero-Shot Learning》ECCV2020

在这里插入图片描述

1. 问题

已有的zero-shot learning(ZSL)方法总结下来大多采取以下方案:1)从预训练好的或端到端可训练的网络中提取全局特征(如上,Fig 1(a));然后2)将这些特征与其语义向量相关联,构建嵌入或生成模型。然而,这些方法不能有效的捕捉可见和不可见图像之间的细微差异,从而导致了不理想的语义迁移。此外,领域偏差的问题仍然存在,这意味着学习的模型仅仅依赖于所看到的类别,而忽略了可用的不可见属性。(我觉得以前方法学习到的信息可以看作粗粒度信息,忽视了细粒度信息和细粒度所在区域之间的关系

2. 动机

最近,基于注意力的端到端模型通过使用语义向量作为引导,为发现更具鉴别性的块(区域)特征铺平了道路,其在ZSL下有明显的提高但在Generalized ZSL(GZSL)下却没多大效果。因为所有这些方法都集中在直接嵌入这些块特征的块上,而未能捕捉到它们之间的外观关系(如上Fig 1(b))。

3. 本文创新点

  • 提出了一个Region Graph Embedding Network(RGEN),它将基于区域的关系推理融合进嵌入学习,该框架主要包含两支:Constrained Part Attention(CPA)和Parts Relation Reasoning(PRR);这是ZSL领域第一篇针对每张图像利用GCN进行区域关系推理的论文
  • 提出一个新的region Graph来捕捉在每张图像的块之间关系;然后在这个图上进行基于Graph Convolutional Network(GCN)块关系推理,这引导了Parts Relation Reasoning(PRR)这一支
  • 为训练模型,本文先提出一个transfer loss将类相似性从可见类转移到不可见类;然后提出balance loss来最小化可见和不可见类预测之间的最大响应一致性

在这里插入图片描述
注意:

  • 在每张输入图像上使用[1]中的attention方法来生成目标区域;
  • 本文提出通过Graph Convolutional Network(GCN)来进行基于区域关系建模(其中每张图像形成一个Region Graph(如上Fig 1©),图上每个节点表示图像中一个目标区域,节点之间边是他们成对相似性);

4. 方法

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。

5.实验

1)zero-shot(ZSL)和Generalized Zero-Shot(GZSL)识别
注意,下面GZSL中
在这里插入图片描述

在这里插入图片描述2)成分分析

  • 块的数目
    本文在所有实验中固定K = 10,但是不同K值在RGEN模型的ZSL/GZSL下可以观察到不同性能,如下图在这里插入图片描述

  • Transfer Loss系数
    在这里插入图片描述

  • Balance Loss系数
    在这里插入图片描述

  • η 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。
    在这里插入图片描述在这里插入图片描述

  • 定性分析
    在这里插入图片描述在这里插入图片描述

6. 实验结论

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)/~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值