BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning

BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning

paper:https://arxiv.org/pdf/2203.01522.pdf
code:https://github.com/zhihou7/BatchFormer

摘要

由于数据不平衡、不可见分布和域转移等数据稀缺问题,深度表示学习仍面临许多挑战。为了解决上述问题,已经设计了多种方法从输入或损失函数的角度探索样本关系,但未能探索用于利用样本之间关系进行学习的深度神经网络的内部结构。本文引入了一个batchformer模块,然后将其应用到每个mini-batch的批维度中,以隐式地探索训练期间的样本关系。头类样本也可以有助于学习用于长尾识别的尾类。为了缓解训练和测试之间的差距,我们在训练期间使用batchformer以及共享分类器,因此可以在测试期间移除batchformer。所提出的方法在不同的数据稀缺性应用中取得了显著的改进,而无需增加任何繁琐的工作。

介绍

深度学习的成功很大程度上依赖于收集大规模训练数据样本,通过探索样本关系来解决数据的稀缺性引起了研究的关注,特别是对于没有良好训练数据来保证泛化的任务,如长尾识别、无样本学习和域泛化。
将共享知识从头部/可见类转移到尾部/不可见类可以促进长尾/五样本学习。此外,探索属于同一类别的图像之间的不变特征也有助于使用少量样本进行鲁棒表示学习。
BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning_第1张图片
在处理数据稀缺性方法中,使用正则化或知识转移的显式方案对样本进行了深入探索,一般都使用最简单的方法来自现有训练数据的数据增强,另一种方法实在数据样本之间传递信息。然而上述方法未能使深度神经网络本身具有探索样本关系的能力。
我们尝试通过在批次维度中引入一个transformer来捕获和建模每个mini-batch训练数据样本中的样本关系,我们将其称为batchformer。此外,为了缓解训练和测试之间的差距,我们在batchformer模块之前和之后使用共享分类器来实施批不变学习。batchformer模块仅在训练期间需要,不需要改变深度神经网络的推理结构。
所有样本都有助于对任何对象类别的学习,隐式地丰富了当前训练样本,其中包含来自整个mini-batch的幻觉特征(例如,两个类别之间的共享部分)。例如,在长尾巴识别中,幻觉特征可以改善尾巴类的特征空间。同时,损失函数还通过在小批量中的其他特征上传播更大的稀有类梯度来强调稀有类。
本文的主要贡献有:

  1. 从深度神经网络的内部结构的角度来探索样本关系
  2. 设计了一个简单而有效的模块,称为BatchFormer,它是一个即插即用模块,用于探索每个mini-batch中的样本关系
  3. 进行了广泛的实验,以证明BatchFormer在各种视觉识别任务中的有效性

相关工作

样本关系

数据稀缺学习

对比自监督学习

方法

概述

在现有的方法中,样本关系通常需要在显式的方案中定义,无法自动学习样本关系。
BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning_第2张图片本文旨在使深度神经网络本身能够在端到端深度表示学习期间从每个mini-batch样本学习样本关系。
首先使用backbone学习单个数据样本的表示,引入一个新模块,通过使用transformer中的交叉关注机制来建模不同样本之间的关系,然后将BatchFormer的输出用作最终分类器的输入。为了弥补训练和测试之间的差距,我们还在批处理器模块之前使用了一个辅助分类器,即通过共享最终分类器和辅助分类器之间的权重,我们能够将从样本关系中学习的知识传递到主干和辅助分类器。因此,在测试过程中,我们可以删除批处理器,直接使用辅助分类器进行分类。

BatchFormer

BatchFormer模块利用多个transformer encoder来建模不同样本之间的关系。
transformer encoder包括多头自注意力和多层感知机模块,transformer encoder输出如下:
在这里插入图片描述
多头注意力机制广泛用于从通道和空间维度建模关系,本文认为也可以扩展到探索mini-batch之间的关系,与transformer层的典型用法不同,BatchFormer的输入将首先被resize,以使transformer的层能够在输入数据的批次维度上工作。通过这样做,变压器层中的自关注机制就变成了BatchFormer不同样本之间的交叉关注。
除了最终分类器外,我们还引入了一种新的辅助分类器,不仅可以从最终分类器学习,而且可以与批处理器之前的特征保持一致。为了实现这一点,我们只需在辅助分类器和最终分类器之间共享参数/权重。我们将这种简单而有效的策略称为“共享分类器”。通过提出的“共享分类器”,我们可以在测试过程中删除BatchFormer模块,同时仍然受益于使用BatchFormer的样本关系学习。
BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning_第3张图片

BatchFormer: 梯度视角

BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning_第4张图片
在没有BatchFormer的情况下,所有损失只会在相应的样本和类别上传播梯度,BatchFormer通过交叉关注模块从样本的邻近分布中隐式获得样本关系。
在这里插入图片描述
隐式获得样本关系的虚拟样本对于尾部类非常有用,因为这些类缺少样本。

实验

BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning_第5张图片
BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning_第6张图片
BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning_第7张图片

你可能感兴趣的:(目标检测,人工智能,深度学习,机器学习)