AWB——Complementarity-enhanced Mutual Networks for Unsupervised Domain Adaptation in Person Re-ID

论文地址:arXiv:2006.06525
代码地址:Attentive-WaveBlock

1 概述

这是一篇有关UDA Re-ID的文章,方法性能在paper with code上位居榜首,本文可以归类于基于伪标签的UDA,也是通过减少伪标签的噪声来提升模型性能的。文中的方法参考了一个很有意思的Re-ID框架——Mutual Mean-Teaching (MMT)1,MMT框架则来自于深度相互学习(Deep Mutual Learning)2方法,该方法和模型蒸馏/教师-学生模型类似,但是相互学习的目标是让一群学生模型也彼此学习,防止出现教师-学生模型中“瞎子带瞎子”的情况,方法作者也利用熵理论解释了深度相互学习的可行原因。不过MMT Re-ID框架只用到了两个网络,所以又变得和传统模型蒸馏相似,所以不可避免地,最终两个网络还是变得越来越像,互补性降低且回偏向同样的噪声(这也是本文动机)。

本文提出了一个无参数的轻量化模块——Attentive Wave Block (AWB),它可以集成到双网络中,在两个网络学习到的特征之间产生差异,增强网络网络的互补性,从而防止它们“误入歧途”(受同样的伪标签噪声影响)。此外,作者引入了注意力机制来进一步扩大特征间差异,寻找更多互补特征,并探索了两种组合方式:注意力分别放在Wave Block之前和之后。在Duke、Market以及MSMT17分别作为源域和目标域时,本文方法均取得了排行榜上最高性能。

2 贡献

  • 引入一个无参模块WaveBlock,可在双网络框架学到的特征间产生差异,增强其互补性;
  • 在WaveBlock的基础上采用注意力扩大网络间差异,设计了前(pre)注意力和后(post)注意力两种组合策略。

3 方法

3.1 MMT

MMT框架包含两个经过不同初始化的相同网络,它的pipeline是这样的:两个网络在源域上预训练得到初始化参数,每个epoch中,使用聚类算法生成离线的hard伪标签,在指定epoch的每次迭代中,两个网络会生成精炼的soft伪标签,将一个网络生成的hard标签和soft标签结合以监督另一个网络的学习,最后再于每次迭代中更新时间平均模型并用于预测。其实就是一个相互监督学习的过程,和模型蒸馏不一样,模型蒸馏是大模型监督小模型学习。

3.2 WaveBlock

下图是WaveBlock的示意,随机选择一个特征块/图保持不变,另一个特征块的特征的值乘以 r w r_w rw以形成一个波,说得很含糊。这样做更多的原始信息被保留了,不同于Dropblock。

具体地,给定特征 F ∈ R C × H × W F \in R^{C\times H \times W} FRC×H×W,波宽率 r w r_w rw和波高率 r h r_h rh,首先生成一个均匀分布的随机整数 X ∼ U ( 0 , [ H ⋅ ( 1 − r w ) ] ) X \sim U\left(0,\left[H \cdot\left(1-r_{w}\right)\right]\right) XU(0,[H(1rw)]) [ ⋅ ] [·] []是四舍五入函数,经WaveBlock调整的特征图定义为 F ∗ ∈ R C × H × W F^* \in R^{C\times H \times W} FRC×H×W i j k ijk ijk分别表示特征的维度、高度和宽度的坐标。
F i j k ∗ = { F i j k , X ≤ j < X + [ H ⋅ r w ] r h ⋅ F i j k ,  otherwise  F_{i j k}^{*}=\left\{\begin{array}{l} F_{i j k}, X \leq j<X+\left[H \cdot r_{w}\right] \\ r_{h} \cdot F_{i j k}, \text { otherwise } \end{array}\right. Fijk={Fijk,Xj<X+[Hrw]rhFijk, otherwise 
作者给出了为什么应用WaveBlock就能产生特征差异的证明,这里简要介绍,若 F 1 , F 2 , F 1 ∗ , F 2 ∗ F_1,F_2,F_1^*,F_2^* F1F2F1F2分别表示两个网络和WaveBlock的特征表示, X 1 , X 2 X_1,X_2 X1X2表示随机整数,计算两个网络产生相同波形的概率,假设 F 1 , F 2 F_1,F_2 F1F2尺寸相同,要使 F 1 ∗ , F 2 ∗ F_1^*,F_2^* F1F2相同,那么 X 1 , X 2 X_1,X_2 X1X2也得相同:
P ( F 1 ∗ = F 2 ∗ ) = P ( X 1 = X 2 ) = [ H ⋅ ( 1 − r w ) ] [ H ⋅ ( 1 − r w ) ] 2 = 1 [ H ⋅ ( 1 − r w ) ] P\left(F_{1}^*=F_{2}^*\right)=P\left(X_{1}=X_{2}\right)=\frac{\left[H \cdot\left(1-r_{w}\right)\right]}{\left[H \cdot\left(1-r_{w}\right)\right]^{2}}=\frac{1}{\left[H \cdot\left(1-r_{w}\right)\right]} P(F1=F2)=P(X1=X2)=[H(1rw)]2[H(1rw)]=[H(1rw)]1
多GPU的话每个GPU独立生成 X X X,作者根据他们的实验环境得到的 P P P结果是一个很小很小的数,表明概率很小,可以认为WaveBlock总能让特征存在差异。

3.3 Attentive WaveBlock

为了进一步扩大差异,寻找互补特征,作者将WaveBlock与注意力机制结合,AWB与MMT集成后如下图所示:

注意力和AWB的组合有两种方式,前注意力和后注意力,如下图所示,简单易懂,前注意力的优点是可以利用完整的特征来计算注意力,后注意力的优势是可以进一步增大特征差异。

作者用两种注意力来验证WaveBlock能和一般的注意力方法结合——CBAM和Non-local(这里用的简化版)。

CBAM: CBAM依次施加通道注意力 K 1 = M c ( F ) ⊗ F K_{1}=M_{c}(F) \otimes F K1=Mc(F)F和空间注意力 K 2 = M s ( K 1 ) ⊗ K 1 K_{2}=M_{s}\left(K_{1}\right) \otimes K_{1} K2=Ms(K1)K1 ( ⊗ \otimes 是对应元素相乘),CBAM原文中是将注意力整合到ResNet块中的,但是本文作者认为这样增加了计算负担,于是作者将CBAM安排在stage之间,在每个改进的CBAM模块中,原始feature F F F与注意力feature K 2 K_2 K2相加得到新的特征,以防止信息丢失。

Non-local: F F F经过两个 1 × 1 1 \times 1 1×1卷积 θ 、 ϕ \theta、\phi θϕ,维度分别降为原来的一半,然后得到的特征压成单通道,即 θ ′ ( F ) ∈ R C 2 × H W \theta^{\prime}(F) \in R^{\frac{C}{2} \times H W} θ(F)R2C×HW ϕ ′ ( F ) ∈ R C 2 × H W \phi^{\prime}(F) \in R^{\frac{C}{2} \times H W} ϕ(F)R2C×HW,然后得到一个 H W × H W HW \times HW HW×HW维的矩阵 J = ( θ ′ ( F ) ) T ⋅ ϕ ′ ( F ) J=\left(\theta^{\prime}(F)\right)^{T} \cdot \phi^{\prime}(F) J=(θ(F))Tϕ(F),然后用 1 H × W \frac{1}{H \times W} H×W1作为放缩因子,不使用 s o f t m a x softmax softmax,另一个分支中, F F F馈入函数 g g g(一个带BN的一维卷积),类似地将 g ( F ) g(F) g(F)压成单通道然后转置得 g ′ ( F ) ∈ R H W × C 2 g^{\prime}(F) \in R^{H W \times \frac{C}{2}} g(F)RHW×2C,用 J J J g ′ ( F ) g^{\prime}(F) g(F)转置并resize为 C 2 × H × W \frac{C}{2}\times H \times W 2C×H×W,然后用一维卷积 h h h将通道恢复为 C C C,记为 I I I,最终的特征由 I I I F F F加和得到。

所以前后注意力对应于CBAM和Non-local注意力的公式分别为:
F ∗ =  WaveBlock  ( M s ( M c ( F ) ⊗ F ) ⊗ ( M c ( F ) ⊗ F ) + F ) F ∗ =  WaveBlock  ( h ( ( θ ′ ( F ) ) T ⋅ ϕ ′ ( F ) ⋅ g ′ ( F ) ) + F ) \begin{aligned} &F^{*}=\text { WaveBlock }\left(M_{s}\left(M_{c}(F) \otimes F\right) \otimes\left(M_{c}(F) \otimes F\right)+F\right)\\ \\ &F^{*}=\text { WaveBlock }\left(h\left(\left(\theta^{\prime}(F)\right)^{T} \cdot \phi^{\prime}(F) \cdot g^{\prime}(F)\right)+F\right) \end{aligned} F= WaveBlock (Ms(Mc(F)F)(Mc(F)F)+F)F= WaveBlock (h((θ(F))Tϕ(F)g(F))+F)

F ~ =  WaveBlock  ( F ) F ∗ = M s ( M c ( F ~ ) ⊗ F ~ ) ⊗ ( M c ( F ~ ) ⊗ F ~ ) + F ~ F ∗ = h ( ( θ ′ ( F ~ ) ) T ⋅ ϕ ′ ( F ~ ) ⋅ g ′ ( F ~ ) ) + F ~ \begin{aligned} \widetilde{F} &=\text { WaveBlock }(F) \\ F^{*} &=M_{s}\left(M_{c}(\widetilde{F}) \otimes \widetilde{F}\right) \otimes\left(M_{c}(\widetilde{F}) \otimes \widetilde{F}\right)+\widetilde{F} \\ F^{*} &=h\left(\left(\theta^{\prime}(\widetilde{F})\right)^{T} \cdot \phi^{\prime}(\widetilde{F}) \cdot g^{\prime}(\widetilde{F})\right)+\widetilde{F} \end{aligned} F FF= WaveBlock (F)=Ms(Mc(F )F )(Mc(F )F )+F =h((θ(F ))Tϕ(F )g(F ))+F

3.4 实验

下图给出了行人Re-ID的结果,作者还给出了车辆Re-ID的结果,实验设置和消融实验无需赘述,代码已经开源。

4 总结

这篇文章的方法出奇的简单,但是灵感的门槛应该挺高的,特别是这个WaveBlock,不知道是怎样想到的,有时候简单的方法反而创新性更高效果更好,但也更难发现,相比之下,对网络做加减法修修剪剪的门槛就降低了许多。如果结合新的网络和新的注意力机制以及最近提出的新的池化方法,本文的结果可能还会提升,但是这样做似乎没什么意义。

参考

  1. Ge Y, Chen D, Li H. Mutual mean-teaching: Pseudo label refinery for unsupervised domain adaptation on person re-identification[J]. arXiv preprint arXiv:2001.01526, 2020.
  2. Zhang Y, Xiang T, Hospedales T M, et al. Deep mutual learning[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 4320-4328.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远方的河岸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值