摘要:该论文将同一图像不同视角图像块内的语义一致的图像区域视为正样本对,语义不同的图像区域视为负样本对。

本文分享自华为云社区《[NeurIPS 2022]基于语义聚合的对比式自监督学习方法》,作者:Hint 。

1.研究背景

近些年来,利用大规模的强标注数据,深度神经网络在物体识别、物体检测和物体分割任务中取得巨大进展。然而,强标注数据耗时又耗力。为此,自监督学习方法提出从大量的无标注数据中学习出高效的特征编码器,然后利用该特征编码器在小规模数据上进行强监督训练,以此达到和在大规模强标注数据上训练的模型相当的性能。基于对比式自监督学习方法的出发点为:从不同视角来观察图像,将来自同一图像的不同视角的图像块视为正样本对,来自不同图像的图像块视为负样本对,通过拉近正样本对的特征的距离,拉远负样本对的特征的距离来监督特征编码器的学习。

然而,以上方法的基本假设(正样本对,即同一图像的不同视角的图像块,具有相同的语义)在以物体为中心的数据集(ImageNet)中成立,在以场景为中心的数据集(同一图像中包含多个物体,如COCO)中难以成立。为此,该论文将同一图像不同视角图像块内的语义一致的图像区域视为正样本对,语义不同的图像区域视为负样本对。

2.方法

本文方法和MoCo的框架类似,不同的是,本文将每类物体定义为一个可学习的类别向量S,根据类别向量S和图像特征图的每个位置计算相识度,聚合图像中同一类别的特征,然后将聚合后的类别特征构成正负样本对来进行对比训练学习。具体的网络结构如图1所示,其步骤包括:

  1. 同一图像经过数据增强得到不同的视角图像块,并分别输入图像编码器得到特征图;
  2. 将类别特征向量S和图像特征图计算每个位置的相似度,并根据相似度聚合得到图像中每个类别的特征;
  3. 得到两个视角下的聚合的类别特征后,拉近同类别特征间的距离,拉远不同类别特征之间的距离;
  4. 与此同时,拉近两个视角下,重叠图像区域的特征间的距离。

经过迭代训练后,图像特征编码器能够建模不同类别之间的语义特征,使得图像编码器更鲁棒。

图1:SlotCon的流程图

3.实验结果:

主要实验结果如下表所示,可以看出,无论在目标检测还是分割任务上,该方法高出当前Image-level和Pixel-level的方法许多,证明了基于Object/Group-level的方法的优越性。另外,和Object/Group-level的方法相比,能够高出SOTA方法1.0%左右,表明了本文中可学习语义聚合方法的优势。

图2展示了无监督分割的定量和定性结果,该方法在此任务上取得不错性能。其mIoU值高出当前无监督分割方法3.92%。

图2:无监督语义分割

图3展示了类别向量S和图像特征之间的相似度。可以看出,学习出的类别向量和图像中相应类别物体具有较高的相似度,说明图像特征编码器编码了较高的语义特征。

图3:类别特征向量S和图像特征间的相似度,红色区域为相似度较高区域

论文链接:[2205.15288] Self-Supervised Visual Representation Learning with Semantic Grouping (arxiv.org)

点击关注,第一时间了解华为云新鲜技术~

NeurIPS 2022:基于语义聚合的对比式自监督学习方法的更多相关文章

  1. 知识图谱顶会论文(ACL-2022) ACL-SimKGC:基于PLM的简单对比KGC

    12.(2022.5.4)ACL-SimKGC:基于PLM的简单对比KGC 12.(2022.5.4)ACL-SimKGC:基于PLM的简单对比KGC 摘要 1.引言 2.相关工作 2.1 知识图补全 ...

  2. 基于语义感知SBST的API场景测试智能生成

    摘要:面对庞大服务接口群,完备的接口测试覆盖和业务上下文场景测试看护才有可能保障产品服务的质量和可信.如果你想低成本实现产品和服务的测试高覆盖和高质量看护,这篇文章将为你提供你想要的. 本文分享自华为 ...

  3. 基于NodeJS的全栈式开发

    前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的 NodeJS,试 ...

  4. (转)也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)

    原文链接:http://ued.taobao.org/blog/2014/04/full-stack-development-with-nodejs/ 随着不同终端(pad/mobile/pc)的兴起 ...

  5. 也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)

    前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的NodeJS,试图 ...

  6. 任务驱动,Winform VS WEB对比式学习.NET开发系列第一篇------身份证解析(不断更新的WEB版本及Winform版本源码)

    一 本系列培训随笔适用人群 1. 软件开发初学者 2. 有志于转向Web开发的Winform程序员 3. 想了解桌面应用开发的Web程序员 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分 ...

  7. 基于NodeJS的全栈式开发(基于NodeJS的前后端分离)

    也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离) 前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们 ...

  8. 任务驱动,对比式学习.NET开发系列之开篇------开源2个小框架(一个Winform框架,一个Web框架)

    一 源码位置 1. Winform框架 2. web框架 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分人学习软件开发技术是通过看书,看视频,听老师上课的方式.这些方式有一个共同点即按知 ...

  9. 从基于 SQL 的 CURD 操作转移到基于语义 Web 的 CURD 操作

    中文名称 CURD 含义 数据库技术中的缩写词 操作对象 一般的项目开发的各种参数 作用 用于处理数据的基本原子操作     它代表创建(Create).更新(Update).读取(Retrieve) ...

  10. 基于GPS数据建立隐式马尔可夫模型预测目的地

    <Trip destination prediction based on multi-day GPS data>是一篇在2019年,由吉林交通大学团队发表在elsevier期刊上的一篇论 ...

随机推荐

  1. vue3基础

    什么是CDN? 内容分发网络--通过相互链接的网络系统,利用最靠近用户的服务器,更快更可靠的发送给用户. vue的cdn引入 method中的函数为什么不能用this? this的主要使用是来获取da ...

  2. 通用 HTTP 签名组件的另类实现

    1.初衷 开发中经常需要做一些接口的签名生成和校验工作,最开始的时候都是每个接口去按照约定单独实现,久而久之就变的非常难维护,因此就琢磨怎么能够写了一个比较通用的签名生成工具. 2.思路 采用链式调用 ...

  3. Linux make编译

    安装问题 linux编译流程 linux开发部分 一般来说著名的linux系统基本上分两大类: RedHat系列:Redhat.Centos.Fedora等 Debian系列:Debian.Ubunt ...

  4. 驱动开发:通过Async反向与内核通信

    在前几篇文章中给大家具体解释了驱动与应用层之间正向通信的一些经典案例,本章将继续学习驱动通信,不过这次我们学习的是通过运用Async异步模式实现的反向通信,反向通信机制在开发中时常被用到,例如一个杀毒 ...

  5. SQL基础语句入门

    SQL语句入门 起因 学校开设数据库相关的课程了,打算总结一篇关于基础SQL语句的文章. SQL介绍 SQL最早版本是由IBM开发的,一直发展到至今. SQL语言有如下几个部分: 数据定义语言DDL: ...

  6. Docker | 使用dockerfile生成镜像,清理docker空间

    用dockerfile生成镜像并挂载数据卷 编写dockerfile文件 创建dockerfile01 文件 # 基础镜像 FROM centos VOLUME ["volume01&quo ...

  7. RAID5 IO处理之replace代码详解

    1 作用 从字面意思理解,replacement即是替换.我们知道硬盘都有一定的使用寿命,可以在硬盘失效之前通过该功能将就盘的数据迁移至新盘.因为replacement的流程是从旧盘中读出数据直接写入 ...

  8. 自己动手写线程池——向JDK线程池进发

    自己动手写线程池--向JDK线程池进发 前言 在前面的文章自己动手写乞丐版线程池中,我们写了一个非常简单的线程池实现,这个只是一个非常简单的实现,在本篇文章当中我们将要实现一个和JDK内部实现的线程池 ...

  9. Springboot 一行代码实现文件上传 20个平台!少写代码到极致

    大家好,我是小富~ 技术交流,公众号:程序员小富 又是做好人好事的一天,有个小可爱私下问我有没有好用的springboot文件上传工具,这不巧了嘛,正好我私藏了一个好东西,顺便给小伙伴们也分享一下,d ...

  10. 14.api根路由

    我们可以通过使用超链接来提高我们APi的内聚力和可发现性   一.为我们的API创建一个根路径 我们的视图有很多个url,但是没有一个入口点,可以使用@api_view创建一个根路径 #views.p ...