【AI学习】Lilian Weng:What are Diffusion Models?

读OpenAI 的 Lilian Weng博客《What are Diffusion Models?》
文章链接:https://lilianweng.github.io/posts/2021-07-11-diffusion-models/

通过浏览器的在线翻译,直接截图了。翻译的有些问题,但是基本能大概看明白了。
我只是个人的记录,大家如果觉得有益,也可以大概看看:)

以下是文章内容:

到目前为止,我已经写了三种类型的生成模型,GAN、VAE 和基于 Flow 的模型。它们在生成高质量样本方面取得了巨大成功,但每个样本都有自己的一些局限性。由于其对抗性训练性质,GAN 模型以潜在的不稳定训练和世代多样性较低而闻名。VAE 依赖于代理损失。流模型必须使用专门的架构来构建可逆转换。

扩散模型受到非平衡热力学的启发。他们定义了扩散步骤的马尔可夫链,以缓慢地向数据中添加随机噪声,然后学习反转扩散过程以从噪声中构建所需的数据样本。与 VAE 或流动模型不同,扩散模型是通过固定程序学习的,并且潜在变量具有高维数(与原始数据相同)。

在这里插入图片描述
图 1.不同类型的生成模型概述

什么是扩散模型?

已经提出了几种基于扩散的生成模型,其下有类似的想法,包括扩散概率模型(Sohl-Dickstein et al., 2015)、噪声调节评分网络(NCSN;Yang & Ermon,2019 年)和去噪扩散概率模型(DDPM;Ho 等人,2020 年)。

前向扩散过程

在这里插入图片描述
(翻译校正:步长由方差计划表控制
随着步长t变大,数据样本逐渐失去可分辨的特征。)

在这里插入图片描述

与随机梯度 Langevin 动力学的联系

在这里插入图片描述

反向扩散过程

在这里插入图片描述
(这里不理解,为什么反向也是高斯过程)

在这里插入图片描述
值得注意的是,当基于条件x0时,反向条件概率是可处理的:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

训练损失的Lt参数化

在这里插入图片描述
在这里插入图片描述

与噪声调节评分网络 (NCSN) 的连接

在这里插入图片描述
(没看懂,这段的具体含义)

参数化β

在这里插入图片描述

反向过程方差的参数化

在这里插入图片描述

条件生成

在使用条件信息(如 ImageNet 数据集)在图像上训练生成模型时,通常会生成以类标签或一段描述性文本为条件的样本。

分类器引导扩散

在这里插入图片描述
在这里插入图片描述

无分类器指南

在这里插入图片描述

加速扩散模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

潜在变量空间

潜在扩散模型 (LDM;Rombach & Blattmann等人,2022年)在潜在空间而不是像素空间中运行扩散过程,从而降低训练成本并加快推理速度。其动机是图像的大部分位都有助于感知细节,并且在激进压缩后语义和概念构成仍然存在。LDM 通过生成建模学习松散地分解了感知压缩和语义压缩,首先用自动编码器修剪掉像素级冗余,然后在学习到的潜在物上用扩散过程操纵/生成语义概念。
在这里插入图片描述
在这里插入图片描述

放大生成分辨率和质量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模型架构

扩散模型有两种常见的主干架构选择: U-Net 和 Transformer 。
U-Net (Ronneberger et al. 2015) 由一个下采样堆栈和一个上采样堆栈组成。
在这里插入图片描述
在这里插入图片描述
Diffusion Transformer(DiT;Peebles & Xie, 2023)的扩散建模对 latent patches进行操作,使用 LDM(潜在扩散模型)的相同设计空间。DiT 具有以下设置:
在这里插入图片描述

在这里插入图片描述

快速总结

优点: 可处理性和灵活性是生成建模中的两个相互冲突的目标。可处理的模型可以进行分析评估并廉价地拟合数据(例如,通过高斯或拉普拉斯),但它们不能轻易地描述丰富的数据集中的结构。灵活的模型可以拟合数据中的任意结构,但从这些模型中进行评估、训练或采样通常很昂贵。扩散模型在分析上既易于处理又灵活

缺点:扩散模型依赖于扩散步骤的长马尔可夫链来生成样本,因此在时间和计算方面可能非常昂贵。已经提出了新的方法来使该过程更快,但采样仍然比 GAN 慢。

在这里插入图片描述

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

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

相关文章

Redis的三种持久化方法详解

Redis持久化机制详解 | JavaGuide Redis 不同于 Memcached 的很重要一点就是,Redis 支持持久化,而且支持 3 种持久化方式: 快照(snapshotting,RDB)只追加文件(append-only file, AOF)RDB 和 A…

本地生活商城开发搭建 同城O2O线上线下推广

同城本地化商城目前如火如荼,不少朋友咨询本地生活同城平台怎么开发,今天商淘云与大家分享同城O2O线上商城的设计和开发。 本地生活商城一般会涉及到区域以及频道类,一般下单需要支持用户定位、商家定位,这样利于用户可以快速找到…

51单片机快速入门之按键应用拓展

51单片机快速入门之按键应用拓展 LED的点动控制: 循环检测,当key 为0 时 led 亮 反之为熄灭 while(1){ if(key!1) { led0; }else { led1; } } LED的锁定控制: 当按钮按下,led取反值 while(1) { if(key!1) { led!led; } } LED的4路抢答控制: bz默认为0 !bz 取反值,循环启动…

C++系列-模版

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 非类型模版参数 模板参数分类型模板参数与非类型模板参数 类型形参即:出现在模板参数列表,跟在class或者typename之类的参数类型名称 非类型形参即&am…

SpringBoot 数据库表结构文档生成

官方地址&#xff1a;https://github.com/pingfangushi/screw screw 螺丝钉&#xff0c;支持以下数据库 MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB&#xff08;2016&#xff09; 生产文档支持 html word markdown 开始 添加依赖 <!-- 螺丝钉 --><…

软件测试技术之 GPU 单元测试是什么!

1 背景 测试是开发的一个非常重要的方面&#xff0c;可以在很大程度上决定一个应用程序的命运。良好的测试可以在早期捕获导致应用程序崩溃的问题&#xff0c;但较差的测试往往总是导致故障和停机。 单元测试用于测试各个代码组件&#xff0c;并确保代码按照预期的方式工作。单…

三维重建的几何评价指标

1.三维重建的几何评价指标 1.1 Chamfer Distance Geometry quality (1) Chamfer Distance&#xff08;CD&#xff09; CD衡量两组点云之间的几何差异&#xff0c;距离越小越好。 CD是一种用于衡量两个点云之间相似度的常用几何评价指标。它计算一个点云中每个点到另一个点云的…

seL4 Threads(四)

官网链接: Threads Threads 这篇教程主要是使用seL4中的threads。 TCB Thread Control Blocks seL4提供了线程代表执行的上下文以及管理处理器时间。seL4中的线程是通过线程控制块对象&#xff08;TCB&#xff09;实现的&#xff0c;每个内核线程都有一个线程控制块。 线程…

Web3技术在元宇宙中的应用:从区块链到智能合约

随着元宇宙的兴起&#xff0c;Web3技术正逐渐成为其基础&#xff0c;推动着数字空间的重塑。元宇宙不仅是一个虚拟世界&#xff0c;它还代表着一个由去中心化技术驱动的新生态系统。在这个系统中&#xff0c;区块链和智能合约发挥着至关重要的作用&#xff0c;为用户提供安全、…

Vue | watch监听

Vue | watch监听 在Vue.js的世界里&#xff0c;watch监听器是一个强大且灵活的工具&#xff0c;它允许我们在数据变化时执行特定的逻辑。本文将深入探讨watch的出现背景、使用方法、应用场景、源码原理以及扩展技巧&#xff0c;旨在帮助读者全面掌握这一重要特性。 文章目录 Vu…

TMStarget学习——T1 Segmentation数据处理及解bug

最新学习季公俊老师的神器 TMStarget 的第一个模块基于结构像的靶区计算T1 segmentation。下面上步骤&#xff1a; (1)在github 上下载 TMStarget https://github.com/jigongjun/Neuroimaging-and-Neuromodulation (2)按照要求下载依赖工具软件AFQ、vistasoft、SPM12 &#…

笔试编程-百战成神——Day02

1.简写单词 题目来源&#xff1a; 简写单词——牛客网 测试用例 算法原理 本题的主要难点就是如何识别每一个单词并且返回其首字母大写&#xff0c;最终组成一个新的字符串后输出&#xff0c;这里我们使用while(cin>>str)就可以解决&#xff0c;直接忽略每一个空格直接…

20240926 每日AI必读资讯

一个开源的自托管 AI 入门工具包 - 此工具包利用Docker Compose模板&#xff0c;包含多种本地AI工具并提供AI工作流模板和网络配置&#xff0c;简化了本地AI工具的安装和使用。 安装它将拥有&#xff1a; • 一个拥有 400 多个 AI 组件和集成的低代码平台 • Ollama&#xf…

基于stm32物联网身体健康检测系统

在当今社会&#xff0c;由于经济的发展带来了人们生活水平不断提高&#xff0c;但是人们的健康问题却越来越突出了&#xff0c;各种各样的亚健康随处可在&#xff0c;失眠、抑郁、焦虑症&#xff0c;高血压、高血糖等等侵袭着人们的健康&#xff0c;人们对健康的关注达到了一个…

单细胞Scanpy流程学习和整理(单样本10X数据读取/过滤/降维/聚类)

打算仔细学习一下基于python的单细胞相关分析框架hhh 新手上路写的很繁琐&#xff0c;多多包涵&#xff0c;本次用的IDE是Visual studio code。 流程来自Scanpy官网(Preprocessing and clustering 3k PBMCs (legacy workflow))&#xff1a; https://scanpy.readthedocs.io/e…

01【MATLAB】最小二乘系统辨识

目录 1.系统辨识的定义及其分类 1.1 系统辨识的定义 1.2 系统辨识的分类 2.参数模型 3.系统辨识的步骤 一、最小二乘法&#xff08;Least Squares Method&#xff09;一般步骤 二、LSM原理及应用 三、LSM在控制系统建模中的应用 1.系统辨识的定义及其分类 1.1 系统辨识的…

力扣P1706全排列问题 很好的引入暴力 递归 回溯 dfs

代码思路是受一个洛谷题解里面大佬的启发。应该算是一个dfs和回溯的入门题目&#xff0c;很好的入门题目了下面我会先给我原题解思路我想可以很快了解这个思路。下面是我自己根据力扣大佬写的。 我会进行详细讲解并配上图辅助理解大家请往下看 #include<iostream> #inc…

【机器学习】Flux.jl 生态

官方API https://fluxml.ai/Flux.jl/stable/ecosystem/ 官网给出了 Flux’s model-zoo&#xff0c; 是一个庞大的案例库&#xff0c; 可以提供直观的参考&#xff0c; 并且还列举了基于 Flux.jl 开发的第三方库。 机器视觉 ObjectDetector.jl YOLO 抓取的“预备跑” 图像Met…

使用vite+react+ts+Ant Design开发后台管理项目(一)

前言 本文将引导开发者从零基础开始&#xff0c;运用vite、react、react-router、react-redux、Ant Design、less、tailwindcss、axios等前沿技术栈&#xff0c;构建一个高效、响应式的后台管理系统。通过详细的步骤和实践指导&#xff0c;文章旨在为开发者揭示如何利用这些技…

SpringCloud Alibaba之Seata处理分布式事务

&#xff08;学习笔记&#xff0c;必用必考&#xff09; 问题&#xff1a;Transactional 的9种失效场景&#xff1f; 1、介绍 1.1、简介 官网地址&#xff1a;Apache Seata 源码地址&#xff1a;Releases apache/incubator-seata GitHub Seata是一款开源的分布式事务解决…