ICCV 2023|通用数据增强技术,随机量化适用于任意数据模态
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
极市导读
本文提出了一种适用于任意数据模态的自监督学习数据增强技术。
自监督学习算法在自然语言处理、计算机视觉等领域取得了重大进展。这些自监督学习算法尽管在概念上是通用的,但是在具体操作上是基于特定的数据模态的。这意味着需要为不同的数据模态开发不同的自监督学习算法。为此,本文提出了一种通用的数据增强技术,可以应用于任意数据模态。相较于已有的通用的自监督学习,该方法能够取得明显的性能提升,同时能够代替一系列为特定模态设计的复杂的数据增强方式并取得与之类似的性能。
论文地址:https://arxiv.org/abs/2212.08663
代码:https://github.com/microsoft/random_quantize
简介
当前 Siamese 表征学习 / 对比学习需要利用数据增强技术来构建同一个数据的不同样本,并将其输入两个并行的网络结构,从而产生足够强的监督信号。然而这些数据增强技术往往非常依赖于模态特定的先验知识,通常需要手动设计或者搜索适用于当前模态的最佳组合。除了耗时耗力外,找到的最优数据增强方式也极难迁移到别的领域。例如,常见的针对于自然 RGB 图像的颜色抖动(color jittering)无法应用于除了自然图像以外的其他数据模态。
一般性地,输入数据可以被表征为由序列维度(sequential)和通道维度(channel)组成的二维向量。其中序列维度通常是模态相关的,例如图像上的空间维度、语音的时间维度以及语言的句法维度。而通道维度是模态无关的。在自监督学习中,masked modeling [1] 或者以 masking 作为数据增强 [2] 已经成为一种有效的学习方式。然而这些操作都作用于序列维度。为了能够广泛应用于不同数据模态,本文提出一种作用于通道维度的数据增强手段:随机量化(randomized quantization)。每个通道中的数据通过非均匀量化器进行动态量化,量化值是从随机划分的区间中随机采样的。通过这种方式,落在同一个区间内原始输入的信息差被删除,同时不同区间数据的相对大小被保留,从而达到 masking 的效果。
该方法在各种不同数据模态上超过了已有任意模态自监督学习方法,包括自然图像、3D 点云、语音、文本、传感器数据、医疗图像等。在多种预训练学习任务中,例如对比学习(例如 MoCo-v3)和自蒸馏自监督学习(例如 BYOL)都学到了比已有方法更优的特征。该方法还经过验证,适用于不同的骨干网络结构,例如 CNN 和 Transformer。
方法
量化(Quantization)指的是利用一组离散的数值表征连续数据,以便于数据的高效存储、运算以及传输。然而,一般的量化操作的目标是在不损失精确度的前提下压缩数据,因而该过程是确定性的,而且是设计为与原数据尽量接近的。这就限制了其作为增强手段的强度和输出的数据丰富程度。
本文提出一种随机量化操作 (randomized quantization) , 将输入的每个 channel 数据独立划分 为多个互不重叠的随机区间( eg. ,并将落在各个区间内的原始输入映射到从 该区间内随机采样的一个常数 。
随机量化作为自监督学习任务中 masking 通道维度数据的能力取决于以下三个方面的设计:1) 随机划分数值区间;2) 随机采样输出值以及 3)划分的数值区间个数。
具体而言,随机的过程带来了更加丰富的样本,同一个数据每次执行随机量化操作都可以生成不同的数据样本。同时,随机的过程也带来对原始数据更大的增强力度,例如随机划分出大的数据区间,或者当映射点偏离区间中值点时,都可以导致落在该区间的原始输入和输出之间的更大差异。
除此之外,也可以非常容易地通过适当减少划分区间的个数,提高增强力度。这样,当应用于 Siamese 表征学习的时候,两个网络分支就可以见到有足够信息差异的输入数据,从而构建足够强的学习信号,帮助到特征学习。
下图可视化了不同数据模态在使用了该数据增强方式之后的效果:
实验结果
模态 1:图像
本文在 ImageNet-1K 数据集上评估了 randomized quantization 应用于 MoCo-v3 和 BYOL 的效果,评测指标为 linear evaluation。当作为唯一的数据增强方式单独使用的时候,即将本文的 augmentation 应用于原始图像的 center crop,以及和常见的 random resized crop(RRC)配合使用的时候,该方法都取得了比已有通用自监督学习方法更好的效果。
相比于已有的针对图像数据开发的数据增强方式,例如 color jittering (CJ),本文的方法有着明显的性能优势。同时,该方法也可以取代 MoCo-v3/BYOL 中一系列复杂的数据增强方式(Full),包括颜色抖动(color jittering)、随机灰度化(gray scale)、随机高斯模糊(Gaussian blur)、随机曝光(solarization),并达到与复杂数据增强方式类似的效果。
模态 2:3D 点云
本文还在 ModelNet40 数据集的分类任务和 ShapeNet Part 数据集的分割任务上验证了 randomized quantization 相对于已有自监督工作的优越性。尤其在下游训练集数据量较少的情况下,本文的方法显著超过已有点云自监督算法。
模态 3:语音
在语音数据集上本文的方法也取得了比已有自监督学习方法更优的性能。本文在六个下游数据集上验证了该方法的优越性,其中在最难的数据集 VoxCeleb1 上(包含最多且远超其他数据集的类别个数),本文方法取得了显著的性能提升(5.6 个点)。
模态 4:DABS
DABS 是一个模态通用自监督学习的基准,涵盖了多种模态数据,包括自然图像、文本、语音、传感器数据、医学图像、图文等。在 DABS 涵盖的多种不同模态数据上,我们的方法也优于已有的任意模态自监督学习方式。
感兴趣的读者可以阅读论文原文,了解详细的研究内容。
参考文献:
[1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018. 1, 2
[2] Zhirong Wu, Zihang Lai, Xiao Sun, and Stephen Lin. Ex- treme masking for learning instance and distributed visual representations. arXiv preprint arXiv:2206.04667, 2022. 1
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲 在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~