(2024,自监督 ViT,全监督 ViT,损失可视化,MAE,RC-MAE,自蒸馏,EMA)可视化自监督 ViT 的损失景观

Visualizing the loss landscape of Self-supervised Vision Transformer

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0 摘要

2 基础:MAE 和 RC-MAE

3 损失景观

3.1 分析

4 结论和未来工作


0 摘要

掩码自动编码器(Masked autoencoder,MAE)作为视觉 transformer(ViT)中掩码图像建模的代表性自监督方法,引起了广泛关注。然而,即使 MAE 显示出比完全从头监督训练更好的泛化能力,其原因仍未得到探讨。在另一项研究中,提出了重构一致掩码自动编码器(Reconstruction Consistent Masked Auto Encoder,RC-MAE),它采用指数移动平均(EMA)教师形式的自蒸馏方案,并显示出 EMA 教师在优化过程中执行条件梯度校正(gradient correction)。为了进一步从优化的角度探讨 MAE(MAE-ViT)训练的自监督 ViT 为何具有更好的泛化能力以及 RC-MAE 梯度校正的效果,我们可视化了自监督 ViT (MAE 和 RC-MAE)的损失景观(loss landscape),并将其与监督的 ViT(Sup-ViT)进行比较。与之前基于分类任务损失的神经网络损失景观可视化不同,我们通过计算预训练任务损失来可视化 ViT 的损失景观。通过损失景观的视角,我们发现了两个有趣的现象:(1)MAE-ViT 的整体损失曲率比 Sup-ViT 更平滑和宽广。(2)EMA 教师允许 MAE 在预训练和线性探测中扩大凸性区域,导致更快的收敛。据我们所知,这是首次通过损失景观的视角研究自监督 ViT 的工作。 

2 基础:MAE 和 RC-MAE

掩码自动编码器(MAE)[19](分割-掩蔽-重建)通过随机掩蔽(mask)大量输入图像块进行自监督学习,然后使用基于 ViT 的编码器 f 对可见图像块进行编码,并使用解码器 h 对掩蔽的图像块进行重建。MAE 将输入图像 X∈R^(C×H×W) 分割成 N 个不相交的图像块 ~X ∈ R^(N×(P^2⋅C)),其中 P^2 代表图像块的面积。MAE 随后对 ~X 的一个随机子集 xi ∈ ~X, ∀i ∈ M 进行掩蔽,其中 M 是掩蔽标记的索引。可见的图像块 xj ∈ ~X, ∀j ∈ V(其中 V 是可见图像块的索引)被传递到编码器,生成编码向量 z = f({xj: j∈V})。随后,解码器 h 根据编码的可见图像块对掩蔽的图像块集合进行重建,得到 ^Y = h(z; {xj: j∈M}),其中 ^Y ∈ R^(N×(P^2⋅C))。损失函数 L_r 仅在掩蔽的图像块上计算,采用均方误差损失函数:

重构一致性掩码自动编码器(RC-MAE)[25] 提供了一种自监督学习中常用的技术 EMA 教师 [33] 的分析。EMA 教师 T 由先前学生 S 的指数移动平均值组成,其中 α ∈ [0,1] 通过

可以递归扩展为 T(t) = ∑^t_(i=0) α^i·(1−α)·S^(t−i)。除了 MAE 的重构目标 L_r 外,教师还为学生网络(如 MAE)提供一致性目标 ^Y’。因此,学生网络通过以下目标进行优化:

研究发现,在一个简单的线性模型中 [25],教师本质上像一个梯度记忆,当当前输入 x_i 与先前输入 ^xj 相似时(通过点积度量),它会有条件地移除之前的梯度方向。同样,当当前输入与先前输入正交时,点积为 0,教师不会提供校正信号。因此,EMA 教师可能通过在过拟合可能性较大时(例如,输入多样性较低时)主动防止过拟合,并在过拟合可能性较小时(例如,输入多样性较高时)允许模型学习新知识,从而稳定训练。

3 损失景观

为了可视化 ViT 的损失景观(loss landscapes),我们遵循了 [26] 中称为滤波器归一化的可视化策略。具体来说,[26] 获得了两个随机高斯方向向量 δ 和 η 来可视化在 2D 投影空间内的损失表面。需要注意的是,方向向量被归一化为与相应参数 θ 具有相同的范数。然后,通过沿着两个方向上的 2D 点评估损失来获得损失表面,如下所示:

其中 L 是由参数 θ 参数化的网络的损失函数。 α 和 β 是从 -1 到 1 变化的标量值,分别对应于损失表面的 x 轴和 y 轴。更多实现细节请参考附录 A。

3.1 分析

[26] 表明,通过这种基于滤波器归一化的可视化方法,最小化器的平坦度与泛化能力密切相关。此外,许多研究 [6; 22; 32; 23; 21; 26; 37; 9; 10] 得出的结论是,当神经网络收敛到具有小曲率和宽凸性区域的平坦区域时,它们的泛化能力更好。由于我们已经在表 1 中确认了使用 ViT [14] 的自监督学习方法 MAE[19] 和 RC-MAE[25] 比纯监督学习具有更好的泛化能力,在本节中,我们通过观察损失景观分析自监督方法更好泛化能力的原因,并从优化的角度研究 RC-MAE 中 EMA 教师的作用。

MAE-ViT 与 监督-ViT。 如图 1 所示,从头开始监督的 ViT [14] 显示出更窄的收敛区域(即凸区域),这一点也在 [10] 中观察到。相反,我们可以观察到通过 MAE [19] 进行自监督的 ViT 表现出更宽的损失景观凸区域。这表明,与完全监督模型相比,自监督方法在更广泛的初始条件下可能会收敛。我们注意到,这种更平滑和更宽(wider)的损失景观以及更好的下游任务性能(即泛化结果)与优化文献中的一个事实一致 [22; 23; 21; 32; 6; 10],即具有小曲率的宽凸区域(wide convex region)与神经网络泛化能力良好相关

MAE 与 RC-MAE。 图 2 展示了预训练和线性探测(linear probing)的 MAE [19] 和 RC-MAE [25] 自监督 ViT 的损失景观。对于预训练,如图 2(左)所示,损失景观的俯视图和 2D 损失轮廓显示 RC-MAE 从比 MAE 更宽的凸区域收敛。此外,如图 2(右)所示,MAE和RC-MAE的线性探测结果比预训练损失有更复杂的损失曲率。我们推测,冻结特征权重仅学习线性层的线性探测任务对于分类 1K 类别来说很难优化。类似于预训练结果,RC-MAE 具有比 MAE 更宽的凸区域。由于 MAE 和 RC-MAE 之间的唯一区别是增加了 EMA 教师,这表明这种更宽的凸区域可能归因于 RC-MAE 中 EMA 教师的梯度校正效果。此外,Lee 等人 [25] 通过比较重构损失图和微调准确率表明,RC-MAE 的收敛速度比 MAE 更快。MAE 和 RC-MAE 之间的这些损失景观比较以及 [25] 中的实验支持了 RC-MAE 更好的收敛特性。

4 结论和未来工作

在这项工作中,我们通过可视化各种自监督 ViT 的损失景观,研究了自监督 ViT 的泛化能力和 RC-MAE 的梯度校正效果。通过损失景观的视角,我们观察到以下有趣的现象:(1)自监督 ViT 比完全监督 ViT 具有更平滑和更宽的整体损失曲率。(2)自蒸馏架构(即 EMA 教师)允许 MAE 扩展凸性区域,加速收敛速度。然而,关于自监督学习的效果仍有进一步探索的空间。

批量大小:[26] 表明,批量大小影响最小化器的锐度。未来的工作可以探索批量大小对 MIM 预训练的影响。

优化器:[10] 使用了一种锐度感知优化器,可能具有与 RC-MAE 中 EMA 教师相同的一些特性。直接比较和分析可能会得出一些有趣的结论。

与其他自监督方法的比较:我们只分析了基于 MIM 的自监督方法 [19; 25]。然而,在 MIM 方法出现之前,基于实例区分任务(例如对比学习)的方法 [20; 11; 12; 7; 18; 8; 5] 占主导地位。因此,从损失几何的角度研究和比较非 MIM 方法将是有趣的。

定量分析:我们只进行了损失景观的定性分析。然而,[10] 通过计算模型参数上的高斯扰动训练误差和主 Hessian 特征值分别定量了平均平坦度和损失曲率的程度。因此,我们期待未来的工作可以定量比较这些优化动态指标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/850631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT C++(QT控件 QPushButton,QRadioButton,QCheckBox)

文章目录 1. QPushButton 普通按钮2. QRadioButton 单选按钮3. QCheckBox 复选按钮 1. QPushButton 普通按钮 QPushButton中的重要属性 text:按钮中的文本icon:按钮的图标iconSize:按钮中图标的尺寸shortCut:按钮对应的快捷键&a…

Unity3d使用3D WebView for Windows and macOS打开全景网页(720云)操作问题记录

问题描述 使用Unity3d内嵌网页的形式打开720云中的全景图这个功能,使用的是3D WebView for Windows and macOS插件,720云的全景图在浏览器上的操作是滑动鼠标滚轮推远/拉近全景图,鼠标左键拖拽网页可以旋转全景图内容。网页的打开过程是正常…

IDEA创建Mybatis项目

IDEA创建Mybatis项目 第一步:创建库表 -- 创建数据库 create database mybatis_db;-- 使用数据库 use mybatis_db;-- 创建user表 CREATE TABLE user (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL,password VARCHAR(50) NOT NULL,email VARC…

transformer中对于QKV的个人理解

目录 1、向量点乘 2、相似度计算举例 3、QKV分析 4、整体流程 (1) 首先从词向量到Q、K、V (2) 计算Q*(K的转置),并归一化之后进行softmax (3) 使用刚得到的权重矩阵,与V相乘,计算加权求和。 5、多头注意力 上面…

记一次postgresql拼接函数string_agg() 和row_number() 使用

PG两个函数使用需求和简单介绍 需求背景介绍第一个需求背景是这样的需求升级一下接下来讲讲STRING_AGG()基本语法排序 然后我们再说说ROW_NUMBER()基本语法使用 row_number() over (partition by) 进行分组统计使用 row_num限定每组数量 需求背景介绍 第一个需求背景是这样的 …

【MATLAB源码-第222期】基于matlab的改进蚁群算法三维栅格地图路径规划,加入精英蚁群策略。包括起点终点,障碍物,着火点,楼梯。

操作环境: MATLAB 2022a 1、算法描述 蚁群算法(Ant Colony Optimization,ACO)是一种通过模拟蚂蚁觅食行为的启发式优化算法。它由意大利学者Marco Dorigo在20世纪90年代初提出,最初用于解决旅行商问题(T…

从《千脑智能》看大模型

千脑智能与大模型 千脑智能介绍 世界模型千脑智能理论——对大脑的全新理解旧大脑:演化的历史烙印新大脑:智慧的创新引擎新旧大脑的互动与争斗启示与借鉴 大脑对信息的处理和建模六根六尘六识 新脑:智能的创新中枢旧脑:生存的本能…

Spring的Controller是单例还是多例,如何保证线程安全的。

目录 验证是否单例(默认单例) 多例测试 单例对象成员变量测试 多例对象成员变量测试 解决方案 结论: 补充说明 答案:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。 正…

求宇文玥在水下的浮力和赵丽颖捞他的时间

关注微信公众号 数据分析螺丝钉 免费领取价值万元的python/java/商业分析/数据结构与算法学习资料 2024年汉东省在达康书记的带领下率先实现高考试点改革。为让更多的考生能提升对他们的理解和记忆,把电视剧的场景融入考试题目中。确保学生看一遍就懂,想…

STM32 proteus + STM32Cubemx仿真教程(第一课LED教程)

文章目录 前言一、STM32点亮LED灯的原理1.1GPIO是什么1.2点亮LED灯的原理 二、STM32Cubemx创建工程三、proteus仿真电路图四、程序代码编写1.LED灯操作函数介绍HAL_GPIO_WritePin函数原型参数说明示例代码 HAL_GPIO_TogglePin函数原型参数说明示例代码 2.代码编写3.烧写程序 总…

(三)React事件

1. React基础事件绑定 语法&#xff1a; on 事件名称 { 事件处理程序 }&#xff0c;整体上遵循驼峰命名法 App.js //项目根组件 //App -> index.js -> public/index.html(root)function App() {const handleClick () > {console.log(button被点击了)}return (<…

k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA详细解释与安装

文章目录 前言VPA简介简单理解详细解释VPA的优缺点优点1.自动化资源管理2.资源优化3.性能和稳定性提升5.成本节约6.集成性和灵活性 缺点1.Pod 重启影响可用性2.与 HPA 冲突3.资源监控和推荐滞后&#xff1a;4.实现复杂度&#xff1a; 核心概念Resource Requests 和 Limits自动调…

AI大模型学习(非常详细)零基础入门到精通,收藏这一篇就够了

前言 随着人工智能技术的快速发展&#xff0c;AI大模型学习正成为一项备受关注的研究领域。为了提高模型的准确性和效率&#xff0c;研究者们需要具备深厚的数学基础和编程能力&#xff0c;并对特定领域的业务场景有深入的了解。通过不断优化模型结构和算法&#xff0c;AI大模…

python如何输入回车

Python默认遇到回车的时候&#xff0c;输入结束。所以我们需要更改这个提示符&#xff0c;在遇到空行的时候&#xff0c;输入才结束。 raw_input就是从标注输入读取输入&#xff0c;输入的是什么就是什么。 文档解释&#xff1a; The function then reads a line from input,…

UFS协议入门-分层结构

写在前面:本文参考UFS jedec3.1,本文思维导图如下 1. 分层概述 UFS协议分为3层,从上至下分别是:应用层(UAP),传输层(UTP),互联层(UIC),具体结构如下图所示。 2.1 应用层 在应用层(UAP)中,包括:UFS指令集(UCS),设备管理器(Device Manager),任务管理器(Task Manager…

基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 fpga仿真结果 matlab调用FPGA的仿真结果进行图像显示 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 ......................…

Knife4j 生成 API 文档

文章目录 Knife4j 简介使用步骤Knife4j 常用注解的列表案例可能遇到报错 Knife4j 简介 Knife4j 是一个增强的 Swagger 文档生成工具&#xff0c;提供了更加友好的界面和更多功能&#xff0c;使得 API 文档更加美观且易于使用。它是基于 Spring Boot 和 Swagger 进行封装的&…

Xcode 安装17.5 simulator 总是失败

升级到xcode15.4后需要安装ios17.5模拟器 但是在下载过程中会遇到报错 : The network connection is lost 解决方案&#xff1a; 先将模拟器下载到本地 Xcode 安装17.5 simulator 下载地址&#xff1a; Sign In - Applhttps://developer.apple.com/download/all/?qXcode 下…

C# WPF入门学习主线篇(十五)—— DockPanel布局容器

C# WPF入门学习主线篇&#xff08;十五&#xff09;—— DockPanel布局容器 欢迎来到C# WPF入门学习系列的第十五篇。在前几篇文章中&#xff0c;我们探讨了 Canvas、StackPanel 和 WrapPanel 布局容器及其使用方法。本篇博客将介绍另一种强大且常用的布局容器——DockPanel。…