当前位置: 首页 > news >正文

论文阅读:SERE: Exploring Feature Self-relation for Self-supervised Transformer

Related Work

  • Self-supervised 学习目的是在无人工标注的情况下通过自定制的任务(hand-crafted pretext tasks)学习丰富的表示。

Abstract

  • 使用自监督学习为卷积网络(CNN)学习表示已经被验证对视觉任务有效。作为CNN的一种替代方案,视觉变换器(ViT)具有强大的表示能力,具有空间自注意力和通道级前馈网络。最近的研究表明,自监督学习有助于释放ViT的巨大潜力。然而,大多数研究仍然遵循为CNN设计的自监督策略,例如实例级别的样本区分,但它们忽视了ViT的特性。我们观察到,关于空间和通道维度的关系建模使ViT与其他网络有所不同。为了强化这一特性,我们探索了特征自关系(SElf-RElation,SERE)来训练自监督ViT。具体来说,我们不仅仅在来自多个视图的特征嵌入上进行自监督学习,还利用特征自关系,即空间/通道自关系,进行自监督学习基于自关系的学习进一步增强了ViT的关系建模能力,产生了更强的表示,稳定地提高了多个下游任务的性能。

Introduction

  • 空间自关系(spatial self-relation)提取图像中块的联系。
  • 通道自关系(channel self-relation)建模不同通道间的联系,特征图(feature embeddings)中每一个通道代表了(Highlight)独特的语义信息。
  • 特征自关系是新维度的表示
    在这里插入图片描述
  • (a)典型的自监督学习方法编辑图像视图的特征嵌入。
  • (b)我们提出的方法去建模测量不同维度间一张图像视图内的特征自相关度
  • (c )两种特殊形式的自相关,空间自相关与通道自相关。

在这里插入图片描述

  • 对空间(spatial)和通道(channel)维度的自关联(self-relation)。给出图像x,通过随机数据增强( τ n \tau_n τn)获得两个视角。再通过编码器 f n f_n fn得到特征。特征再通过表示变化 P \mathbb{P} P得到空间或者通道自相关。对于空间自相关,只有特征再重叠部分会被考虑。 O \mathbb{O} O代表再重叠区域提取特征的操作。

Method

  • 我们关注于 the instance discrminative(实例判别) self-supervised learning pipeline.首先介绍一下普通实例判别自监督学习方法的框架。给一个未标注图像x,由不同的随机数据增强获得多视角。假设不同视角包含相同的信息,主要的思想是最大化不同视角间的共享信息编码。首先,两个视角被送到Encoder网络提取特征 r 1 , r 2 r_1,r_2 r1,r2。特征被 P \mathbb{P} P变换成不同的表示。再借由不同的优化目标获得不同的损失函数:
    在这里插入图片描述
  • R代表最大化视角间一致性。受启发于ViT的关系建模特性,而不是直接使用特征。

空间自相关(Spatial Self-relation)

  • ViT有通过多头注意力机制(MHSA)建模局部块的特性。

  • 生成 spatial self-relation 表示。首先给出嵌入特征 r 1 = f 1 ( τ 1 ( x ) ) ∈ R C × H W r_1 = f_1(\tau_1(x)) \in \mathbb{R}^{C \times HW} r1=f1(τ1(x))RC×HW r 2 = f 2 ( τ 2 ( x ) ) ∈ R C × H W r_2 = f_2(\tau_2(x)) \in \mathbb{R}^{C \times HW} r2=f2(τ2(x))RC×HW。一个预测头 h p h_p hp, 处理得到 p 1 = h p ( r 1 ) p_1 = h_p(r_1) p1=hp(r1) and p 2 = h p ( r 2 ) p_2 = h_p(r_2) p2=hp(r2)

  • 不同于图像级的嵌入,不同视角的空间自监督(Sptial Self-relation)需要由计算相同空间位置的patches计算。为此,提出 O \mathbb{O} O的操作去采样 p 1 p_1 p1 p 2 p_2 p2的重叠区域,如下图。
    在这里插入图片描述

  • 我们在原图中定位重叠区域,并将其分为 H s × W s H_s \times W_s Hs×Ws个格子。对于每个格子中心,我们计算其在不同视角特征中的空间坐标。然后通过bi-linear 内插采样特征。

  • 这样我们就可以计算空间自相关(Self-Relation) A p ( p 1 ) ∈ R H s W s × H s W s \mathbb{A_p}(p_1) \in \mathbb{R}^{H_sW_s \times H_sW_s} Ap(p1)RHsWs×HsWs
    在这里插入图片描述

  • t_p是温度参数控制Softmax的峰值。

  • 空间自关系(Spatial Self-Relation)的自监督:使用 asymmetric non-contrastive self-supervised loss:
    在这里插入图片描述

  • R e R_e Re是交叉熵损失函数, G \cancel{G} G 是 stop-gradient 操作防止训练崩溃。 A p \mathbb{A}_p Ap是asymmetric non-contrastive self-supervised loss的预测头,包含全连接层以及batch normalization 层。

通道自相关(Channel-relation)

  • 不同的通道编码不同的模式,给与神经网络强大的表示能力。ViT的前馈网络(FFN)结合了跨通道模式并且编码了通道间的关系。
  • Generating channel self-relation representation. 根据 r 1 , r 2 r_1,r_2 r1,r2,一个投影头 h c h_c hc(与 h p h_p hp结构相同),获得 c 1 = h c ( r 1 ) T , c 2 = h c ( r 2 ) T c_1 = h_c(r_1)^T,c_2 = h_c(r_2)^T c1=hc(r1)T,c2=hc(r2)T。然后独立计算通道自相关。对于 c 1 , c 2 ∈ R H W × C c_1,c_2 \in \mathbb{R}^{HW \times C} c1,c2RHW×C,我们计算通道自相关 A c ( c 1 ) ∈ R C × C \mathbb{A_c(c_1)} \in \mathbb{R}^{C \times C} Ac(c1)RC×C
    在这里插入图片描述
  • 通道自关系的自监督函数同空间自关系
    在这里插入图片描述

实施细节

  • 使用提出的Spatial/channel self-relations 以及 Image Embedding 作为自关系损失函数,这些损失揭示了特征的不同属性。
    在这里插入图片描述
  • L I L_I LI是图像级Embedding的损失,在Tab.8中可知使用我们提出的方法可以获得有竞争力甚至是更好的结果。
    在这里插入图片描述

相关文章:

论文阅读:SERE: Exploring Feature Self-relation for Self-supervised Transformer

Related Work Self-supervised 学习目的是在无人工标注的情况下通过自定制的任务(hand-crafted pretext tasks)学习丰富的表示。 Abstract 使用自监督学习为卷积网络(CNN)学习表示已经被验证对视觉任务有效。作为CNN的一种替代…...

遥感数据与作物模型同化应用:PROSAIL模型、DSSAT模型、参数敏感性分析、数据同化算法、模型耦合、精度验证等主要环节

查看原文>>>遥感数据与作物模型同化实践技术应用 基于过程的作物生长模拟模型DSSAT是现代农业系统研究的有力工具,可以定量描述作物生长发育和产量形成过程及其与气候因子、土壤环境、品种类型和技术措施之间的关系,为不同条件下作物生长发育及…...

Navicat15工具连接PostgreSQL15失败

1.错误现象及原因 错误现象: 错误原因: postgresql 15版本中 pg_database 系统表把 datlastsysoid 列删除了,所以造成了此错误。 2.解决方法 (1)将Navicat工具更新到官网最新版本。 (2)更换…...

开源AI家庭自动化助手-手机控制家庭智能家居服务

产品简介 将本地控制和隐私放在首位的开源家庭自动化。由全球开发者和 DIY 爱好者社区提供支持。非常适合在 Raspberry Pi 或本地服务器上运行。 功能介绍 1. 控制面板在控制面板,你可以查看家庭的灯光,温度,门铃,音响&#xf…...

解决CSS定位错乱/疑难杂症的终极绝招==》从样式污染开始排查

我们接手他人或者第三方项目的时候,有时候会遇到一些莫名其妙的问题: 明明自己的样式写的没有问题,但是网页上却显示的乱七八糟的,或者效果完全出不来。 案例如下: 这里只用了很典型的flex弹性布局,并没有…...

【笔记】《C++性能优化指南》Ch3 测量性能

【笔记】《C性能优化指南》Ch3 测量性能 1. 优化思想1.1 专业的性能测试流程1.2 优化准则1.2.1 90/10规则1.2.2 Amdahl定律 2. 进行实验2.1 记实验笔记2.2 测量基准性能并设定目标2.3 你只能改善你能够测量的 3. 分析程序执行3.1 实现分析器的方式3.2 分析器的优缺点 4. 测量长…...

2023大数据面试总结

文章目录 Flink(SQL相关后面专题补充)1. 把状态后端从FileSystem改为RocksDB后,Flink任务状态存储会发生哪些变化?2. Flink SQL API State TTL 的过期机制是 onCreateAndUpdate 还是 onReadAndWrite?3. watermark 到底…...

udev自动创建设备节点的机制

流程框图如下 自动创建 1 内核检测到设备插入后,会发送一个uevent事件到内核中,并提供有关硬件设备的信息。 2 udevd守护程序收到uevent事件后,创建一个设备类,(向上提交目录信息),会在内核中…...

访问局域网内共享文件时报错0x80070043,找不到网络名

我是菜鸡 此篇只为分享一个我遇到的很简单的但是排查了好久的小问题。 我的网络环境是在校园网内, 自己的办公电脑设置了固定IP:10.11.128.236,同事电脑IP为:10.11.128.255 本人需要访问同事在局域网内分享的文件,…...

Java定时器

对于定时器的设定,想必大家在不少网站或者文章中见到吧,但是所谓的定时器如何去用Java代码来bianx呢??感兴趣的老铁,可以看一下笔者这篇文章哟~~ 所谓的定时器就是闹钟!! 设定一个时间&#x…...

科普js加密时出现的错误

当你在使用Babel解析JavaScript代码时,可能会遇到一个错误信息:“Deleting local variable in strict mode”(在严格模式下删除本地变量)。这个错误信息通常表示你正在尝试删除一个使用let或const关键字声明的变量。在JavaScript的…...

MYSQL优化——B+树讲解

B-/B树看 MySQL索引结构 B-树 B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树.它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。下图是 B-树的简化图. B-树有如下特点: 所有键值分布在整颗树中; 任何一…...

Rokid Jungle--Station pro

介绍和功能开发 YodaOS-Master操作系统:以交换计算为核心,实现单目SLAM空间交互,具有高精度、实时性和稳定性。发布UXR2.0SDK,为构建空间内容提供丰富的开发套件 多模态交互 算法原子化 多种开发工具协同 多生态支持 骁龙XR2…...

如何实现微服务

一、问题拆解 1.1、客户端如何访问这些服务 原来的Monolithic方式开发,所有的服务都是本地的,UI可以直接调用;现在按功能拆分成独立的服务,跑在独立的虚拟机上的Java进程了。客户端UI如何访问他的? 后台有N个服务&a…...

MySQL如何进行增量备份与恢复?

目录 一、MySQL 介绍 二、增量备份 三、备份恢复 一、MySQL 介绍 MySQL是一款开源的关系型数据库管理系统(RDBMS),它以其可靠性、灵活性和易于使用而备受赞誉。以下是关于MySQL数据库的介绍: MySQL是由瑞典公司MySQL AB开发&…...

微服务框架

一、目标 微服务框架通过组件化的方式提供微服务的开发部署、服务注册发现、服务治理与服务运维等能力。主流的微服务框架有开源的Spring Cloud、Dubbo与Service Mesh等,各大云厂商也基于开源的微服务框架,集成相关的云服务,实现企业级的微服…...

(matplotlib)如何让各个子图ax大小(宽度和高度)相等

文章目录 不相等相等 import matplotlib.pyplot as plt import numpy as np plt.rc(font,familyTimes New Roman) import matplotlib.gridspec as gridspec不相等 我用如下subplots代码画一行四个子图, fig,(ax1,ax2,ax3,ax4)plt.subplots(1,4,figsize(20,10),dpi…...

python http 上传文件

文章目录 改进质量 import random import requests from requests_toolbelt.multipart.encoder import MultipartEncoderurl http://ip:port/email data MultipartEncoder(fields{receiverId: xxxx163.com,mailSubject: mailSubject,content: content,fileList: (file_name, …...

IPO解读:Instacart曲折上市,业务模式如何持续“绚烂”?

商业世界的模式创新就像夜空中的烟火,而上升期的烟火总是绚烂的。 近日,美国商品配送业的鼻祖Instacart重新启动了IPO,并于9月11日,更新了招股书,将发行价定为每股26-28美元,计划融资6.16亿美元。值得一提…...

使用sql profile 稳定执行计划的案例

文章目录 1.缘起2.变慢的sql3.检查瓶颈4.解决办法4.1 SQLTXPLAIN 也称为 SQLT4.11 下载coe_xfr_sql_profile.sql4.12 使用方法4.13 执行coe_xfr_sql_profile.sql4.14 执行coe_xfr_sql_profile.sql产生的sql profile文件4.15 验证 4.2 SQL Tuning Advisor方式4.21 第一次Tuning …...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...