©PaperWeekly 原创 · 作者 | 张一帆
单位 | 中科院自动化所博士生
研究方向 | 计算机视觉
Domain Generalization(DG:域泛化)一直以来都是各大顶会的热门研究方向。DA 假设我们有多个个带标签的训练集(源域),这时候我们想让模型在另一个数据集上同样表现很好(目标域),但是在训练过程中根本不知道目标域是什么,这个时候如何提升模型泛化性呢?核心在于如何利用多个源域带来的丰富信息。
DG 最困难的地方在于 test-sample 的不可知,训练时不可用,近期有一系列方法开始尝试假设 test sample 以 online 的形式出现,然后利用其信息增强泛化性,下表总结了 test time daptation 方法与传统 DA,DG 方法的区别。
传统 DG 方法就是在源域 finetune 预训练模型,然后部署时不经过任何调整。DA 方法可以根据无标签的目标域数据在训练时调整模型,test-time training 方法在测试时会有一些无监督损失比如检测旋转角度等,然后对每个 test sample 也会进行旋转角度的检测,本文所述的 fully test-time adaptation 在 training 的时候不需要无监督损失,而只需要在 test 的时候进行 adaptation。
T3A
论文标题:
Test-Time Classifier Adjustment Module for Model-Agnostic Domain Generalization
论文来源:
NeurIPS 2021 Spotlight
论文链接:
https://proceedings.neurips.cc/paper/2021/hash/1415fe9fea0fa1e45dddcff5682239a0-Abstract.html
代码链接:
https://github.com/matsuolab/T3A
以往的 DG 方法都致力于研究如何利用好手头的域信息,这篇文章另辟蹊径。在 test 的阶段,我们在依然会选择更新模型头部的linear层。但是这与直接使用 test 的数据进行训练不同,主要的差异在于,本文假设在测试时,模型通常部署在某些环境中,并且必须在不断出现的各种示例上工作良好,样本连续到来是本文场景的主要特征,在拿到样本后模型需要立刻给出决策并更新。
本文的方法被称之为 test-time templates adjuster(T3A),接下来我们对其 intuition 和具体实现思路进行介绍。
首先,我们知道模型的分类是通过样本特征 和分类层对于 类的权重 进行点积然后 softmax 得到的,也就是说分类层的权重在这里作为一个 prototype,预测是在衡量样本到每个 prototype 之间的相似度。
作者维护了 个不同的 support set,对于每一个到来的样本 ,首先根据上式得到初始的预测结果,然后更新 support set。