查看原文
其他

【源头活水】CVPR 2021 | 帮你理解域迁移:可视化网络知识的变化

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—侯云钟

地址:https://zhuanlan.zhihu.com/p/369252839

本文介绍澳洲国立大学(Australian National University) 郑良老师实验室在CVPR 2021的新工作《Visualizing Adapted Knowledge in Domain Transfer》。一直以来,机器学习的可解释性和可视化仅限于单一模型。在迁移学习等涉及多模型的领域,如何直观理解不同模型之间知识的差异,仍亟待探讨。本文首次提出一套面向不同域迁移模型的可视化方案,并可以利用可视化结果,在不使用源域数据的情况下,继续提高无监督域迁移性能。

题目:Visualizing Adapted Knowledge in Domain Transfer

论文地址:https://arxiv.org/abs/2104.10602

作者:Yunzhong Hou, Liang Zheng

链接:https://github.com/hou-yz/DA_visualization


01

域迁移是什么?

图1. 域迁移一例:仿真数据训练,真实数据应用(测试)

日常中,经常出现训练和应用的场景,图像风格/内容上存在差异。域迁移 (domain adaptation)正是为了解决训练和应用时的图像/场景差距,所提出的一系列工作。其中原始训练的数据集一般称为 源域 (source domain),应用时的数据集一般称为 目标域 (target domain)。
无监督的域迁移(unsupervised domain adaptation, UDA),考虑目标域没有标签的情况。无监督域迁移任务可以利用有标签的源域数据 学习源域模型 (source model),同时利用 有标签的源域数据 和 无标签的目标域数据,学习一个目标域模型 (target model)。

02

不同域模型间的知识差异
利用任意UDA方法,得到一组源域/目标域模型后,由于这两个模型面向的域有所不同,它们在相同数据下也会得到不同输出。我们将这类输出的差异归因于两个模型间的知识差别 (knowledge difference)
鉴于迁移学习的目标即是更高的目标域性能,在越强的UDA方法下,两个模型间的知识差异也理应更明显的指向这两个域的差异。但是,时至今日,模型之间的知识差异到底是何面目;不同方法间,知识差异的明显与否又应当如何体现,仍无定论。

图2. 未曾见过源域数据,仅凭借模型之间知识差异,将目标域图像变成源域风格 (source-free image translation)


03

利用source-free image translation可视化知识差异
面对模型之间的知识差别,本文提出一套《source-free image translation, SFIT》方法,对其做出可视化。在SFIT方法中,我们不使用源域图像;而是将目标域图像 进行一系列变化,并将原图/变化后图像 送入两个支路:将一张原始图像送入目标域模型,再将一张变换后的图像送给源域模型。

图3. 网络流程:给定源域和目标域网络后,训练一个生成器对目标域图像做变换,使得变换后的图像在源域模型的输出,和原始图像在目标域模型的输出相似。

在利用原始图像/变换后图像 得到两个支路之后,我们固定目标域/源域模型,更新生成器使得这两个支路输出的结果相似。
为了达到相似输出的约束,需要图像 间的不同能够在一定程度上弥补模型间的知识差距。
如果能满足这一约束,我们也可以认为弥补知识差距的图像对,也可以代表两个模型的知识差距。我们在图2中给出满足“弥补知识差距”的SFIT图像变化结果示例。我们发现,模型间的知识差异,可以成功推动图像风格由目标域迁至源域,即便生成器训练过程中从未见过源域数据。这也说明域迁移前后,模型的知识差异的确包含对源域和目标域图像风格的刻画。
为此,我们将网络流程如图3设置,并利用知识蒸馏(knowledge distillation)和关系保持(relationship preserving)两个损失函数优化生成器网络。

04

损失函数设计
知识蒸馏由Hinton等人提出,通过将学生模型(student)的优化目标定义为教师模型(teacher)的输出,来将教师模型的知识传递给学生模型。本文中,我们使用这一损失函数,来直接约束两个支路(见图3)的输出相似。
关系保持损失函数由本文提出。在UDA中,一般保持源域网络和目标域网络共享分类层。我们利用关系保持函数,维持特征图在通道维度的分布相似。由此,我们可以帮助约束两个支路的最终输出一致(相似通道维度分布+固定的分类层->相似的分类输出)。
通过特征图  和  的通道维度自相关矩阵(Gram矩阵)  和  ,计算归一化Gram矩阵的均方误差,得到关系保持损失函数。
文中提出的关系保持损失函数,还和UDA中常用的MMD损失函数,以及图像风格迁移中的图像风格(style)损失函数相关。更多关于这一损失函数的讨论,请见原文。


05

实验结果
1. 通过SFIT,我们可以大幅缩小两个支路之间的性能差异 (source model vs target model; generated images vs target model)
2. SFIT生成图片说明模型间知识差距包含对域之间风格差异的描述 (我们的唯一目标即约束两个支路输出一致。在降低性能差距的同时,得到了图像风格迁移的副产品)
3. SFIT说明更强的UDA方法可以更好的处理不同域的风格差异 (SFIT在更强的UDA方法下,显示出更明显的风格迁移效果)


06

应用:无源域迁移
无源域迁移(source-free domain adaptation)禁止系统在迁移过程中获取源域数据;而只允许使用训练好的源域模型和无标签的目标域模型,完成域迁移任务。本文提出的SFIT方法,同样适用于无源域迁移任务。在已经得到一个无源域迁移的目标域模型后,可以利用SFIT生成的图片,继续微调(fine tune)目标域模型,以进一步提高性能(见表2、表3,fine-tuning一项可以获得比target model更高的性能)。


07

总结
域迁移任务面向不同场景,调整模型以达到最优性能。调整前后的源域/目标域模型间,存在知识差异。本文提出的source-free image translation (SFIT)方法,首次将这类知识差距直观展示在研究者面前。并且,生成的可视化结果,还可以帮助其他相关任务,例如无源域迁移和增量学习(incremental learning)等。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存