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

news2025/1/11 17:53:01

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.coloradmin.cn/o/1805716.html

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

相关文章

matlab GUI界面设计

【实验内容】 用MATLAB的GUI程序设计一个具备图像边缘检测功能的用户界面,该设计程序有以下基本功能: (1)图像的读取和保存。 (2)设计图形用户界面,让用户对图像进行彩色图像到灰度图像的转换…

【java、lucene、python】互联网搜索引擎课程报告二:建立搜索引擎

一、项目要求 建立并实现文本搜索功能 对经过预处理后的500个英文和中文文档/网页建立搜索并实现搜索功能对文档建立索引,然后通过前台界面或者已提供的界面,输入关键字,展示搜索结果前台可通过网页形式、应用程序形式、或者利用已有的界面…

SQLserver通过CLR调用TCP接口

一、SQLserver启用CLR 查看是否开启CRL,如果run_value1,则表示开启 EXEC sp_configure clr enabled; GO RECONFIGURE; GO如果未启用,则执行如下命令启用CLR sp_configure clr enabled, 1; GO RECONFIGURE; GO二、创建 CLR 程序集 创建新项…

【Java】单例设计模式

单例设计模式简介 目录 1.单例设计模式是什么?2.单例设计模式设计方法饿汉式懒汉式 3.单例设计模式的应用任务管理器(仅有一个页面,不可多开)Runtime运行环境 1.单例设计模式是什么? 设计模式 是解决 特定问题的优秀设计方式之一。 单例设计…

mathematica中针对三维图中的颜色和填充透明度进行指定

颜色指定使用的命令为:PlotStyle 填充的透明度使用的命令为:FillingStyle 示例代码: Clear["Global*"] Plot3D[{Sin[x^2 y], Sin[x^2 - y]}, {x, -2, 2}, {y, -2, 2}, PlotStyle -> {Directive[Red, Specularity[White, 100…

人体部位眼耳手腿分类数据集4376张4类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):4376 分类类别数:4 类别名称:["Ears","Eyes&quo…

win设置ftp服务器~java通过ftp下载文件

1.先设置ftp 2.打开服务 3.设置站点 4.起名字 这样就可以了 5.剩下的就是设置权限和账号了,找到对应的按钮就可以了 6.下载文件的代码 public byte[] downloadFile(File file) throws IOException{ByteArrayOutputStream out new ByteArrayOutputStream();toDi…

算法家族之一——二分法

目录 算法算法的打印效果如果算法里的整型“i”为1如果算法里的整型“i”为11 算法的流程图算法的实际应用总结 大家好&#xff0c;我叫 这是我58&#xff0c;现在&#xff0c;请看下面的算法。 算法 #define _CRT_SECURE_NO_WARNINGS 1//<--预处理指令 #include <stdi…

Netty原理与实战

1.为什么选择Netty&#xff1f; 高性能低延迟 事件分发器&#xff1a; reactor采用同步IO&#xff0c;Proactor采用异步IO 网络框架选型&#xff1a; 2.Netty整体架构设计&#xff08;4.X&#xff09; 三个模块&#xff1a;Core核心层、Protocal Support协议支持层、…

unity3d:GameFramework+xLua+Protobuf+lua-protobuf,与服务器交互收发协议

概述 1.cs收发协议&#xff0c;通过protobuf序列化 2.lua收发协议&#xff0c;通过lua-protobuf序列化 一条协议字节流组成 C#协议基类 CSPacketBase&#xff0c;SCPacketBaseC#用协议基类 proto生成的CS类&#xff0c;基于这两个基类。分别为CSPacketBase是客户端发送至服…

真空衰变,真正的宇宙级灾难,它到底有多可怕?

真空衰变&#xff0c;真正的宇宙级灾难&#xff0c;它到底有多可怕&#xff1f; 真空衰变 真空衰变&#xff08;Vacuum decay&#xff09;是物理学家根据量子场论推测出的一种宇宙中可能会发生的现象&#xff0c;这种现象被称为真正的宇宙级灾难&#xff0c;它到底有多可怕呢…

野火FPGA跟练(四)——串口RS232、亚稳态

目录 简介接口与引脚通信协议亚稳态RS232接收模块模块框图时序波形RTL 代码易错点Testbench 代码仿真 RS232发送模块模块框图时序波形RTL 代码Testbench 代码仿真 简介 UART&#xff1a;Universal Asynchronous Receiver/Transmitter&#xff0c;异步串行通信接口。发送数据时…

sick0s1.1 靶机实战

sick0s1.1 信息收集 nmap存活及端口&#xff1a; nmap服务扫描&#xff1a; web 80和8080都没有开放&#xff0c;&#xff0c;无法访问&#xff0c;gobuster等工具也跑不了&#xff0c;访问一下3128试试 根据端口服务扫描也能得知这是个http的代理服务器&#xff0c;&#x…

机器学习常见知识点 2:决策树

文章目录 决策树算法1、决策树树状图2、选择最优决策条件3、决策树算法过程→白话决策树原理决策树构建的基本步骤常见的决策树算法决策树的优缺点 【五分钟机器学习】可视化的决策过程&#xff1a;决策树 Decision Tree 关键词记忆&#xff1a; 纯度、选择最优特征分裂、熵、基…

SLAM小题目

1、最小二乘题目&#xff1a; 假设有三个WIFI热点&#xff0c;位置分别在(x1,y1), (x2,y2), (x3,y3), 移动端测量到每一个热点的距离L1,L2和L3&#xff0c;要求解移动端的位置. #include <iostream> #include <vector> #include <cmath> class Point { pub…

数据结构笔记 4 树和二叉树

二叉树和完全二叉树的区别&#xff1f; 二叉树和完全二叉树的主要区别在于它们的结构特性和节点排列方式&#xff1a; 1. **二叉树**&#xff1a; - 是一种数据结构&#xff0c;其中每个节点最多有两个子节点&#xff0c;通常称为左子节点和右子节点。 - 节点的子节点数量…

海思SD3403,SS928/926,hi3519dv500,hi3516dv500移植yolov7,yolov8(21)Yolov9s测试

四天前yolov9的作者终于开源了yolov9s和yolov9t模型。这个作者之前一直没开源t,s,只有c开始的,而且onnx转换后数据大小特别大,当时直接就放弃测试了。 另外之前代码有很明显的抄v5的痕迹。所以印象很不好。 现在总算是开源t,s模型,而且这里评估的结果上来看是好于yolov8的…

两款好用的IOS、Android图片处理应用

GIF 小助手 GIF工具包是一个简单实用的GIF动画编辑器&#xff0c;目前仅支持IOS平台。 使用该软件&#xff0c;可以将多个图像、视频和现场照片创建为gif。 主要功能&#xff1a; 多种输入源&#xff1a;用户可以将多个图片、视频或Livephoto转换成GIF动图。 编辑功能&#…

RDK X3(aarch64) 测试激光雷达思岚A1

0. 环境 - 亚博智能的ROSMASTER-X3 - RDK X3 1.0 0.1 资料 文档资料 https://www.slamtec.com/cn/Support#rplidar-a-series SDK https://github.com/slamtec/rplidar_sdk ROS https://github.com/slamtec/rplidar_ros https://github.com/Slamtec/sllidar_ros2 1. robostu…

windows上安装MongoDB,springboot整合MongoDB

上一篇文章已经通过在Ubuntu上安装MongoDB详细介绍了MongoDB的各种命令用法。 Ubuntu上安装、使用MongoDB详细教程https://blog.csdn.net/heyl163_/article/details/133781878 这篇文章介绍一下在windows上安装MongoDB&#xff0c;并通过在springboot项目中使用MongoDB记录用户…