GIT: la Universidad de Stanford propone un método de impulso invariante para transformaciones complejas | ICLR 2022

El documento estudia la invariancia de transformaciones complejas en conjuntos de datos de cola larga y descubre que la invariancia depende en gran medida del número de imágenes en la categoría y, de hecho, el clasificador no puede transferir la invariancia aprendida de la clase grande a la clase media pequeña. Con este fin, el documento propone un modelo de generación de GIT, que aprende transformaciones complejas que son independientes de la clase del conjunto de datos, a fin de mejorar de manera efectiva las clases pequeñas durante el entrenamiento, y el efecto general es bueno

. Fuente: Xiaofei's Algorithm Engineering Notes Official Cuenta

论文: ¿Las redes profundas transfieren invariancias entre clases?

Introducción


  Una buena generalización requiere la capacidad del modelo para ignorar detalles irrelevantes, como que el clasificador debe responder a si la imagen se dirige a un gato o un perro, no al fondo o las condiciones de iluminación. En otras palabras, la capacidad de generalización debe incluir la invariancia de las transformaciones que son complejas pero que no afectan el resultado previsto. Dadas suficientes imágenes diferentes, como el conjunto de datos de entrenamiento que contiene imágenes de gatos y perros en una gran cantidad de contextos diferentes, las redes neuronales profundas pueden aprender la invariancia. Pero si todas las imágenes de entrenamiento de la clase de perros están en el fondo de la hierba, es probable que el clasificador juzgue erróneamente al perro en el fondo de la casa como un gato, lo que suele ser un problema con los conjuntos de datos desequilibrados.
El desequilibrio de clases es común en la práctica, y muchos conjuntos de datos del mundo real siguen distribuciones de cola larga con muchas imágenes para todas las clases principales, excepto algunas, y pocas imágenes para cada una de las clases finales restantes. Por lo tanto, incluso si la cantidad total de imágenes en un conjunto de datos de cola larga es grande, puede ser difícil para el clasificador aprender la invariancia de las clases de cola. Si bien el aumento de datos de uso común puede abordar este problema al aumentar el número y la diversidad de imágenes en la clase de cola, esta estrategia no se puede usar para imitar transformaciones complejas, como cambiar el fondo de las imágenes. Es importante tener en cuenta que muchas transformaciones complejas, como los cambios de iluminación, son independientes de la clase y se pueden aplicar de manera similar a cualquier clase de imágenes. Idealmente, un modelo entrenado debería poder convertir automáticamente estos invariantes en invariantes independientes de la clase compatibles con las predicciones de la clase de cola.
El documento observa la capacidad del clasificador para transferir la invariancia aprendida entre clases a través de experimentos, y se encuentra a partir de los resultados que incluso después de estrategias de equilibrio como el sobremuestreo, la red neuronal transfiere la invariancia aprendida entre diferentes clases es pobre. Por ejemplo, en un conjunto de datos de cola larga en el que cada imagen se rota uniformemente al azar, el clasificador tiende a ser invariable en rotación para las imágenes de la clase de cabeza, pero no invariante en rotación para las imágenes de la clase de cola.
Con este fin, el documento propone un método simple para transferir la invariancia entre clases de manera más eficiente. Primero entrenamos un modelo generativo condicionado por la entrada pero independiente de la clase que captura transformaciones complejas del conjunto de datos, ocultando información de clase para fomentar la transferencia de transformación entre clases. Luego, este modelo generativo se usa para transformar la entrada de entrenamiento, de forma similar al aumento de datos de aprendizaje para entrenar un clasificador. El documento demuestra a través de experimentos que, dado que la invariancia de la clase de cola mejora significativamente, el clasificador general es más invariable ante transformaciones complejas, lo que resulta en una mejor precisión de la prueba.

Medición de la transferencia de invariancia en conjuntos de datos de clase desequilibrada


  El documento primero presenta la invariancia en escenarios desequilibrados, luego define un indicador para medir la invariancia y finalmente analiza la relación entre la invariancia y el tamaño de la categoría.

Configuración:Clasificación, Desequilibrio e Invarianzas

  definir entrada ( X , y ) (x,y) , etiqueta y y a { 1 , , C } \{1,\cpuntos,C\} , C C es el número de categorías. Definir los pesos del modelo entrenado en en , para predecir probabilidades condicionales PAGS ~ en ( y = j X ) \tilde{P}_w(y=j|x) , el clasificador seleccionará la clase con mayor probabilidad j j como salida. conjunto de entrenamiento dado { ( X ( i ) , y ( i ) ) } i = 1 N P t r a i n \{(x^{(i)}, y^{(i)})\}^N_{i=1}\sim \mathbb{P}_{tren} ,通过经验风险最小化(ERM)来最小化训练样本的平均损失。但在不平衡场景下,由于 { y ( i ) } \{y^{(i)}\} 的分布不是均匀的,导致ERM在少数类别上表现不佳。
在现实场景中,最理想的是模型在所有类别上都表现得不错。为此,论文采用类别平衡的指标来评价分类器,相当于测试分布 P t e s t \mathbb{P}_{test} y y 上是均匀的。
为了分析不变性,论文假设 x x 的复杂变换分布为 T ( x ) T(\cdot|x) 。对于不影响标签的复杂变换,论文希望分类器是不变的,即预测的概率不会改变:

Measuring Learned Invariacnes

  为了度量分类器学习不变性的程度,论文定义了原输入和变换输入之间的期望KL散度(eKLD):

  这是一个非负数,eKLD越低代表不变性程度就越高,对 T T 完全不变的分类器的eKLD为0。如果有办法采样 x T ( x ) x^{'}\sim T(\cdot|x) ,就能计算训练后的分类器的eKLD。此外,为了研究不变性与类图片数量的关系,可以通过分别计算类特定的eKLD进行分析,即将公式2的 x x 限定为类别 j j 所属。
计算eKLD的难点在于复杂变化分布 T T 的获取。对于大多数现实世界的数据集而言,其复杂变化分布是不可知的。为此,论文通过选定复杂分布来生成数据集,如RotMNIST数据集。与数据增强不同,这种生成方式是通过变换对数据集进行扩充,而不是在训练过程对同一图片应用多个随机采样的变换。
论文以Kuzushiji-49作为基础,用三种不同的复杂变换生成了三个不同的数据集:图片旋转(K49-ROT-LT)、不同背景强度(K49-BG-LT)和图像膨胀或侵蚀(K49-DIL-LT)。为了使数据集具有长尾分布(LT),先从大到小随机选择类别,然后有选择地减少类别的图片数直到数量分布符合参数为2.0的Zipf定律,同时强制最少的类为5张图片。重复以上操作30次,构造30个不同的长尾数据集。每个长尾数据集有7864张图片,最多的类有4828张图片,最小的类有5张图片,而测试集则保持原先的不变。

  训练方面,采用标准ERM和CE+DRS两种方法,其中CE+DRS基于交叉熵损失进行延迟的类平衡重采样。DRS在开始阶段跟ERM一样随机采样,随后再切换为类平衡采样进行训练。论文为每个训练集进行两种分类器的训练,随后计算每个分类器每个类别的eKLD指标。结果如图1所示,可以看到两个现象:

  • 在不同变化数据集上,不变性随着类图片数减少都降低了。这表明虽然复杂变换是类无关的,但在不平衡数据集上,模型无法在类之间传递学习到的不变性。
  • 对于图片数量相同的类,使用CE+DRS训练的分类器往往会有较低的eKLD,即更好的不变性。但从曲线上看,DRS仍有较大的提升空间,还没达到类别之间一致的不变性。

Trasnferring Invariances with Generative Models


  从前面的分析可以看到,长尾数据集的尾部类对复杂变换的不变性较差。下面将介绍如何通过生成式不变性变换(GIT)来显式学习数据集中的复杂变换分布 T ( x ) T(\cdot|x) ,进而在类间转移不变性。

Learning Nuisance Transformations from Data

  如果有数据集实际相关的复杂变换的方法,可以直接将其用作数据增强来加强所有类的不变性,但在实践中很少出现这种情况。于是论文提出GIT,通过训练input conditioned的生成模型 T ~ ( x ) \tilde{T}(\cdot|x) 来近似真实的复杂变换分布 T ( x ) T(\cdot|x)

  论文参考了多模态图像转换模型MUNIT来构造生成模型,该类模型能够从数据中学习到多种复杂变换,然后对输入进行变换生成不同的输出。论文对MUNIT进行了少量修改,使其能够学习单数据集图片之间的变换,而不是两个不同域数据集之间的变换。从图2的生成结果来看,生成模型能够很好地捕捉数据集中的复杂变换,即使是尾部类也有不错的效果。需要注意的是,MUNIT是非必须的,也可以尝试其它可能更好的方法。
在训练好生成模型后,使用GIT作为真实复杂变换的代理来为分类器进行数据增强,希望能够提高尾部类对复杂变换的不变性。给定训练输入 { ( x ( i ) , y ( i ) ) } i = 1 B \{(x^{(i)}, y^{(i)})\}^{|B|}_{i=1} ,变换输入 x ~ ( i ) T ~ ( x ( i ) ) \tilde{x}^{(i)}\gets \tilde{T}(\cdot|x^{(i)}) ,保持标签不变。这样的变换能够提高分类器在训练期间的输入多样性,特别是对于尾部类。需要注意的是,batch可以搭配任意的采样方法(Batch Sampler),比如类平衡采样器。此外,还可以有选择地进行增强,避免由于生成模型的缺陷损害性能的可能性,比如对数量足够且不变性已经很好的头部类不进行增强。

  在训练中,论文设置阈值 K K ,仅图片数量少于 K K 的类进行数据增强。此外,仅对每个batch的 p p 比例进行增强。 p p 一般取0.5,而 K K 根据数据集可以设为20-500,整体逻辑如算法1所示。

GIT Improves Invariance on Smaller Classes

  论文基于算法1进行了实验,将Batch Sampler设为延迟重采样(DRS),Update Classifier使用交叉熵梯度更新,整体模型标记为 C E + D R S + G I T ( a l l c l a s s e s ) CE+DRS+GIT(all classes) 。all classes表示禁用阈值 K K ,仅对K49数据集使用。作为对比,Oracle则是用于构造生成数据集的真实变换。从图3的对比结果可以看到,GIT能够有效地增强尾部类的不变性,但同时也损害了图片充裕的头部类的不变性,这表明了阈值 K K 的必要性。

Experiment


  不同训练策略搭配GIT的效果对比。

  在GTSRB和CIFAR数据集上的变换输出。

  CIFAR-10上每个类的准确率。

  对比实验,包括阈值 K K 对性能的影响,GTSRB-LT, CIFAR-10 LT和CIFAR-100 LT分别取25、500和100。这里的最好性能貌似都比RandAugment差点,有可能是因为论文还没对实验进行调参,而是直接复用了RandAugment的实验参数。这里比较好奇的是,如果在训练生成模型的时候加上RandAugment,说不定性能会更好。

Conclusion


  El documento estudia la invariancia de transformaciones complejas en conjuntos de datos de cola larga y descubre que la invariancia depende en gran medida del número de imágenes en la categoría y, de hecho, el clasificador no puede transferir la invariancia aprendida de la clase grande a la clase media pequeña. Con este fin, el documento propone un modelo de generación de GIT, que aprende transformaciones complejas independientes de la clase del conjunto de datos, para mejorar de manera efectiva las clases pequeñas durante el entrenamiento, y el efecto general es bueno.



Si este artículo es útil para usted, haga clic en Me gusta o mírelo
. Para obtener más información, preste atención a la cuenta pública de WeChat [Notas de ingeniería de algoritmos de Xiaofei]

Supongo que te gusta

Origin juejin.im/post/7121571917164707854
Recomendado
Clasificación