随着智能物联网(AIoT)的发展,越来越多的移动或嵌入式设备(如智能手机、无人机、移动机器人等)被赋予智能。其中,传统云端具备大体量计算、存储等资源优势,而端侧则具有泛在部署和靠近用户的特性。因此,在云端训练深度学习模型、并将推理阶段从传统云端“下沉”至端侧的边云协同计算模式,可进一步提升智能服务/应用的智能化程度,拉近用户感知数据和智能计算之间的距离,从而降低传输延迟、保护数据隐私。
然而,在实际部署中,部署于移动端侧设备的智能模型一般曝露于复杂且动态的应用环境。比如,无人车在执行道路视觉感知任务时,其摄像头捕捉的视角、天气、昼夜等都会不断变化且无法预估。此时,云端模型训练而采集数据的对应环境很大程度上无法覆盖所有端侧设备任务执行数据的环境,这就产生了所谓的训练/测试数据的分布偏移,导致模型在端侧推理过程中的性能不及预期。
为了应对上面的分布偏移,域自适应、持续学习等领域蓬勃发展。在本文(及后续系列)中,我们重点关注分布偏移中,特别是视觉任务,任务空间不变,但数据所处环境(又称“域”)不断变化的情况(一些情况下也称“协变量偏移”) —— 此部分理论可见blog.crowdhmt.com/article/44。其中,自深度学习发展以来,域自适应(Domain Adaptation)对上述所描述的域偏移问题进行了大量的解决方案探索。早期的域自适应方法主要集中于Unsupervised Domain Adaptation (UDA)的设置,它们旨于利用源域的标记数据去提升来自目标域的无标记数据的测试性能。近年来,越来越多的基于UDA的变体被提出,它们注重于更加苛刻和贴合现实应用的场景和问题设置,并实施更加“精妙”的解决方案来应对。
在此,我们首先尽量给出一个简洁的域自适应领问题变体一览表,表中描绘了在传统UDA设置上,该领域衍生出了哪些新的问题设置,以及这些设置的具体新颖之处(“\”代表和UDA的问题设置相同或不注重定义区分)。
名称 | 源域数据设置 | 目标域数据设置 | 特点简介 |
Unsupervised Domain Adaptation (UDA) | 标记源域数据 | 无标记目标域数据 | |
Multi-Target
UDA | \ | 多类无标记目标域数据 | 相比于UDA,不仅需要提升单类目标域的性能 |
Open Compound Domain Adaptation (OCDA) | \ | 多类无标记目标域数据且不同域之间不可提前区分 | 相比于Multi-Target UDA,目标域数据之间不存在域标签(更贴合现实场景中混合采集数据的情况),因此无法在训练阶段区分目标域 |
Continual
UDA | \ | 多类无标记目标域数据且不同域按照顺序到来 | 将UDA放于持续学习的问题设置之中,旨于在不断到来新域的同时避免对旧域数据的“灾难性遗忘” |
Multi-Source
UDA | 多类标记源域数据 | \ | 相比于UDA,Multi-Source UDA的提出动机是:利用更加丰富的源域数据能够进一步为目标域的无标记数据带来更可选和更高的性能提升空间,但同时也带来了更复杂的训练优化策略 |
Domain Generalization (DG) | 一般为多类标记源域数据(少数存在Single-Source) | 在训练阶段不提供任何于推理阶段接触的目标域数据 | 相比UDA更加具有挑战性,模型需要在“完全未知”的情况下在训练阶段获得能在任意测试目标域推广的模型性能 |
Source-Free
UDA | 在训练阶段不提供任何源域数据,只提供由源域数据训练而得的模型 | \ | 相比于UDA,其注重在训练阶段无法接触到源域数据的情况,而只能接触到又源域数据训练而得的pre-trained模型,这样的设置更满足类似端侧设备因存储空间受限无法存储所有源域数据的现实应用场景,但同时也更具挑战性 |
Online UDA (或Test-Time
Adaptation) | \ | 在推理过程中instance-level或batch-level地执行模型更新 | 不同于以上任何设置,Online UDA旨于让模型在“推理的过程中训练”,利用熵最小化、自监督、BN更新等策略使得模型一边推理一边能够在无标记的情况下适应新环境 |
在本系列的下一篇文章中,我们将首先具体探索DG(域泛化)的相关工作,其相比于UDA,更注重于在目标域数据完全无法获取(并非仅仅无标签)的情况下如何使模型具备更强大的鲁棒表征能力,在无法提前观测的部署环境下保持高性能。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!