论文阅读:Shuffle-Then-Assemble: Learning Object-Agnostic Visual Relationship Features

本文介绍了Shuffle-Then-Assemble方法,旨在训练出一个对对象不敏感的CNN,减少关系对特定对象的偏见。通过对抗式训练,该方法使用预训练的CNN和随机初始化的OA卷积层,结合转移G和F以及判别器D_A和D_B,促进特征提取逐步变得object-agnostic。实验结果显示,即使不进行微调,OA模块也能提高基线性能,并且注意力更集中在主题和对象重叠的区域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shuffle-Then-Assemble

文章
  Paper认为标记triplet的cost是很大的,而且人标记的relation有很强的的object的依赖性,就是某些relation对某些object-object会有bias。
  shuffle-then-assemble的目的是希望训练出一个比较object agnostic的CNN,这样就能缓解relation对object的bias。
  作者的基本思路是先用普通的pretrained的CNN网络连接上随机初始化的OA conv layer,然后利用domain transfer和discriminator进行对抗式的训练,最终达到使CNN提取的特征变得object-agnostic为止。
这里写图片描述
   关于shuffle-and-assemble模块的具体实现,主要是下面的结构和损失函数:

这里写图片描述
这里写图片描述

   具体的步骤是:每次将要训练的ground truth triplet先进行拆分,将object分为两个一样大的集合A和B。然后利用transfer G和F分别对A和B里的每一个特征进行transfer,然后利用D_A,D_B进行fake和real的判断。理想的Discriminator应该是:

这里写图片描述

   也即D能区分domain原有的特征,和转换到domain的特征,上面的对抗项中不同的max和min就是为了一边使得discriminator更强,一边使得F,G的transfer能力更强,最终的结果就是能够让前面的特征提取慢慢的变得object-agnostic。
   有一个要注意的点是,为了发掘更多的组合,要避免一个domain向另一个domain转换时,出现大量重叠的现象,比如多个不同的A domain中的特征,它们的F(a)却很相似,这是不好的(虽然我还没弄懂为啥不好,文章是这样说的)。
  因此paper定义了一个loss:

这里写图片描述

  我感觉这个loss的意思就是,鼓励转换前后的差距尽可能小。

这里写图片描述

  上式就是最后的shuffle-and-assemble的损失函数。
  实验结果表明,OA模块训练好后即便不finetune,结果也比baseline好,毕竟参数多了嘛。同时有趣的是,加入OA后的feature map会更多地关注subject和object重叠的地方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值