Diffusion——扩散模型(未完待续)

news2025/7/19 8:25:53

论文链接:https://arxiv.org/abs/2006.11239

简介

扩散模型(Diffusion Model)是用于生成数据的一类深度生成模型,特别擅长于图像生成。其工作原理基于通过随机噪声的逐步转换来生成目标数据。扩散模型分为两部分:正向过程(forward process)和逆向过程(reverse process)。

前向加噪过程:该过程会逐渐将高斯噪声添加到图像中,直到最终得到纯噪声。

逆向去噪过程:训练一个神经网络,从纯噪音开始逐渐去噪,直到得到一个真实图像。

前向与后向的步数由下标 t定义,并且有预先定义好的总步数 T。t=0 时为从数据集中采样得到的一张真实图片, t=T 时近似为一张纯粹的噪声。

基本原理

扩散模型是潜在变量模型的一种,其形式为 ​p_\theta(x_0) := \int p_\theta(x_{0:T}) \, dx_{1:T}。这意味着我们要生成数据样本 x0​,需要通过对潜在变量 x1,x2,...,xT​ 进行积分(或求和)。

潜在变量 x1​ 与数据 x0​ 具有相同的维度。数据 x0 来自某个数据分布 q(x0)。

正向过程

正向过程是一个逐步增加噪声的过程,将数据分布逐步“扩散”成高斯噪声。假设我们有一个数据样本 x0,正向过程将其通过一系列的时间步长逐步加入噪声,生成一系列中间状态{x1​,x2​,...,xT​}。其数学形式通常表示为:

q(x_t | x_{t-1}) = N(x_t; \sqrt{\alpha_t} x_{t-1}, (1 - \alpha_t) I)

其中,α_t 是控制噪声大小的参数。

逆向过程

逆向过程则是逐步去噪的过程,从高斯噪声逐步生成目标数据。其目标是训练一个模型 pθ(x_{t−1}∣x_t)来反向模拟正向过程,使得可以从高斯噪声 xT 逐步生成无噪声的数据样本 x0。通常其形式是:

p_\theta(x_{t-1} | x_t) = N(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))

训练过程

扩散模型的训练主要是学习逆向过程中的参数 θ\thetaθ,以使得模型 pθ(x_{t−1}∣x_t) 能够尽可能地接近真实的逆向扩散概率 q(xt−1∣xt,x0)。通常通过优化以下损失函数:

L(\theta) = E_{q(x_0)} E_{q(x_{1:T} | x_0)} \left[\sum_{t=1}^T D_{KL}(q(X_{t-1} | x_t, x_0) \| p_\theta(x_{t-1} | x_t))\right]

模型的生成过程

在实际生成数据时,扩散模型从纯噪声开始(通常是标准高斯分布的样本),然后通过逆向过程一步一步地去噪,逐渐生成一个逼真的数据样本。生成过程如下:

  1. 从高斯分布中采样: xT \sim N(0,I)
  2. 使用训练好的模型  p_\theta(x_{t-1} | x_t) 依次生成 ​x_{T-1}, x_{T-2}, ..., x_0

优点与应用

  • 高质量的图像生成:扩散模型在图像生成任务中表现优异,生成的图像质量通常优于GANs(生成对抗网络)。
  • 稳定的训练:与GANs不同,扩散模型的训练过程相对稳定,容易收敛。
  • 多种应用:扩散模型不仅用于图像生成,还应用于图像修复、图像上采样、图像编辑等任务。

主要变种

  • DDPM (Denoising Diffusion Probabilistic Models):最基础的扩散模型。
  • Score-Based Generative Models:基于分数的生成模型,利用得分函数来指导逆向采样。
  • Latent Diffusion Models:在潜在空间中进行扩散,从而减少计算成本。

参考文献

  • “Denoising Diffusion Probabilistic Models” by Jonathan Ho, Ajay Jain, Pieter Abbeel: 提出最基础的扩散模型框架,进行了广泛的实验。
  • “Score-Based Generative Modeling through Stochastic Differential Equations” by Yang Song, Stefano Ermon: 提出了一种基于得分函数的扩散模型变种。

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

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

相关文章

Java内存管理与性能优化实践

Java内存管理与性能优化实践 Java作为一种广泛使用的编程语言,其内存管理和性能优化是开发者在日常工作中需要深入了解的重要内容。Java的内存管理机制借助于垃圾回收(GC)来自动处理内存的分配和释放,但要实现高效的内存管理和优…

unsloth报错FileNotFoundError: [WinError 3] 系统找不到指定的路径。

运行平台 Windows 报错信息 Traceback (most recent call last): File “C:\Python312\Lib\site-packages\IPython\core\interactiveshell.py”, line 3577, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File “”, line 1, in runfile(‘D:\python_pr…

不同规模企业如何精准选择AI工具: DeepSeek、Grok 和 ChatGPT 三款主流 AI 工具深度剖析与对比

本文深入探讨了最近国内外主流的 DeepSeek、Grok 和 ChatGPT 三款主流 AI 工具的技术细节、性能表现、应用场景及局限性,并从技术能力、功能需求、成本预算、数据安全和合规以及服务与支持五个关键维度,详细分析了不同规模企业在选择 AI 工具时的考量因素…

Docker入门指南:Windows下docker配置镜像源加速下载

Windows下docker配置镜像源加速下载 docker的官方镜像是海外仓库,默认下载耗时较长,而且经常出现断站的现象,因此需要配置国内镜像源。 国内镜像源概述 国内现有如下镜像源可以使用 "http://hub-mirror.c.163.com", "http…

java后端开发day24--阶段项目(一)

(以下内容全部来自上述课程) GUI:Graphical User Interface 图形用户接口,采取图形化的方式显示操作界面 分为两套体系:AWT包(有兼容问题)和Swing包(常用) 拼图小游戏…

TVbox蜂蜜影视:智能电视观影新选择,简洁界面与强大功能兼具

蜂蜜影视是一款基于猫影视开源项目 CatVodTVJarLoader 开发的智能电视软件,专为追求简洁与高效观影体验的用户设计。该软件从零开始编写,界面清爽,操作流畅,特别适合在智能电视上使用。其最大的亮点在于能够自动跳过失效的播放地址…

2025.3.2机器学习笔记:PINN文献阅读

2025.3.2周报 一、文献阅读题目信息摘要Abstract创新点网络架构实验结论不足以及展望 一、文献阅读 题目信息 题目: Physics-Informed Neural Networks of the Saint-Venant Equations for Downscaling a Large-Scale River Model期刊: Water Resource…

2025AI 有哪些重要的发展趋势?

2025 年,AI 有哪些重要的发展趋势? 看看大佬们的看法: 马斯克:“人形机器人生产、自动驾驶突破、脑机接口进化” 奥特曼:“2025年,AGI即将到来” 黄仁勋:“通用机器人元年、能源效率的提升”…

IDEAPyCharm安装ProxyAI(CodeGPT)插件连接DeepSeek-R1教程

背景:最近DeepSeek比较火嘛,然后在githup上也看到了GitHub Copilot,就想着现在AI的准确率已经可以提高工作效率了。所以从网上找了一些编程插件,发现Proxy支持的模型比较多,通用性和适配性比较好。所以本文记录一下pro…

【前端基础】Day 3 CSS-2

目录 1. Emmet语法 1.1 快速生成HTML结构语法 1.2 快速生成CSS样式语法 2. CSS的复合选择器 2.1 后代选择器 2.2 子选择器 2.3 并集选择器 2.4 伪类选择器 2.4.1 链接伪类选择器 2.4.2 focus伪类选择器 2.5 复合选择器总结 3. CSS的元素显示模式 3.1 什么是元素显示…

windows电脑上安装llama-factory实现大模型微调

一、安装环境准备 这是官方给的llama-factory安装教程,安装 - LLaMA Factory,上面介绍了linux系统上以及windows系统上如何正确安装。大家依照安装步骤基本能够完成安装,但是可能由于缺少经验或者相关的知识导致启动webUi界面运行相应内容时…

汽车无人驾驶系统中的防撞设计

一、系统方案介绍 无人驾驶汽车的防撞系统是保障行车安全的核心模块,本文设计的系统以STM32F103C8T6单片机为主控制器,结合超声波测距、WiFi通信、人机交互等模块,实现障碍物实时检测、动态阈值设置、多级报警和数据可视化功能。系统通过软…

Linux网络 DNS

DNS(Domain Name System) TCP/IP 中使用 IP 地址和端口号来确定网络上的一台主机的一个程序 , 但是 IP 地址不方便记忆。于是人们发明了一种叫主机名的东西, 是一个字符串 , 并且使用 hosts 文件来描述主机名和 IP 地址的关系 。 最初 , 通过互连网信息中…

EMQX中不同端口对应的接入协议

使用tcp接入时应使用mqtt://IP:1883 使用ws接入时应使用ws://IP:8083

SpringBoot原理-03.自动配置-方案

一.自动配置原理 探究自动配置原理,就是探究spring是如何在运行时将要依赖JAR包提供的配置类和bean对象注入到IOC容器当中。我们当前准备一个maven项目itheima-utils,这里面定义了bean对象以及配置类,用来模拟第三方提供的依赖,首…

(KTransformers) RTX4090单卡运行 DeepSeek-R1 671B

安装环境为:ubuntu 22.04 x86_64 下载模型 编辑文件vim url.list 写入如下内容 https://modelscope.cn/models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf https://modelscope.cn/models/unsloth/Dee…

【软考-架构】1.2、指令系统-存储系统-cache

GitHub地址:https://github.com/tyronczt/system_architect ✨资料&文章更新✨ 指令系统 计算机指令执行过程:取指令一一分析指令一一执行指令三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据…

动态规划刷题

文章目录 动态规划三步问题题目解析代码 动态规划 1. 状态表示:dp[i],表示dp表中i下标位置的值 2. 状态转移方程:以i位置位置的状态,最近的一步来划分问题,比如可以将状态拆分成前状态来表示现状态,dp[i] …

2025-03-01 学习记录--C/C++-C语言 整数类型对比

C语言 整数类型对比 类型位数范围(有符号)范围(无符号)格式化符号char8-128 到 1270 到 255%c 或 %hhdshort16-32,768 到 32,7670 到 65,535%hdint32-2,147,483,648 到 2,147,483,6470 到 4,294,967,295%dlong32 或 64-2,147,483…

爬虫系列之【数据解析之正则】《二》

目录 前言 一、正则基本使用 1.1 导包 1.2 接口方法 1.3 换行匹配问题 二、实战案例 完整代码 前言 在爬虫工作中,我们主要会遇到两种类型的文本数据: JSON格式数据 HTML文档数据 对于JSON字符串数据,通常使用Python的字典操作进行键…