领域泛化
领域泛化(Domain Generalization)是机器学习和计算机视觉中的一个重要概念,它指的是模型能够从一个或多个源领域(source domains)学习到的知识或模式,成功地应用到与训练时未见过的目标领域(target domain)上,即使这些领域之间存在分布差异。简单来说,领域泛化就是希望模型能够“举一反三”,不仅限于在特定数据集或特定环境下表现良好,而是能够跨越不同的环境或数据集依然保持稳定的性能。
领域泛化问题并非空穴来风,而是有很强的现实背景。例如,在特定的医疗应用中,由于进行手术这一操作的昂贵和不可重复性,我们无法收集到足够多的手术数据;在老人日常的跌倒检测问题中,真实的跌倒数据无法通过大量实验来收集,更不必说需要收集所有年龄的老人跌倒数据;在跨数据的行为识别场景中,无法收集到所有位置情况下的传感器数据。这些真实的应用启发我们要构建一个具有强泛化能力的模型以便在不同的应用场景中部署。
以PACS数据集为例介绍领域泛化问题。训练集包含若干来自三个领域的数据:简笔画(sketch)、卡通画(cartoon)、以及艺术画(art painting)。领域泛化要求我们只依赖给定的三个领域数据训练出有强泛化能力的模型,以便在未知的领域“如照片(photos)]上具有好的表现图。
一、定义
领域泛化(Domain generalization)给定M个训练的源领域数据 S t r a i n = S i ∣ i = 1 , … , M S_{train} = {S^i | i = 1,…,M} Strain=Si∣i=1,…,M,其中第i个领域数据被表示为 S i = { ( x j i , y j i ) } j = 1 n i S^i=\{ {(x^i_j,y^i_j)}\}^{n_i}_{j=1} Si={ (xji,yji)}j=1ni。这些源领域数据分布各不相同: P X Y i