论文阅读: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,c2∈RHW×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. 控制面板在控制面板,你可以查看家庭的灯光,温度,门铃,音响…...
解决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 …...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
