2021年4月份挂在arxiv上的文章,也是属于mean-teaching训练策略的UDA
论文地址:https://arxiv.org/pdf/2104.00202.pdf
思路挺不错的,点数也还可以。
思路
baseline仍然采用mean-teacher(MEB-Net和MMT那套),不同在于加了 DDL(动态丢弃层),把丢弃后的feature map加到输入的featue中,获得输出,做三个损失。
个人理解:在特征层面上加入随机擦除的特殊数据增强方法——丢弃了部分特征,仍然保持一致。
动机
作者采用DDL原因:当前的伪标签聚类只专注目标域的一些低级特征,没有用到语义特征进行聚类。
方法
一致性学习
目的:通过DDL模块让网络专注于学习语义信息,从而促进聚类过程仅用语义信息聚类,而不是低层信息。
Dynamic dropblock layer(测试不用):对feature map动态的擦除部分区域,与Cutout操作很像,不同之处在于Cutout固定了擦除的区域大小。
Learning consistency:同一张图输入到带有DDL的网络,获得不同输出特征(因为是随机擦出的),对这两个不同的输出做一致性损失。这里采用了mean-teacher的思路,即用student的输出逼近teacher的输出,做KL 散度。
聚类
用student模型进行聚类(绿色的线代表一个view,view就是同一张图输入到网络但是由于DDL等随机操作得到了不同的输出,即不同的view)
获得伪标签后,对两个view都进行约束:分类损失和三元损失
问题:为什么不用teacher聚类?聚类的时候有用DDL吗??
个人理解:肯定用了DDL,作者的目的就是想通过某一个view的聚类标签来约束这两个输出,从而让两个view不会隔太远。
结果
1、完全无监督实验
2、跨域无监督
3、消融实验
总结:(1)对比了把DDL放在resnet50的不同层后面,差别还是挺大的
(2)对feature map的随机擦除参数的选择不同影响非常大!!
4、可视化(有点魔幻)
启发
1、在feature map层面做 随机擦除,思路比较新,还有角度也比较新——让网络专注于学习语义信息。