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

何恺明新作 l-DAE:解构扩散模型

何恺明新作 l-DAE:解构扩散模型

    • 提出背景
      • 扩散模型步骤
      • 如何在不影响数据表征能力的同时简化模型?
      • 如何进一步推动模型向经典DAE靠拢?
      • 如何去除对生成任务设计的DDM中不适用于自监督学习的部分?
      • 如何改进DDM以专注于清晰图像表示的学习?

 


提出背景

论文:https://arxiv.org/pdf/2401.14404.pdf

我们有一堆带噪声的照片,我们的任务是清理这些照片上的噪声,让它们看起来更清晰。

去噪扩散模型(DDM)就像是一个清洁工,它不仅能把照片清理得非常干净,还能通过这个清洁过程学会识别照片中的内容。

但是,这个清洁工原本是被设计来做清洁工作的,人们开始好奇它是怎么学会识别照片内容的。

是因为它清理照片的方式特别(去噪过程),还是因为它在清理时用的一些特殊工具(扩散过程)?

我们的研究就是要探究这个问题。

我们尝试了各种方法,最后发现,关键其实在于这个清洁工如何看待照片中的每一小块内容,把它们转换成更简单的形式来理解。

这有点像是给它一副眼镜,让它能更好地看清楚照片的细节。

通过这个过程,我们设计出了一种简单的方法,让清洁工不仅能清理照片,还能更好地理解照片内容。

我们的方法虽然不是最顶尖的,但比之前的方法有了很大的进步,也让我们看到了未来有更多可能性去改进这个过程。

在这里插入图片描述

图是一种被称为“潜在去噪自编码器”(L-DAE)的技术。它是一种图像处理方法,用于从带有噪声的图片中恢复出清晰的图片。

  1. 原始图像:左下角是一个没有噪声的原始图像,这是一张蝴蝶停在黄色花朵上的照片。

  2. 噪声添加:通过一种技术叫做“片段式主成分分析”(patch-wise PCA),原始图像被转化到一个叫做“潜在空间”的地方,在这个过程中添加了噪声。

    这就是中下角的图像,你可以看到图像变得模糊和杂乱,就像被随机的色块覆盖了一样。

  3. 自编码器:在噪声图像的基础上,一个自编码器开始工作,包括一个编码器和一个解码器。

    编码器的作用是将噪声图像转换为一个更简洁的内部表示,而解码器则尝试从这个表示中重建原始图像。

  4. 去噪图像:最终,自编码器输出了一个去除噪声的图像,这是右下角的图像。

    尽管噪声被去除,图像中的细节和蝴蝶的特征都得以保留。

这个技术的目标是模仿和简化更复杂的去噪扩散模型(DDM),同时尝试保持与经典去噪自编码器(DAE)相似的学习性能。

这张图上方的流程图解释了整个过程:从原始图像开始,通过PCA添加噪声,然后通过自编码器进行编码和解码,最终得到去噪图像。

这种方法是自监督学习的一种形式,这意味着它可以通过观察大量的例子自己学习去噪,而不需要人为指定噪声和去噪之间的关系。

在这里插入图片描述
这幅图是两种不同的机器学习模型,用于处理图像的去噪任务:

  1. 经典的去噪自编码器(DAE):这个模型包括三个部分:

    • 噪声:在输入图像上添加噪声。
    • 编码器:编码器接收带噪声的图像,将其编码到某种内部表示。
    • 解码器:解码器尝试从内部表示中恢复去噪后的图像。
  2. 现代去噪扩散模型(DDM):这个模型是在潜在空间上操作的去噪模型,它包括四个部分:

    • tokenizer:这个组件将原始图像转换成潜在的表示形式。
    • 噪声:就像经典DAE一样,它在潜在表示上添加噪声。
    • 编码器:编码器学习如何处理带噪声的潜在表示。
    • 解码器:解码器从编码器输出的表示中恢复出去噪后的潜在表示,然后可以转换回去噪后的图像。

图中的(a)部分展示的是传统方法,直接在图像空间上添加和预测噪声

而(b)部分展示的是现代方法,如LDM(潜在扩散模型)和DIT(扩散变换器),它们在潜在空间上添加和预测噪声,而不是直接在图像空间上操作。

这种现代方法通常能够更有效地处理高维数据,如图像,因为潜在空间的维度通常远小于原始图像空间的维度,这可以提高处理速度并提升去噪效果。

扩散模型步骤

扩散模型是一类深度生成模型,它们通过模拟数据的扩散过程(即逐渐引入噪声到数据中)来学习数据的分布。

在去噪扩散模型(Denoising Diffusion Models, DDM)中,这一过程被逆转用来生成数据:模型学习如何逐步从噪声中恢复出干净的数据。

下面是解构现代去噪扩散模型的步骤和方法:

  1. Tokenizer(向量化)

    • 这一步是将高维的图像数据映射到一个低维的潜在空间(latent space)。

     
    潜在空间中的向量可以捕捉到图像的重要特征,但是维度更低,这使得处理起来更高效。

  2. 添加噪声

    • 在潜在空间中,这些低维的表示(latent representations)会被逐渐添加噪声,这个过程称为扩散过程。

     
    添加噪声是一个逐步的过程,在每一步中都会引入一些噪声,直到数据完全变成噪声。

  3. 训练去噪模型

    • 训练一个去噪模型来预测每一步扩散过程中添加的噪声。

     
    这个模型的目标是学习如何从带噪声的潜在表示中恢复出原始的潜在表示。

  4. 采样(生成)过程

    • 通过逆向运行扩散过程来生成新的数据。
    • 从纯噪声开始,模型逐步减少噪声,逐步恢复出清晰的数据。

解构这个模型的关键点在于理解如何在潜在空间上进行扩散和去噪过程,而不是直接在原始的数据空间上进行。

如何在不影响数据表征能力的同时简化模型?

在扩散模型中,到底哪个步骤最重要?

实验发现,让 DAE 得到好表征的是低维隐空间,而不是Tokenizer(向量化)。

  • 说明复杂的tokenizer可能不是学习好的数据表示所必需的
  • 简化tokenizer相当于使用更简单的厨具来达到相同的烹饪效果

如何在不影响数据表征能力的同时简化模型?

  • 实验发现,可通过替换复杂的VQGAN tokenizer为更简单的PCA tokenizer

不同的图像处理方法:

  • TA们被用于将图像分解成较小的片段,进而进行深入的特征提取。
    在这里插入图片描述

  • Patch-wise VAE 分词器: 这是一种处理图像的方法,使用了一种称为自编码器的技术,但去掉了一些复杂的数学限制,让它变得更简单。

  • Patch-wise AE 分词器: 这个方法更简单,只是在图像的小块上应用基本的编码和解码过程。

  • Patch-wise PCA 分词器: 这是最基本的方法,用一种称为主成分分析的技术来处理图像的小块。PCA 是一种不需要复杂训练就能找到图像主要特征的方法。

在这里插入图片描述
即使是最基本的PCA方法也表现出色,甚至简单的图像块处理方法有时候比复杂的方法效果更好。

所以,完全可以用简单的代替复杂的。

  • 把复杂的VQGAN tokenizer 换为 更简单的PCA tokenizer。

如何进一步推动模型向经典DAE靠拢?

直接在图像空间操作有助于理解和提高模型的直观性和可解释性。

使用逆PCA直接在图像空间操作,而非仅在隐空间。

如何去除对生成任务设计的DDM中不适用于自监督学习的部分?

因为类别条件化处理会限制模型学习更普遍的数据表示。

移除DDM的类别条件化处理。

如何改进DDM以专注于清晰图像表示的学习?

原始噪声调度太侧重于噪声图像,不利于学习清晰图像表示。

替换噪声调度,让模型更多地关注清晰的图像。

 


如果将这个过程比作学习做菜的过程,那么:

  • 去除类别条件化处理就像是摒弃菜谱中不必要的复杂步骤,专注于基本的烹饪技巧。
  • 简化tokenizer相当于使用更简单的厨具来达到相同的烹饪效果。
  • 改进噪声调度类似于调整烤箱温度,更加关注食物烹饪的质量而非速度。
  • 直接在图像空间操作就像是直接在炉子上(图像上)调整火候,而不是依赖定时器(隐空间)的间接指示。

相关文章:

何恺明新作 l-DAE:解构扩散模型

何恺明新作 l-DAE:解构扩散模型 提出背景扩散模型步骤如何在不影响数据表征能力的同时简化模型?如何进一步推动模型向经典DAE靠拢?如何去除对生成任务设计的DDM中不适用于自监督学习的部分?如何改进DDM以专注于清晰图像表示的学习…...

【数学建模获奖经验】2023第八届数维杯数学建模:华中科技大学本科组创新奖获奖分享

2024年第九届数维杯大学生数学建模挑战赛将于:2024年5月10日08:00-5月13日09:00举行,近期同学们都开始陆续进入了备赛阶段,今天我们就一起来看看上一届优秀的创新奖选手都有什么获奖感言吧~希望能帮到更多热爱数学建模的同学。据说点赞的大佬…...

Kubernetes(k8s第二部分)

资源清单相当于剧本 什么是资源: k8s中所有的内容都抽象为资源,资源实例化后,叫做对象。 1.K8S中的资源 集群资源分类 名称空间级别: kubeadm k8s kube-system kubectl get pod -n default 工作负载型资源,&a…...

mac新环境

1、maven 设置阿里云镜像 打开Maven的settings.xml文件。找到<mirrors>标签&#xff0c;如果没有&#xff0c;可以手动添加。在<mirrors>标签内部添加以下内容&#xff1a; <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorO…...

神经网络基础知识:LeNet的搭建-训练-预测

1.参考视频&#xff1a; 2.1 pytorch官方demo(Lenet)_哔哩哔哩_bilibili 2.总结&#xff1a; &#xff08;1&#xff09;LeNet网络就是 我最开始用来预测mnist数据集的那个网络&#xff0c;简单的2个conv2个maxpool3个linear层 &#xff08;2&#xff09;up主整理的train.py…...

SpringMVC 学习(七)之报文信息转换器 HttpMessageConverter

目录 1 HttpMessageConverter 介绍 2 RequestBody 注解 3 ResponseBody 注解 4 RequestEntity 5 ResponseEntity 6 RestController 注解 1 HttpMessageConverter 介绍 HttpMessageConverter 报文信息转换器&#xff0c;将请求报文&#xff08;如JSON、XML、HTML等&#x…...

浅谈密码学

文章目录 每日一句正能量前言什么是密码学对称加密简述加密语法Kerckhoffs原则常用的加密算法现代密码学的原则威胁模型&#xff08;按强度增加的顺序&#xff09; 密码学的应用领域后记 每日一句正能量 人生在世&#xff0c;谁也不能做到让任何人都喜欢&#xff0c;所以没必要…...

Android 混淆是啥玩意儿?

什么是混淆 Android混淆&#xff0c;是伴随着Android系统的流行而产生的一种Android APP保护技术&#xff0c;用于保护APP不被破解和逆向分析。简单的说&#xff0c;就是将原本正常的项目文件&#xff0c;对其类、方法、字段&#xff0c;重新命名a,b,c…之类的字母&#xff0c…...

【嵌入式——QT】QListWidget

QListWidget类提供了一个基于项的列表小部件&#xff0c;QListWidgetItem是列表中的项&#xff0c;该篇文章中涉及到的功能有添加列表项&#xff0c;插入列表项&#xff0c;删除列表项&#xff0c;清空列表&#xff0c;向上移动列表项&#xff0c;向下移动列表项。 常用API a…...

爬虫入门到精通_基础篇5(PyQuery库_PyQuery说明,初始化,基本CSS选择器,查找元素,遍历,获取信息,DOM操作)

1 PyQuery说明&#xff1a; PyQuery是python中一个强大而又灵活的网页解析库&#xff0c;如果你觉得正则写起来太麻烦&#xff0c;又觉得BeautifulSoup语法太难记&#xff0c;如果你熟悉jQuery的语法那么&#xff0c;PyQuery就是你绝佳的选择。 安装 pip3 install pyquery2 …...

用冒泡排序模拟C语言中的内置快排函数qsort!

目录 ​编辑 1.回调函数的介绍 2. 回调函数实现转移表 3. 冒泡排序的实现 4. qsort的介绍和使用 5. qsort的模拟实现 6. 完结散花 悟已往之不谏&#xff0c;知来者犹可追 创作不易&#xff0c;宝子们&#xff01;如果这篇文章对你们有帮助的话&#xff0c;别忘了给个免…...

智慧公厕:打造智慧城市环境卫生新标杆

随着科技的不断发展和城市化进程的加速推进&#xff0c;智慧城市建设已经成为各地政府和企业关注的焦点。而作为智慧城市环境卫生管理的基础设施&#xff0c;智慧公厕的建设和发展也备受重视&#xff0c;被誉为智慧城市的新标杆。本文以智慧公厕源头厂家广州中期科技有限公司&a…...

【学习版】Microsoft Office 2021安装破解教程

本文转载自知乎&#xff1a;https://zhuanlan.zhihu.com/p/655653158 由本人二次整理修改 用到的软件为&#xff1a;Office Tool Plus&#xff0c;下载链接&#xff1a;Office Tool Plus 官方网站 - 一键部署 Office (landian.vip) 下载页面&#xff1a;&#xff08;随机找个站…...

基于java Springboot实现课程评分系统设计和实现

基于java Springboot实现课程评分系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源…...

git操作基本指令

1.查看用户名 git config user.name 2.查看密码 git config user.password 3.查看邮箱 git config user.email 4.修改用户名 git config --global user.name "xxx(新用户名)" 5.修改密码 git config --global user.password "xxx(新密码)" 6.修改…...

YOLO算法

YOLO介绍 YOLO&#xff0c;全称为You Only Look Once: Unified, Real-Time Object Detection&#xff0c;是一种实时目标检测算法。目标检测是计算机视觉领域的一个重要任务&#xff0c;它不仅需要识别图像中的物体类别&#xff0c;还需要确定它们的位置。与分类任务只关注对…...

【Android】更改手机主题导致app数据丢失问题

情景&#xff1a;在使用app过程中更改系统主题&#xff08;比如从浅色主题改为深色主题&#xff09;&#xff0c;这时activity销毁重建了&#xff08;即走了onPause、onStop、onSaveInstanceState、onDestroy、onCreate、onRestoreInstanceState、onStart、onResume的生命周期&…...

Dell R730 2U服务器实践3:安装英伟达上代专业AI训练Nvidia P4计算卡

Dell R730是一款非常流行的服务器&#xff0c;2U的机箱可以放入两张显卡&#xff0c;这次先用一张英伟达上代专业级AI训练卡&#xff1a;P4卡做实验&#xff0c;本文记录安装过程。 简洁步骤&#xff1a; 打开机箱将P4显卡插在4号槽位关闭机箱安装驱动 详细步骤&#xff1a; 对…...

Nacos环境搭建 -- 服务注册与发现

为什么需要服务治理 在未引入服务治理模块之前&#xff0c;服务之间的通信是服务间直接发起并调用来实现的。只要知道了对应服务的服务名称、IP地址、端口号&#xff0c;就能够发起服务通信。比如A服务的IP地址为192.168.1.100:9000&#xff0c;B服务直接向该IP地址发起请求就…...

Linux了解

简介 Linux是一种自由和开放源代码的类UNIX操作系统&#xff0c;由芬兰的Linus Torvalds于1991年首次发布。Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统&#xff0c;现在已经被移植到更多的计算机硬件平台&#xff0c;如手机、平板电脑、路由器、视频游戏控…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...