Single domain generalization (SDG) aims to train a robust model against unknown target domain shifts using data from a single source domain. Data augmentation has been proven an effective approach to SDG. However, the utility of standard augmentations, such as translate, or invert, has not been fully exploited in SDG; practically, these augmentations are used as a part of a data preprocessing procedure. Although it is intuitive to use many such augmentations to boost the robustness of a model to out-of-distribution domain shifts, we lack a principled approach to harvest the benefit brought from multiple these augmentations. Here, we conceptualize standard data augmentations with learnable parameters as semantics transformations that can manipulate certain semantics of a sample, such as the geometry or color of an image. Then, we propose Adversarial learning with Semantics Transformations (AdvST) that augments the source domain data with semantics transformations and learns a robust model with the augmented data. We theoretically show that AdvST essentially optimizes a distributionally robust optimization objective defined on a set of semantics distributions induced by the parameters of semantics transformations. We demonstrate that AdvST can produce samples that expand the coverage on target domain data. Compared with the state-of-the-art methods, AdvST, despite being a simple method, is surprisingly competitive and achieves the best average SDG performance on the Digits, PACS, and DomainNet datasets. Our code is available at https://github.com/gtzheng/AdvST.
翻译:单域泛化(SDG)旨在利用单一源域数据训练出能够抵抗未知目标域偏移的鲁棒模型。数据增强已被证明是解决SDG问题的有效途径。然而,平移、反转等标准增强方法在SDG中的效用尚未被充分挖掘——实际应用中,这些增强通常仅作为数据预处理流程的一部分。虽然直觉上使用多种此类增强可提升模型对分布外域偏移的鲁棒性,但学界仍缺乏系统化的方法来整合这些增强带来的益处。本文首先将带有可学习参数的标准数据增强概念化为语义变换,这些变换能够操控样本的特定语义属性(如图像的几何结构或颜色)。据此,我们提出基于语义变换的对抗学习(AdvST),该方法通过语义变换增强源域数据,并利用增强后的数据训练鲁棒模型。理论证明,AdvST本质上是优化一个定义在语义变换参数诱导的语义分布集合上的分布鲁棒优化目标。实验表明,AdvST生成的样本能有效扩大对目标域数据的覆盖范围。与当前最优方法相比,AdvST尽管方法简洁,却展现出惊人的竞争力,在Digits、PACS和DomainNet数据集上取得了最佳的平均SDG性能。我们的代码开源在https://github.com/gtzheng/AdvST。