Deconstructing Denoising Diffusion Models for Self-Supervised Learning

在这里插入图片描述


开头说点题外话:这篇可谓是大咖云集啊,刘壮、谢赛宁、何凯明这些耳熟能详的名字,并且这篇论文一些人也觉得分析特别到位,不愧是大佬视角,配得上“解构”两个字;很巧的是,本科阶段的团队导师也是去噪方向的,但是跟大师兄去干目标检测了,因为当时觉得框框非常酷炫,而且大师兄的技术素养好像比导师更靠谱一点哈哈哈,哪知目标检测蛋糕越来越小,想要有好东西甚至水论文,都得涉及交叉领域,炼丹炉还时不时炸锅,丹一次比一次烂,深有感触啊(也有可能自己太菜了);废话不多说,开始论文盛宴!


论文地址:

https://arxiv.org/abs/2401.14404.pdf


摘要

在本研究中,作者们研究了最初用于图像生成的去噪扩散模型(DDM)的表示学习能力。作者们的理念是解构DDM,逐步将其转变为经典的去噪自动编码器(DAE)。

这种解构过程使作者们能够探索现代ddm的各个组成部分如何影响自监督表征学习。

作者们观察到,只有很少的现代模块对于学习良好的表示是至关重要的,而其他许多组件则是不必要的;作者们把多余的简化,化繁为简得出了一种高度简化的方法类似于经典的DAE。


引言

去噪是当前计算机视觉等领域生成模型发展趋势的核心,涉及到的算法通常被称为去噪扩散模型(Denoising Diffusion Models, DDM),例如学习一个去噪自动编码器(Denoising Autoencoder, DAE),大概原理是去除由扩散过程驱动的多级噪声(其实就是diffusion的单个阶段原理,加噪声然后再去噪,让模型学习学会生成图像);

对于高分辨率、逼真的图像有着效果出众的图像生成质量,这些生成墨香对于理解视觉内容似乎具有很强的识别表示(凯明大佬MIT第一课就说过,深度学习就是表征/表示学习)。

DAE与DDM的内容和区别

DAE虽然是生成模型的柱石,但是最初是为了以自监督的方式从数据中学习表示而提出的;最成功的DAE变体是基于“噪声掩膜(noise mask)”,比如预测文本缺失的BERT,预测图像缺失的MAE;这些变体与加噪声还是有很大区别:掩膜是明确了未知或已知的内容,但是去除人工加的噪声是没有清晰的信号可以用(可以理解为引导);所以这是DDM和DAEs的区别,DDM基于添加的噪声,可以在不明确标记未知/已知内容的情况下学习表示;

现在DDM模型百花齐放,一些数据结果都非常漂亮,但是这些模型都是为了生成设计的,不是为了识别,所以这些模型的表示能力是去噪过程获得的还是扩散过程获得的,这是一个疑问;

关于DDM到DAE的发现

所以作者们训练一个面向识别的模型,将DDM简化为DAE,以学习表示为目标,研究DDM的每个能想到的方面;

作者们发现关键模块是一个tokenizer(标记器),这个标记器创建一个低维潜在(latent)空间,后续由发现是这个空间让DAE更加优秀而不是标记器的其他细节构造;

作者们构建l-DAE时发现(大佬就是大佬,总是能发现东西),使用单级噪声也能让l-DAE表现不错,使用多级噪声类似于数据增强,可能有用但不是关键,所以作者们就认为:DDM的表示/表征能力是由去噪驱动过程获得的,而不是扩散
在这里插入图片描述

l-DAE最终结果
  1. 高于基准算法(肯定是高的,毕竟是在基准上改)
  2. 低于对比学习的基准算法
  3. 高于基于掩膜的方法

相关工作

图像生成的方法概念上是无/自监督学习的形式,模型在没有标记数据的情况下进行训练,学习捕获输入数据的底层分布;

人们认为生成高质量的图像表面这个模型具有学习良好表示的能力,例如生成式对抗网络GAN、变分自编码器VAEs、上下文编码器、掩膜自编码器MAE等;作者们注意到,虽然DDM的生成能力表现出对图像的理解,但是不一定转化成对下游任务有用的表示;DAE基准表现的不好导致很少有关于加高斯噪声的经典DAE的工作出现;


去噪模型的背景

(这边的内容很适合不太了解去噪扩散领域的研究者,点赞)

扩散过程要用干净的数据,依次添加噪声,噪声随着时间步长变化而变化;

利用一个公式进行损失计算,对网络进行多个噪声级别的训练,一直迭代训练,直到得到干净的数据;DDM可以由两种选择,一种是原始图像作为干净数据,一种是在标记其生成的潜在空间上构建DDM,在图2b的情况下,标记器通常是一个预训练好的自编码器,如VQVAE;

(这边原论文是一大堆公式符号讲解,做笔记较困难,建议有兴趣的小伙伴看原文)。

在这里插入图片描述

扩散transformer(DIT)

作者们使用这个进行研究,出自以下原因:

  1. 基于transformer的DDM与其他基于unet的不同;
  2. 基于transformer的架构可以与更多的工作进行效果对比;
  3. DiT在编码器和解码器之间有更清晰的区分,而UNet的编码器和解码器通过跳跃连接,在评估编码器时可能需要额外的网络手术(也就是说需要自己额外加结构,增加了手工难度以及不确定性);
  4. DiT的训练速度比其他基于unet的DDMs快得多;

最终使用DiT-Large (DiT-L)作为DDM的基准,解码器和编码器涉及到的block一共24个,和ViT-L一样多;编码器是12个block,所以作者成为1/2L;

标记器Tokenizer

使用VQGAN标记器,256×256×3输入图像转换为32×32×4潜在图(latent map),其步长为8.

初始基准

在ImageNet上训练模型400epochs,分辨率为256×256像素;使用其1/2L编码器的线性探头精度为57.5%;该DiT-L型号的生成质量(FID-50K)为11.6。


解构去噪扩散模型

解构部分分为三个阶段,首先将DiT更倾向于自我监督学习,尽可能将DDM的很多设计简化成经典的DAE;

自监督学习的DDM重新定位
  1. 移除类条件反射:DDM通常在类标签上进行训练,很大程度上提高生成质量,但在自监督学习中是不合理的,所以在基准中删除类约束( class-conditioning);线性探针精度从57.5%大幅提高到62.1%,生成质量下降很多(FID从11.6到34.2),作者猜测移除类条件可以迫使模型学习更多的语义;

  2. 解构VQGAN:原标记器会使用多个损失,如自动动编码重建损失、KL-散度正则化损失、基于经过ImageNet分类训练的有监督VGG网的感知损失、带有鉴别器的对抗性损失;作者在表一删除后两个;感知损失是有监督的预训练,与现在的方案不合理,删除,线性探测精度从62.5%显著降低到58.4%;消除对抗性损失的VQGAN标记器,将线性探测精度从58.4%略微提高到59.0%(表1);至此,标记器本质上变成了VAE,并且,消除了任何一种损失都会影响生成质量;
    在这里插入图片描述

  3. 替换噪声时间表:在生成任务中,目标是逐步将噪声图转化为图像。因此,原始噪声调度在噪声非常大的图像上花费了很多时间步(图3);作者的目标不是生成,所以使用了更简单的噪声线性衰减方法,极大地提高了线性探头精度,从59.0%提高到63.4%,生成能力进一步减少至FID=93.2
    在这里插入图片描述

作者们总结,自监督学习的效果和其生成质量无关,DDM的表示能力和生成能力并不对标;

解构标记器(Tokenizer)

比较四种VAE标记器,每一种是前一种的简化;

  1. 卷积VAE:该VAE的编码器f和解码器g是深度卷积(conv)神经网络;
    在这里插入图片描述

  2. 补丁VAE:其中VAE编码器和解码器都是线性投影,并且VAE输入x是一个patch,将补丁(patch)大小设置为16×16像素;
    在这里插入图片描述

  3. 补丁AE:在VAE的基础上去掉正则化,编码器和解码器都是线性投影;
    在这里插入图片描述

  4. 基于补丁的PCA:在patch空间上执行主成分分析(PCA),可以简单地在大量随机采样的patch上通过特征分解来计算,不需要基于梯度的训练,可以通过公式证明和AE相似;
    在这里插入图片描述

在这里插入图片描述

作者还通过“每个标记”的潜在维度我们得出以下结论:

  1. 标记器的潜在维数是DDM在自监督学习中发挥作用的关键:标记器的所有四种变体都表现出类似的趋势,Conv VAE效果最差;KL正则化项是不必要的,因为AE和PCA变体表现不错;PCA标记器的表现效果出乎意料,并且作者们称这个是将DDM演变成经典DAE的关键
    在这里插入图片描述

  2. 高分辨率、基于像素的DDM不如自监督学习:使用一个“naıve标记器”对从调整大小的图像中提取的补丁进行映射,“token”是由patch的所有像素组成的平坦向量;当图像尺寸为256,patch尺寸为16 (d=768)时,线性探头精度急剧下降至23.6%;表明标记器和潜在空间对于DDM/DAE在自监督学习场景中很关键。(这边没看懂,有大佬看懂的指点一下迷津)
    在这里插入图片描述

前往经典去噪自编码器

作者们删除当前基于PCA的DDM与经典DAE的有所差距的每个模块;在下表给出了结果,以下进行讨论;
在这里插入图片描述

  1. 预测干净的数据:目前的DDM通常预测噪声λ但经典DAE预测的是干净数据,在预测干净数据(而不是噪声)的修正下,线性探针精度从65.1%下降到62.4%,虽然数值下降,但是作者们想要将模型趋向于DAE;(这边是由公式讲解的,太复杂,有兴趣的看原文);
  2. 移除输入缩放:DDMs中输入按γt的因子进行缩放,在经典DAE中并不常见。接下来,我们研究去除输入标度,即设γt≡1。γt是固定的,需要直接在σt上定义一个噪声调度,经验地将Eq.(3)中的权重设置为λt = 1/(1 + σ2 t),这再次强调了更干净的数据(更小的σt)。在确定γt≡1后,我们获得了63.6%的精度,这与变化的γt对应的62.4%相比是有利的;在作者的场景中不需要按γt缩放数据。(算法本质数学体现的淋漓尽致!respect);
  3. 用逆PCA对图像空间进行操作:作者们希望DAE可以直接在图像空间上工作,同时仍然具有良好的准确性,可以通过逆主成分分析(invPCA)来实现;通过主成分基(即V)将输入图像投影到隐空间中,在隐空间中加入噪声,并通过逆主成分基(VT)将噪声隐投影回图像空间,随后应用一个标准的ViT网络直接对图像进行操作,省略掉标记器模块。最终效果为准确率63.9%;表明用invPCA对图像空间进行处理可以获得与对潜在空间进行处理相似的结果
  4. 预测原始图像:虽然逆PCA可以在图像空间中产生预测目标,但该目标不是原始图像,因为PCA对于任何降维都是有损编码器,直接预测原始图像是一种更自然的解决方案;简单来说是其输入是带有噪声的图像,在PCA潜空间中加入噪声,其预测是原始的干净图像,精度达到64.5%;
  5. 单一噪音水平:由噪声调度给出的多层次噪声是由DDM中的扩散过程驱动的特性,在经典DAE中没有必要。我们将噪声级σ固定为常数(p 1/3),与多级噪声对应(64.5%)相比下降了3%。使用多级噪声类似于DAE中的一种数据增强形式:它是有益的,但不是促成因素。这也意味着DDM的表示能力主要是通过去噪驱动过程获得的,而不是扩散驱动过程;作者们后续保留这一个多级噪声操作。

上面的一些操作都整合在图中,这个图真的朴素但是内容丰富。
在这里插入图片描述


分析与比较

作者们将l-DAE与MAE进行一系列对比:

  1. 可视化潜在噪声:l-DAE是DAE的一种形式,它学习去除附加到潜在空间中的噪声。利用逆主成分分析可以很容易地将潜在噪声可视化(下图左是干净图像,中是高斯噪声图像,右是PCA噪声图像)。与像素噪声不同,潜在噪声在很大程度上与图像的分辨率无关。采用基于patch的PCA作为标记器,潜在噪声的模式主要由patch大小决定;作者们认为它是使用补丁而不是像素来解析图像,类似于MAE,对patch进行掩膜而不是单个像素。
    在这里插入图片描述

  2. 去噪结果:尽管存在较大的噪声,仍能产生合理的预测结果。尽管如此,可视化可以帮助我们更好地理解l-DAE如何学习良好的表示;增加到潜在空间的重噪声为模型解决一个具有挑战性的借口任务,基于局部一个或几个有噪声的斑块来预测内容是很重要的(即使对人类来说也是如此。(这一段没看懂,大概就是找补效果差,不得不说这样的说法都挺说服人接受的)
    在这里插入图片描述

  3. 数据增强:所有模型都没有数据增强:只使用图像的中心作物:没有随机调整大小或颜色抖动;作者们进一步探索了最终l-DAE的温和数据增强(随机调整大小);表明l-DAE的表示学习能力在很大程度上独立于对数据增强的依赖,MAE也是相似的结果;
    在这里插入图片描述

  4. 训练轮数:所有的实验都是基于400 epoch的训练。为了遵循MAE,研究了800和1600epoch的训练;
    在这里插入图片描述

  5. 模型大小:所有的型号都是基于DiT-L的变体,其编码器和解码器都是“ViT- 1/2L”(ViT- l的一半深度);进一步训练不同大小的模型,编码器分别为ViT-B或ViT-L(解码器始终与编码器大小相同);从VIT-b缩放到VIT-l有10.6%的增益。在MAE中VIT-b缩放到VIT-l的增益为7.8%。
    在这里插入图片描述

  6. 与以前的基线比较:作者们使用属于对比学习的MoCov3,基于掩膜的MAE,与l-DAE进行对比;与MAE相比,l-DAE表现良好,显示出1.4% (ViT-B)或0.8% (ViT-L)的退化,但是仍然比不上对比学习的MoCo;
    在这里插入图片描述


总结

l-DAE在很大程度上类似于经典DAE,可以在自监督学习中表现得很有竞争力,关键原因是加有噪声的低维潜在空间。


论文总结后面还有篇幅非常多的实验细节,笔记上就不附带了;个人在扩散模型这边也是一窍不通,所以对于这篇论文的一些概念和想法还是一知半解,就当作知识扩展吧哈哈。


结尾小废话:对于论文其实我更喜欢引言和相关工作去介绍大佬视角的各论文特点,所以关于引言会非常多,论文的实验效果我反而不太关心(神仙打架凡人望一眼的资格都没有),毕竟读论文是站在巨人的肩膀上看远处嘛。另外,今天的笔记篇幅好像也挺长的,不过谁让这篇论文是众多大佬的剖析范例呢?很多想法和思考都值得仔细学习啊哈哈哈。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是虚拟继承

由于C支持多继承&#xff0c;除了public、protected和private三种继承方式外&#xff0c;还支持虚拟&#xff08;virtual&#xff09;继承&#xff0c;举个例子&#xff1a; #include <iostream> using namespace std;class A {}; class B : virtual public A {}; class…

大学形势与政策~秋试题及答案,分享几个实用搜题和学习工具 #媒体#笔记

大学生必备&#xff0c;这条笔记大数据一定定要推给刚上大学的学弟学妹&#xff01;&#xff01; 1.白鸽搜题 这个是公众号 超强题库资源&#xff0c;涵盖行业单位、学历提升等各类考试。解题更轻松&#xff0c;学习更高效。 下方附上一些测试的试题及答案 1、外部招募的主…

【数据库】聚合函数

系列文章目录 &#x1f308;座右铭&#x1f308;&#xff1a;人的一生这么长、你凭什么用短短的几年去衡量自己的一生&#xff01; &#x1f495;个人主页:清灵白羽 漾情天殇_计算机底层原理,深度解析C,自顶向下看Java-CSDN博客 ❤️相关文章❤️&#xff1a;清灵白羽 漾情天…

虚拟机Ubuntu无法识别U盘

1. 现象 虚拟机插入U盘后&#xff0c;无反应。系统中也找不到U盘。 2. 原因 VMware USB Arbitration Service服务别关闭了&#xff0c;任务管理器中找不到该任务。 服务中也没有运行&#xff08;services.msc&#xff09; 3. 解决 打开服务设置窗口&#xff08;services.…

温湿度项目设计V1.0——PCB布线及打板

PCB布线 画好原理图之后&#xff0c;通过工具——标注所有器件&#xff0c;当前原理图上的器件编号会被自动标注号。点击设置——Update PCB Document文件名&#xff0c;弹出的界面先点击生效变更&#xff0c;然后点击执行变更。界面会跳转到PCB界面。如果生效变更有问题&…

城管智慧执法系统源码,基于微服务+java+springboot+vue开发

城管智慧执法系统源码&#xff0c;基于微服务javaspringbootvue开发 城管智慧执法系统源码有演示&#xff0c;自主研发&#xff0c;功能完善&#xff0c;正版授权&#xff0c;可商用上项目。 一套数字化的城管综合执法办案系统源码&#xff0c;提供了案件在线办理、当事人信用…

开学考核复现

不要尝试爆破哟!(misc) 下载图片&#xff0c;解析图片 拿到密码&#xff0c;解压压缩包&#xff0c;生成图片 扫描二维码 留个后门(misc) D盾扫描 打开文件寻找 师姐的旅游照片(misc) 随波逐流&#xff0c;然后base64解码 修改后缀为zip&#xff0c;解压 修改高度 Fuck! (C…

「媒体宣传」企业活动发布会邀请媒体报道的好处与优势?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 企业活动发布会邀请媒体报道具有多种好处与优势&#xff0c;这些都有助于提升企业的知名度、形象和影响力。以下是一些主要的好处与优势&#xff1a; 提升品牌知名度&#xff1a;媒体报道…

MATLAB环境下基于离散小波变换和主成分平均的医学图像融合方法

随着计算机技术和生物影像工程的日趋成熟&#xff0c;医学图像为医疗诊断提供的信息越来越丰富。目前&#xff0c;由于医学成像的设备种类繁多&#xff0c;导致医生获得的图像信息差异较大。如何把这些信息进行整合供医生使用成为当务之急。基于此&#xff0c;医学图像融合技术…

Windows下安装QT,遇到下载组件中没有指定版本(提供解决方式) + 5.15详细安装步骤版

Windows下安装QT 5.15详细安装问题详解 前情提要一、QT 5.15及之后版本的下载问题二、QT 5.15及之后版本的下载方式&#xff1a;下载QT(在线安装版本)三、详细安装步骤遇到<下载组件>中没有指定版本的解决方式 前情提要 嵌入式设备搭载的QT版本是5.15&#xff0c;所以PC…

【C语言】预处理编译链接调试技巧详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;C语言_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.预处理 1.1 预定义符号 1.2 #define 1.2.1 #define 定义标识符 1.2.2 #define 定义宏 1.2.3 #define 替换规则 1.2.4 #和## …

23. UE5 RPG制作属性面板(一)

随着角色的属性越来越多&#xff0c;我们不能每次都进行showdebug abilitysystem进行查看&#xff0c;而且玩家也需要查看角色属性&#xff0c;所以需要一个查看玩家角色属性的面板。 在前面&#xff0c;我们创建三种类型的属性 Primary Attributes&#xff08;主要属性&#…

prettier + eslint 配置

vue-cli 新建项目选择 ESLint Prettier 会自动下载相关包 settings.json {"editor.formatOnSave": true, // 开启保存文件自动格式化代码"editor.defaultFormatter": "esbenp.prettier-vscode", // 默认的代码格式化工具// "prettier.r…

11 Games101 - 笔记 - 几何(曲线与曲面)

11 几何&#xff08;曲线与曲面&#xff09; 贝塞尔曲线 定义 贝塞尔曲线&#xff1a;由控制点和线段组成的曲线&#xff0c;控制点是可拖动的支点。 如图&#xff0c;蓝色为贝塞尔曲线&#xff0c;p1, p2, p3为控制点&#xff0c;曲线和初始与终止端点相切&#xff0c;并且…

数字乡村引领新风尚:科技赋能农村实现全面进步

随着信息技术的迅猛发展&#xff0c;数字乡村正成为引领农村全面进步的新风尚。科技作为推动农村发展的强大引擎&#xff0c;正在深刻改变着传统农业的生产方式、农村的社会结构以及农民的生活方式&#xff0c;为农村经济社会的全面进步注入了新的活力和动力。本文将从数字乡村…

【深度学习】四种天气分类 模版函数 从0到1手敲版本

引入该引入的库 import torch import torch.nn as nn import matplotlib.pyplot as plt import torch.nn.functional as F import torchvision import torch.optim as optim %matplotlib inline import os import shutil import glob os.environ["KMP_DUPLICATE_LIB_OK&q…

双指针算法:三数之和

文章目录 一、[题目链接&#xff1a;三数之和](https://leetcode.cn/problems/3sum/submissions/515727749/)二、思路讲解三、代码演示 先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;^ _ ^<3 ❤️ ❤️ ❤️ 码字不易&#xff0c;大家的支持就是我坚持…

马蹄集oj赛(双周赛第二十三次)

目录 数列分割 小码哥的地毯 小码哥的三色墙 palace 高数考试 新全排列 黑白双煞 等差 数三角形 区间修改 相对马高 小码哥剪绳子 数列分割 难度:黄金 时间限制:1秒巴 占用内存:64 M 小码哥给你一个长度为n的数列&#xff0c;求将该数列分割成两个左右两个部分且两…

大模型学习笔记七:LLM应用

文章目录 一、维护生产级别的LLM应用,需要做的事二、符合需求的LLM App维护平台三、LangFuse1)替换OpenAI客户端(把跟OpenAI交互记录到LangFuse)1.1)几个基本概念2)通过LangChain的回调函数触发记录(上面用的原生OpenAI接口,下面是调用LangChain的接口)3)构建一个实际…

打开snipaste软件的界面后,上次的截图无法销毁?

现象&#xff1a; 鼠标放上去&#xff0c;如图会有1个圆圈&#xff0c;无法消除一直显示在电脑桌面上&#xff0c;无法使图片消失 解决办法&#xff1a; 你应该是点到了空格&#xff0c;开启了编辑模式&#xff0c;然后又选中了其中一个功能例如橡皮檫导致无法移动和销毁&…