Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部专栏

CVPR 2022 | CNN自监督预训练新SOTA:上交、Mila、字节联合提出具有层级结构的图像表征自学习新框架

来自上海交通大学、Mila 魁北克人工智能研究所以及字节跳动的研究者提出了一种具有层级语义结构的自监督表征学习框架,在 ImageNet 数据集上预训练的模型在多个下游任务中取得了 SOTA 性能。

层级结构无处不在,自然界中存在「界 - 门 - 纲 - 类 - 科 - 属 - 种」这样的层级关系, 大规模自然图像数据集中也天然存在。例如,ImageNet 数据集的类别标签本身就是基于 WordNet 层级形成的, 我们总是可以「刨根问底」地找到某个类别的「父类」。举例而言,拉布拉多犬是一种犬类,而犬类又是一种哺乳动物。这就形成了拉布拉多犬 -> 犬类 -> 哺乳动物的层级关系。
近年来, 计算机视觉领域涌现出一大批有效的自监督预训练模型,如 NPID、SimCLR、MoCo 等,它们能够从大规模数据集中通过自监督的方式学习潜在的图像语义表征,从而提升预训练模型在各项下游任务(如物体分类、目标检测语义分割)的迁移性能。

这些自监督预训练框架通常基于对比学习实现. 对比学习通过定义正负样本对,并在表征空间中最大化正样本对之间的相似度而最小化负样本对之间的相似度, 从而达到「同类相吸、异类互斥」的目的。在不可获得分类标签的情况下,NPID、MoCo、SimCLR 通过实例判别 (Instance Discrimination) 任务,将同一图像经过不同随机数据增强后作为正样本对,而将不同图像作为负样本对,从而学习对数据增强具有不变性的图像表征。

然而, 现有的自监督对比学习框架存在两个问题:
  • 缺乏对上述层级语义结构的建模;

  • 负样本对的定义可能存在噪声:随机选择的两张图像可能属于相同类别。

针对这两个问题,来自上海交通大学、Mila 魁北克人工智能研究所和字节跳动的研究者提出了一种基于层级语义结构的选择性对比学习框架(Hiearchical Contrastive Selective Coding,HCSC)。

  • 论文地址: https://arxiv.org/abs/2202.00455

  • 项目地址: https://github.com/gyfastas/HCSC

这一框架通过将图像表征进行层级聚类,构造具有层级结构的原型向量 (hierarhcical prototypes),并通过这些原型向量选择更加符合语义结构的负样本进行对比学习, 由此将层级化的语义信息融入到图像表征中。该自监督学习框架在多个下游任务中达到卷积神经网络自监督预训练方法的 SOTA 性能。

方法
该工作的方法论框架包含两个重要的模块: 一个是层级语义结构的构建与维护, 另一个是基于层级语义结构的选择性对比学习。

层级语义表征

研究者注意到,层级语义结构天然可以通过树状结构来描述:如果将树中的某个节点认为是一个语义类别, 则父节点可以认为是它的上层类别,例如「拉布拉多犬」的父节点可以认为是「犬类」,而其兄弟节点可以包括「贵宾犬」、「萨摩犬」等。这样的树状结构显然具备一个性质:同一父节点的两个子节点必然也共享更上层的祖先节点,例如「贵宾犬」与「萨摩犬」同为犬类, 它们也同为哺乳动物。

那么,如何在图像的表征空间中构建这样的树状结构呢?在缺少类别标签的无监督场景中,可以通过对图像特征聚类的方式获得图像的潜在语义类别。聚类中心则可以被认为是代表着某种语义类别的「原型向量」,基于自底向上的层级聚类思想, 在这些聚类中心的基础上进一步进行聚类则可以得到更高层级的潜在语义类别。在这一过程中, 语义类别的树状结构自然地得以维护:在某层聚类中为相同类别的图像,在上层中仍然保持为相同类别。

在实现过程中, 该研究采用了简单有效的自底向上层级 K-means 算法, 具体算法流程如下:
在该训练框架中,每进行一轮学习后,由于网络参数的更新,图像的表征也随之更新。

因此,在每个训练epoch之前, 均通过当前的网络参数提取整个数据集的图像表征,对提取到的图像表征应用如上所述的层级 K-means 算法得到一系列具有树状结构的层级原型, 这些层级原型将在接下来的训练过程中用于指导对比学习的样本选择,从而将层级化的语义信息融入到图像表征中。

选择性对比学习

在得到了一系列具备层级结构、潜在地表征某一类别的原型向量后, 可以基于这些原型向量选择更加符合语义结构的对比学习样本. 
  • 选择性实例对比学习

首先,我们简要回顾一下自监督对比学习的基本原理。对比学习的目的可以概括为实现「同类相吸」、「异类互斥」。在不考虑原型向量的情况下, 基于实例的对比学习通过定义正负样本对, 并在表征空间中最大化正样本对之间的相似度而最小化负样本对之间的相似度来实现上述目的。

此前的方法 (如 NPID、MoCo 等) 将同一图像经过不同随机数据增强后的版本作为正样本对,而将不同图像作为负样本对。这样的方式存在一个关键的问题:所选择的负样本对可能属于相同类别,从而使得相同类别的样本在表征空间中互相远离,这将在某种程度上破坏模型所学习到的表征有效性。

出现这一问题的根本原因在于没有额外的类别信息指导对负样本的选择。如果我们知道类别信息,则可以将同类负样本剔除 (这些同类负样本也可以称为假负样本),从而避免带来梯度噪声。在自监督的情况下,虽然没有准确的类别信息,但我们通过此前的层级聚类过程得到了一系列聚类标签。在这些聚类标签的帮助下, 可以近似地达到剔除假负样本的目的:如果一对样本属于相同的聚类中心, 则从负样本对中剔除即可。

更进一步地,考虑到聚类标签的不确定性,该研究通过接受 - 拒绝采样的方式对负样本进行选择。对于一个图像表征z,层级聚类的结果可以导出该图像在第l层所属的聚类中心(其中s(·)是相似度函数,在该研究中通过 cosine 相似度实现);这一聚类中心代表了该图像在这一层中所属的类别。接下来,对于候选负样本,它被选择的作为负样本的概率为:
直观而言, 一个候选负样本被选择的概率可以近似被描述为「与目标样本属于不同聚类中心的概率」经过选择过程后, 更高质量的负样本集 将被用于计算 InfoNCE 损失. 在多个层级聚类中心指导下, 最终的选择性实例对比学习 (Instance-wise Contrastive Selective Coding, ICSC) 的损失函数为:
  • 选择性原型对比学习

除了用于指导实例间的对比学习,层级原型还可用于辅助原型对比学习。原型对比学习是图像表征与聚类中心之间的交互,可以简单总结为在表征空间中最大化图像表征与其所属的聚类中心的相似度。

同样地,如果通过随机采样的方式形成负原型集合 N_c,那么其中也可能存在与聚类中心 c 语义相近的原型 (例如 c 的兄弟节点):如果某张图像是萨摩犬,选择相似的种类例如拉布拉多犬作为负例进行对比学习并不是一个好选项。而层级结构的存在为选择合理的对比原型提供了一个解决方案:与此前选择对比样本类似,我们只需要计算某一候选原型与目标原型的父节点的相似度,即可选择与目标原型大概率不是近似类别的原型,从而避免可能带来噪声的对比原型。具体而言, 某个聚类中心c_j被选择作为对比原型的概率为:
类似地, 这一概率可以被描述为「某一原型与目标原型属于不同父类的概率」。基于经过选择后的负原型集合,选择性原型对比学习损失被定义为:
最后, 我们将两种改进后的对比学习损失进行组合得到最终的优化目标:
实验结果

主要结果

研究者们在 ImageNet-1k 线性分类、KNN、半监督学习以及跨数据集的迁移学习 (包括在 VOC、COCO 数据集的目标检测任务以及在 VOC、Places205 数据集的分类任务) 的实验设置下与基于 CNN 架构的 SOTA 方法进行了对比,HCSC 在多个任务中均取得了出色的效果。

不同训练配置下模型性能对比:
更多下游任务的性能对比:
可视化

除了量化实验,该论文还给出了直观的可视化结果。研究者们展示了 HCSC 在 ImageNet 上的聚类结果,在下图中可以明显地看出存在层级结构:叼着鱼的灰熊 => 在水上的熊或者狗 => 在水上的动物。
另外一个例子, 研究者们展示了一个经典的语义树状结构:

除了层级结构可视化,研究者们也展示了 HCSC 训练过程中删除的「假负样本」:例如对其中一个鸟类样本,删除的对比负样本也大部分为鸟类。
消融实验

研究者们还做了充分的消融实验来验证了所提出的层级原型和样本选择模块的有效性, 以及对每层原型数量选择的对比实验。可见:

1. 层级原型、实例样本选择、原型样本选择模块的有效性都得到了验证,可以分别在 baseline (67.6)的基础上有效涨点 (67.6 => 68.9 => 69.2),其中效果最明显的是实例样本选择模块。
2. 在原型数量相同的情况下,带有层级结构的原型 (3000-2000-1000) 比单层原型 (6000) 取得更优的性能。这也印证了层级原型的有效性。另一方面,模型对进一步增加层级数以及各层原型的数量不敏感。

一作介绍
  • 郭远帆: 上海交通大学电子系二年级硕士生, 导师为徐奕副研究员. 他本科就读于上海交通大学, 本科期间主要研究方向为计算机视觉、医学影像处理, 在MICCAI、ISBI、Neurocomputing等会议与期刊中以第一作者/共同第一作者身份发表论文三篇. 硕士期间研究方向为计算机视觉自监督学习, 在字节跳动实习期间完成该研究工作。

  • 徐明皓,Mila 魁北克人工智能研究所一年级博士生,导师是唐建教授,主要研究方向是图表征学习、图像表征学习和药物发现。他本科和硕士就读于上海交通大学,在上海交大计算机视觉实验室进行科研工作,导师是倪冰冰教授,期间的主要研究方向为迁移学习和视觉计算。他在 NeurIPS、ICML、CVPR、ICCV、ECCV 等会议上以第一作者 / 共同第一作者身份发表论文七篇。

理论字节跳动MILA上海交通大学图像表征自学习自监督预训练CNN
1
相关数据
字节跳动机构

北京字节跳动科技有限公司成立于2012年,是最早将人工智能应用于移动互联网场景的科技企业之一,是中国北京的一家信息科技公司,地址位于北京市海淀区知春路甲48号。其独立研发的“今日头条”客户端,通过海量信息采集、深度数据挖掘和用户行为分析,为用户智能推荐个性化信息,从而开创了一种全新的新闻阅读模式

https://bytedance.com
半监督学习技术

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

表征学习技术

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

WordNet技术

WordNet是由普林斯顿大学心理学家、语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典。它不是光把单词以字母顺序排列,而是按照单词的意义组成一个“单词的网络”。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

自监督学习技术

一个例子中的内容特别多,而用一个例子做一个任务,就等于把其他的内容浪费了,因此我们需要从一个样本中找出多个任务。比如说遮挡图片的一个特定部分,用没遮挡部分来猜遮挡的部分是一个任务。那么通过遮挡不同的部分,就可以用一个样本完成不同任务。Yann Lecun描述的这个方法被业界称作「自监督学习」

迁移学习技术

迁移学习 是属于机器学习的一种研究领域。它专注于存储已有问题的解决模型,并将其利用在其他不同但相关问题上。比如说,用来辨识汽车的知识(或者是模型)也可以被用来提升识别卡车的能力。计算机领域的迁移学习和心理学常常提到的学习迁移在概念上有一定关系,但是两个领域在学术上的关系非常有限。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

暂无评论
暂无评论~