©作者 | 机器之心编辑部

来源 | 机器之心

来自上海交通大学、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 等会议上以第一作者 / 共同第一作者身份发表论文七篇。

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

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

  1. CVPR 2022 | CNN自监督预训练新SOTA!上交等联合提出HCSC:具有层级结构的图像表征自学习新框架...

    来源丨机器之心 编辑丨极市平台 层级结构无处不在,自然界中存在「界 - 门 - 纲 - 类 - 科 - 属 - 种」这样的层级关系, 大规模自然图像数据集中也天然存在.例如,ImageNet 数据集的 ...

  2. #今日论文推荐#CVPR 2022 | 只需要一组预训练参数,所有恶劣天气一次解决

    #今日论文推荐#CVPR 2022 | 只需要一组预训练参数,所有恶劣天气一次解决 最近CVPR'22的文章已经放出来了,发现了这篇能够一次解决所有恶劣天气的算法,相当有趣以及新颖,因此整理下来分享给 ...

  3. CVPR 2022 Oral | 视频文本预训练新SOTA!港大腾讯推出基于多项选择题的借口任务...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 转载自:机器之心 | 作者:香港大学.腾讯ARC Lab 本文提出 ...

  4. CVPR 2022 | GEN-VLKT:基于预训练知识迁移的HOI检测方法

    近日,阿里巴巴大淘宝技术多媒体算法团队与计算机视觉青年学者刘偲教授团队合作论文:<GEN-VLKT: Simplify Association and Enhance Interaction U ...

  5. 时序动作定位 | 面向时序行为定位任务的无监督预训练

    ​论文链接:https://arxiv.org/abs/2203.13609 代码地址:https://github.com/zhang-can/UP-TAL 主要贡献: 首次面向时序行为定位任务进行 ...

  6. NeurIPS 2022|南大腾讯提出VideoMAE:视频自监督预训练新范式

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 作者丨童湛   腾讯AI Lab 研究员 来源丨https://z ...

  7. CVPR 2021 华南理工和微信的Transformer:UP-DETR无监督预训练检测器

    点击上方"机器学习与生成对抗网络",关注星标 获取有趣.好玩的前沿干货! 作者:飞奔的啦啦啦   知乎 https://www.zhihu.com/question/4323211 ...

  8. CVPR 2021 Oral | Transformer!UP-DETR:无监督预训练检测器

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨飞奔的啦啦啦@知乎(已授权) 来源丨知乎  编辑丨极市平台 AI博士笔记系列推荐 周志华<机器学习 ...

  9. CVPR 2021 Oral | Transformer再发力!华南理工和微信提出UP-DETR:无监督预训练检测器...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文作者:飞奔的啦啦啦   |  来源:知乎 https://zhuanlan.zhihu.com/p/31 ...

最新文章

  1. 2022-2028年中国导热硅胶行业市场研究及前瞻分析报告
  2. SpringMVC无法获取请求中的参数的问题的调查与解决(1)
  3. Material Designer的低版本兼容实现(五)—— ActivityOptionsCompat
  4. oracle 合并重复数据_三天三夜整理出来的数据库常见的面试题,让你直接拿走...
  5. step2 . day5 C语言中的结构体和枚举
  6. 第二阶段冲刺 站立会议03
  7. 伯努利数(详解 + 例题 :P3711 仓鼠的数学题)
  8. 信息学奥赛一本通(1313:【例3.5】位数问题)
  9. Numpy 之shape manipulation
  10. JN_0005:PS改变图片指定内容颜色
  11. Java基础面试题,啾啾啾~~~
  12. 关于CRM库存初始化的一点小总结
  13. 【docker】kubernetes集群一键部署包
  14. S3C2440 ADC采样光敏电阻传感器驱动
  15. 传奇私服网站php源码,传奇h5私服源码+教程
  16. 解决 googel 无法直接跳转网页打开搜索结果
  17. 疲劳检测(一)Landmark + HeadPose
  18. 手机消息同步+android屏幕镜像=电脑微信 for linux
  19. 2008车展美女车模
  20. 一世12年龄在泥土还在打,硅谷00创业毕竟开始播放!

热门文章

  1. python中index函数_详解python中的index函数用法
  2. Vue3.0 组合式 API 分析与实践
  3. java multivaluemap_java – 使用自定义值集合类型创建Commons Collections MultiValueMap
  4. 张家港职称计算机应用能力考试,2016年江苏张家港计算机应用能力考试零基础备考...
  5. The 2016 ACM-ICPC Asia China-Final Contest Promblem D
  6. Python学习笔记(三)——条件语句、循环语句
  7. 10_上午回顾数据库事务
  8. QImage 与 cv::Mat 之间的相互转换
  9. 如何用堆栈和循环结构代替递归调用--递归转换为非递归的10条军规
  10. python线程唤醒_Python 并发编程(一)之线程