NeurIPS 2022:基于语义聚合的对比式自监督学习方法
摘要:该论文将同一图像不同视角图像块内的语义一致的图像区域视为正样本对,语义不同的图像区域视为负样本对。
本文分享自华为云社区《[NeurIPS 2022]基于语义聚合的对比式自监督学习方法》,作者:Hint 。
1.研究背景
近些年来,利用大规模的强标注数据,深度神经网络在物体识别、物体检测和物体分割任务中取得巨大进展。然而,强标注数据耗时又耗力。为此,自监督学习方法提出从大量的无标注数据中学习出高效的特征编码器,然后利用该特征编码器在小规模数据上进行强监督训练,以此达到和在大规模强标注数据上训练的模型相当的性能。基于对比式自监督学习方法的出发点为:从不同视角来观察图像,将来自同一图像的不同视角的图像块视为正样本对,来自不同图像的图像块视为负样本对,通过拉近正样本对的特征的距离,拉远负样本对的特征的距离来监督特征编码器的学习。
然而,以上方法的基本假设(正样本对,即同一图像的不同视角的图像块,具有相同的语义)在以物体为中心的数据集(ImageNet)中成立,在以场景为中心的数据集(同一图像中包含多个物体,如COCO)中难以成立。为此,该论文将同一图像不同视角图像块内的语义一致的图像区域视为正样本对,语义不同的图像区域视为负样本对。
2.方法
本文方法和MoCo的框架类似,不同的是,本文将每类物体定义为一个可学习的类别向量S,根据类别向量S和图像特征图的每个位置计算相识度,聚合图像中同一类别的特征,然后将聚合后的类别特征构成正负样本对来进行对比训练学习。具体的网络结构如图1所示,其步骤包括:
- 同一图像经过数据增强得到不同的视角图像块,并分别输入图像编码器得到特征图;
- 将类别特征向量S和图像特征图计算每个位置的相似度,并根据相似度聚合得到图像中每个类别的特征;
- 得到两个视角下的聚合的类别特征后,拉近同类别特征间的距离,拉远不同类别特征之间的距离;
- 与此同时,拉近两个视角下,重叠图像区域的特征间的距离。
经过迭代训练后,图像特征编码器能够建模不同类别之间的语义特征,使得图像编码器更鲁棒。
图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:基于语义聚合的对比式自监督学习方法的更多相关文章
- 知识图谱顶会论文(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 知识图补全 ...
- 基于语义感知SBST的API场景测试智能生成
摘要:面对庞大服务接口群,完备的接口测试覆盖和业务上下文场景测试看护才有可能保障产品服务的质量和可信.如果你想低成本实现产品和服务的测试高覆盖和高质量看护,这篇文章将为你提供你想要的. 本文分享自华为 ...
- 基于NodeJS的全栈式开发
前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的 NodeJS,试 ...
- (转)也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
原文链接:http://ued.taobao.org/blog/2014/04/full-stack-development-with-nodejs/ 随着不同终端(pad/mobile/pc)的兴起 ...
- 也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的NodeJS,试图 ...
- 任务驱动,Winform VS WEB对比式学习.NET开发系列第一篇------身份证解析(不断更新的WEB版本及Winform版本源码)
一 本系列培训随笔适用人群 1. 软件开发初学者 2. 有志于转向Web开发的Winform程序员 3. 想了解桌面应用开发的Web程序员 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分 ...
- 基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离) 前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们 ...
- 任务驱动,对比式学习.NET开发系列之开篇------开源2个小框架(一个Winform框架,一个Web框架)
一 源码位置 1. Winform框架 2. web框架 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分人学习软件开发技术是通过看书,看视频,听老师上课的方式.这些方式有一个共同点即按知 ...
- 从基于 SQL 的 CURD 操作转移到基于语义 Web 的 CURD 操作
中文名称 CURD 含义 数据库技术中的缩写词 操作对象 一般的项目开发的各种参数 作用 用于处理数据的基本原子操作 它代表创建(Create).更新(Update).读取(Retrieve) ...
- 基于GPS数据建立隐式马尔可夫模型预测目的地
<Trip destination prediction based on multi-day GPS data>是一篇在2019年,由吉林交通大学团队发表在elsevier期刊上的一篇论 ...
随机推荐
- 不可错过的效能利器「GitHub 热点速览 v.22.39」
如果你是一名前端工程师且维护着多个网站,不妨试试本周榜上有名的 HTML-first 的 Qwik,提升网站访问速度只用一招.除了提升网站加载速度的 Qwik,本周周榜上榜的 Whisper 也是一个 ...
- WPF开发经验-实现Win10虚拟触摸键盘
一 引入 项目有个需求,需要实现纯触控操作进行键盘输入.项目部署在Win10系统上,考虑有两种方案来实现. 通过调用Win10自带的触摸键盘来实现: 通过WPF实现一个触摸键盘来实现: 二 调用Win ...
- Sun 的 BASE64Encoder替代
可以使用 org.apache.commons.codec.binary.Base64替代 Maven依赖如下 <dependency> <groupId>commons-co ...
- RAID5 IO处理之对齐读代码详解
1 总体流程 当一个读请求的覆盖范围落在一个chunk范围内时为对齐读,流程图如下所示: 2 入口 在RAID5的IO处理函数 make_request() 一开始进行了对齐读的判断和处理,代码如下所 ...
- Invalid bound statement (not found)出现原因和解决方法
Invalid bound statement (not found)出现原因和解决方法 前言: 想必各位小伙伴在码路上经常会碰到奇奇怪怪的事情,比如出现Invalid bound statement ...
- 【C++】GoogleTest进阶之gMock
gMock是什么 当我们去写测试时,有些测试对象很单纯简单,例如一个函数完全不依赖于其他的对象,那么就只需要验证其输入输出是否符合预期即可. 但是如果测试对象很复杂或者依赖于其他的对象呢?例如一个函数 ...
- import cv2报错
其实是没错的,不过有的python编译器对这个不太支持,把import cv2 改为import cv2.cv2 as cv2就行了.
- Redis 常见问题-缓存穿透
问题描述: * 针对 DB 中不存在的数据源,每次请求缓存和数据库都不存在 造成后果: * 应用服务器压力变大 * Redis 命中率大幅度降低 * `数据库压力巨增甚至 down 掉`* 该现象对于 ...
- Codeforces Round #829 (Div. 2) A-E
比赛链接 A 题解 知识点:枚举. 只要一个Q后面有一个A对应即可,从后往前遍历,记录A的数量,遇到Q则数量减一,如果某次Q计数为0则NO. 时间复杂度 \(O(n)\) 空间复杂度 \(O(1)\) ...
- a标签添加链接下划线样式
<a href="/aaaa.asp" target="_blank" style="text-decoration:underline;&qu ...