自监督学习如何兼顾语义对齐与空间分辨能力?清华、商汤提出「SIM」方法

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 自监督学习如何兼顾语义对齐与空间分辨能力?清华、商汤提出「SIM」方法


对于本文提出的全新自监督学习方法 Siamese Image Modeling 中,网络从同一图像的遮盖视图预测另一个增强视图的密集特征,使其兼顾 Instance Discrimination 方法的语义对齐能力和 Masked Image Modeling 方法的空间分辨能力。



论文链接:https://arxiv.org/abs/2206.01204


自监督学习长久以来都是视觉领域努力追求的目标,它能够帮助我们利用大量的无标注数据,并且推动了很多下游任务的进步。


为了有效地以自监督的方式训练网络,研究者们提出了各式各样的 “代理任务”(pretext task)来生成监督信号,其中最为典型的有两类框架:Instance Discrimination(ID)与 Masked Image Modeling(MIM)。


ID 方法希望拉近相同图像的不同增强视图,同时避免特征坍塌(包括 MoCo、BYOL、Barlow Twins 等方法)。这种方法学习到的特征往往具有很强的线性可分性,所以 ID 方法在线性分类任务上表现出色,但是近期的一些研究表明它在下游的检测任务上并不优于监督学习。另一方面,MIM 方法通过一张遮盖图像来重建原始图像(包括 BEiT、MAE 等方法),它通常在检测任务上表现优异,但是不能做好线性分类任务,而且在少样本场景下表现一般。


为了解决这些矛盾,来自清华和商汤的研究者们提出:这种差异是因为两种方法各自忽略了特征所需要的语义对齐和空间分辨能力。具体来说:


  • 语义对齐能力要求语义相似的图像能被映射到邻近的特征表示,这可以通过对比相同图像的不同增强视图来达到;
  • 空间分辨能力要求特征能够建模图像内部的空间结构,而通过遮盖图像去预测密集特征表示能够帮助达成这点,因为这种做法建模了图像内部的条件分布。



基于这些思考,研究者提出了 Siamese Image Modeling(SIM),该方法通过一张遮盖的增强视图来预测相同图像的另一张增强视图的密集特征表示。


为了达到这个目标,SIM 采用了孪生网络结构,该结构包含 online 和 target 两个分支。Online 分支首先将第一张遮盖视图映射到特征空间,然后基于第一张图的特征和第一、二张图的相对位置坐标来预测第二张图的特征;Target 分支则负责将第二张图映射到特征空间来获得目标特征。


通过这种方式,SIM 能够分别在线性分类任务上和 ID 方法持平,以及在检测任务上和 MIM 方法持平,研究者进一步发现即便没有全局的损失函数,SIM 也能给出很好的线性分类表现。



方法


数据增强


数据增强策略对于特征的学习有着非常重要的作用:ID 方法已经揭示了更强的空间和颜色增强对于提升线性分类效果显著;MIM 方法则采用了遮挡增强来帮助模型学习图像的局部结构。因此,SIM 保留了 ID 方法中的强数据增强策略,同时对输入给 online 分支的视图采用遮挡增强策略。


预测目标


SIM 被设计成去预测相同图像的不同增强视图的密集特征,这里将介绍预测和目标分别是如何计算的。


Online 分支负责做出预测。它首先将第一张遮挡视图 x_a 映射成特征 y_a∈R^(N_v×D),之后利用解码器 g (⋅) 基于特征 y_a,掩码词符 m 和他们的位置编码来做出预测



其中,p_a 是第一张视图 x_a 的位置编码,p_b^((u,v) ) 对应第二张视图 x_b 在 (u,v) 处的图块的位置编码,它们会在下文介绍。


Target 分支负责给出目标。它的编码器是 Online 分支编码器的滑动平均,并且接收第二张视图的所有图块并编码为目标特征 z_b∈R^(N×D)。



最后介绍解码器所需的位置编码是如何计算的。所有的图块都是以第一张视图 x_a 的左上角作为原点来计算的。具体来说,假设两张视图在原图中的位置信息分别为 (i_1,j_1,h_1,w_1) 和 (i_2,j_2,h_2,w_2 )(分别代表左上角横纵坐标与高度宽度),第一张视图的相对位置为:



第二张视图的相对位置为:



对于第二张图,尺度变化也被进一步加入位置信息中:


最后,这些信息输入到 sincos 位置编码函数中得到如下位置编码:



损失函数


SIM 采用 UniGrad 作为损失函数:



UniGrad 被采用主要出于两个原因:(1)这种对比函数是 ID 方法的统一形式;(2)它对内存更加友好:注意到通常使用的 InfoNCE 损失函数需要 O (|N|) 的内存来计算相似度,这对于有大量负样本的密集层次损失函数是不现实的;而通过先计算负样本之间的相关矩阵,UniGrad 只需要 O (D^2) 的内存消耗。


SIM 尝试将 UniGrad 施加在全局层次和密集层次,全局损失函数用全局平均的特征作为整张图的特征:


而密集损失函数将每个图块作为单独的样本,并且为了减少与全局损失函数的冲突,每个图块的特征减去了全局平均特征:



最后的总体的损失函数为:



研究者发现在短轮数下,(α_1=1,α_2=4) 给出最好的性能取舍。有趣的是,当训练轮数足够长时,只使用密集损失函数 (α_1=0,α_2=1) 也能给出很好的线性分类性能。


实验


主要结果



研究者在多种评估指标下对比了 SIM 和其它方法的性能,包括线性分类、ImageNet 全数据微调、ImageNet 1% 数据微调、COCO 上的物体检测与实例分割。


线性分类方面,SIM 可以做到和 MoCo-v3 相当的水平,同时大幅超过 MAE(400ep 大约 11 个点,1600ep 大约 8 个点);同时,即便不使用全局损失函数,SIM 也能给出不错的线性分类结果;


检测与分割任务上,SIM 超过了 MoCo-v3 大约 2 个点,也能在使用更短轮数的条件下达到与 MAE 相当的水平(400ep v.s. 1600ep);


微调任务上,SIM 在全数据微调时可以达到和之前方法相当的水平,而当只有 1% 数据可用时,SIM 能够超过 MoCo-v3 2 个点,MAE 14 个点。


消融实验



预测像素还是特征。表中(ab)和(de)说明,在使用相同视图作为输入和目标时,预测像素性能更好;而使用不同视图时,预测特征性能更好;


不同视图。表中(ae)和(cf)说明,使用不同视图能够提升线性分类大概 7-13 个点;


颜色增强。表中(ac)和(ef)说明,对于不同视图,颜色增强可以提升线性分类 3.5 个点,不过对于相同视图则没有这种提升效果。研究者猜测相同视图会将预测目标所采用的颜色增强泄露给模型,从而破坏了对颜色不变性的建模;


对 projector 与 decoder 使用 BN 还是 LN。研究者尝试将 projector 和 decoder 中的归一化层从 LN 换成 BN,表中(fg)说明这种替换对线性分类与检测任务都有一些提升;


全局损失函数。表中(gh)说明,全局损失函数有利于线性分类性能的提升,但是并不是必要的;


密集损失函数。表中(hi)说明密集损失函数能够在物体检测任务上提升 2.3 个点,在实例分割任务上提升 1.6 个点,这说明密集损失函数对下游密集预测任务是有帮助的。

相关文章
python中的时间处理模块(二):datetime模块之timedelta类详解
python中的时间处理模块(二):datetime模块之timedelta类详解
python中的时间处理模块(二):datetime模块之timedelta类详解
|
5月前
|
安全 Java 数据挖掘
高效转换Word表格为Excel:Python方案全解析
本文介绍如何用Python自动化将Word表格转为Excel,解决手动复制易出错、耗时长等问题。基于python-docx读取表格,结合openpyxl或pandas写入,支持多表合并、数字格式识别、合并单元格处理及大文件优化,30行代码即可实现高效精准转换。(239字)
691 13
|
5月前
|
人工智能 监控 测试技术
AI 应用软件的开发流程
2026年AI开发已升级为数据驱动、模型导向、高度自动化的AI-SDLC流程,涵盖需求评估、数据准备、模型开发(Prompt/RAG或微调)、架构集成、概率化测试及持续监控六大环节,强调不确定性管理与成本效能平衡。
|
6月前
|
人工智能
阿里云CN域名收费价格2026年最新整理,CN域名注册、续费、转入和赎回费用整理
阿里云2026年CN域名最新资费:英文.cn注册38元/年,续费42元/年;中文.cn注册99元/年;转入同注册价;赎回高达1200元。享“互联网上的中国标识”等专属口令优惠,详情见万网官网。
1131 1
|
7月前
|
存储 弹性计算 Linux
阿里云服务器怎么购买?阿里云服务器便宜购买教程
阿里云服务器怎么购买?阿里云服务器提供三种不同的购买入口,每种方式在配置灵活性、操作复杂度等方面各有特点,用户可根据自身需求选择合适的购买方式,以下是详细介绍:
|
人工智能 自然语言处理 PHP
WordPress果果AI创作插件
果果AI创作是一款强大的AI创作插件,集成百度千帆、讯飞星火、阿里云百炼等8大平台大模型及自定义大模型。通过导入文章标题即可生成内容,支持HTML格式转换、创作指令设置、字数限制、分类发布、状态设置等功能。提供永久免费使用的部分大模型,如百度千帆和讯飞星火Lite版。注意事项包括调整PHP脚本运行超时时间及仅支持文本生成模型。更新新增DeepSeek大模型与max_tokens设置。
593 1
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
934 4
|
分布式计算 大数据 Hadoop
大数据学习
【10月更文挑战第2天】大数据学习
619 16
|
存储 数据管理 数据库
CRUD操作实战:从理论到代码实现的全面解析
【7月更文挑战第4天】在软件开发领域,CRUD代表了数据管理的四个基本操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)。这四个操作构成了大多数应用程序数据交互的核心。本文将深入讲解CRUD概念,并通过一个简单的代码示例,展示如何在实际项目中实现这些操作。我们将使用Python语言结合SQLite数据库来演示,因为它们的轻量级特性和易用性非常适合教学目的。
1845 2