系列(一)中,我们对应对域偏移的领域进行了概要性的总览。系列(二)中,我们对域泛化这一领域进行了较为详细地介绍。其中,我们知道“域泛化”注重于在训练阶段,目标域数据完全不可获取的情况下,如何使得模型仅依靠源域数据获得强大的鲁棒表征能力,在无法提前观测的部署环境下保持较高的模型性能。而在本次系列(三)中,我们会介绍一项和域泛化完全不同的方法范式——在线域自适应(Online Domain Adaptation),它理论上可以和域泛化的方法进行兼容和相互补足,从一种崭新的角度应对训练阶段和测试阶段数据分布偏移的问题。
“在线域自适应”与传统域自适应和域泛化方法不同,该类方法应对的是训练阶段无法预估测试阶段数据分布的场景(这一点和域泛化方法相同),其侧重于在测试阶段利用当前的推理数据通过“边推理边训练”的模式,实现模型对未知测试数据的更新适应,从而达到精度提升的效果。所谓的“边推理边训练”即是在本身的推理阶段以外,增加针对当前测试数据的模型训练阶段。而不同文章的区别主要在于如何进行“针对当前测试数据的模型训练”。注意,在现实生活中,推理阶段的数据往往是不具备ground truth的,因此“在线域自适应”的方法也几乎建立于“测试数据无监督”的假设之上(接下来介绍的文章也是建立于此假设之上)。
按照不同在线域自适应方法的典型特征(针对当前测试数据的模型训练阶段),我们将近两年的典型文章部分总结如下:
方法 | 简介 | 数据集设置 | 开源 | 类型 |
BN Adapting [1-3] | 针对测试数据更新BN层的statistics(均值μ和方差σ) | \ | 开源 | 无需梯度计算 |
Tent [4] | 针对测试数据,利用熵最小化(entropy minimization loss)作为目标函数构成“伪标签”更新BN层的statistics(均值μ和方差σ),scale(γ)和shift(β) | 图像分类:Cifar10 → Cifar-10C 语义分割:GTA5 → Cityscapes | 开源 | 基于熵最小化的伪标签,需要梯度计算 |
CoTTA [5] | 针对测试数据,利用熵最小化(entropy minimization loss)作为目标函数构成“伪标签”更新整个网络。同时,设计平均教师、平均增强预测和随机重载的机制,应对“错误累计”,提升模型性能。 | 图像分类:Cifar10 → Cifar-10C 语义分割:Cityscapes → ACDC | 开源 | 基于熵最小化的伪标签,需要梯度计算 |
TTT [6] | 针对测试数据,设计辅助任务的网络分支,通过该分支的损失函数构成“伪标签”,利用“自监督学习”思想进行整个网络的更新。 | 图像分类:Cifar10 → Cifar-10C / Cifar-10.1; VID-Robust | 未开源 | 基于自监督学习分支的伪标签,需要梯度计算 |
从文章的数量和发表日期来看,“在线域自适应”是应对域偏移领域的最先进方法之一。除了上述部分文章,近两年出现了愈来愈多的变体提升方法的表现性能[7-10]。它们大多数方法的本质就是:在无法获取测试数据ground truth的情况下,利用不同方式(熵最小化,自监督学习分支等)构造“伪标签”作为supervised information,对网络的任意结构(最后一层/部分层/整个网络)进行梯度更新。而作为最先进的方法类型,“在线域自适应”依然面临着很多具体的问题:① 由于将“更新适应”放置于测试阶段,实际部署时的梯度更新(特别对于资源受限设备)会带来额外的内存开销和运行时延;② 部分文章[5, 7]指出,此类方法易形成“错误累计”以及对超参数设置依赖大,造成网络的“灾难性遗忘”,从而使得网络在在线更新时发生精度崩塌(甚至到低于随机预测的程度)。因此,可以看出“在线域自适应”方法在部署可行性和稳定性等方面还有很大的提升空间,到为真实世界带来实际、高效的部署效果依然还有路要走。
参考文献:
[1] Mancini M, Karaoguz H, Ricci E, et al. Kitting in the wild through online domain adaptation[C]//2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2018: 1103-1109.
[2] Nado Z, Padhy S, Sculley D, et al. Evaluating prediction-time batch normalization for robustness under covariate shift[J]. arXiv preprint arXiv:2006.10963, 2020.
[3] Schneider S, Rusak E, Eck L, et al. Improving robustness against common corruptions by covariate shift adaptation[J]. Advances in Neural Information Processing Systems, 2020, 33: 11539-11551.
[4] Wang D, Shelhamer E, Liu S, et al. Tent: Fully test-time adaptation by entropy minimization[J]. arXiv preprint arXiv:2006.10726, 2020.
[5] Wang Q, Fink O, Van Gool L, et al. Continual test-time domain adaptation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 7201-7211.
[6] Sun Y, Wang X, Liu Z, et al. Test-time training with self-supervision for generalization under distribution shifts[C]//International conference on machine learning. PMLR, 2020: 9229-9248.
[7] Niu S, Wu J, Zhang Y, et al. Efficient test-time model adaptation without forgetting[C]//International conference on machine learning. PMLR, 2022: 16888-16905.
[8] Liu Y, Kothari P, Van Delft B, et al. TTT++: When does self-supervised test-time training fail or thrive?[J]. Advances in Neural Information Processing Systems, 2021, 34: 21808-21820.
[9] Choi S, Yang S, Choi S, et al. Improving test-time adaptation via shift-agnostic weight regularization and nearest source prototypes[C]//Computer Vision–ECCV 2022: 17th European Conference, Tel Aviv, Israel, October 23–27, 2022, Proceedings, Part XXXIII. Cham: Springer Nature Switzerland, 2022: 440-458.
[10] Chen D, Wang D, Darrell T, et al. Contrastive test-time adaptation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 295-305.
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!