扩散模型DDPM学习笔记

扩散模型DDPM

文章目录

  • 扩散模型DDPM
    • 如何运作
    • 基本概念
      • 训练过程
      • 推理过程:
    • 目标
    • 损失函数推导
    • 评估标准

论文地址: Denoising Diffusion Probabilistic Models (DDPM)

如何运作

​ 从guassian distribution进行采样得到一个噪声的图片,图片大小与想输出的图像一致,接着通过一系列的Denoise得到最终输出的图片。

2023-11-26_13-39-35

​ 为了让模型运行更好,针对不同噪声图片,我们都会进行一个编码代表当前noise的程度),对step步数也进行输入。因为如果不进行次数编码,对于不同噪声图片(图片差异很大),通过同一个模型,其处理效果可能就不是那么友好。

2023-11-26_13-41-28

Denoise通过Noise Predicter去预测输入的图片中,噪声是什么样的,然后进行相减就能得到输出图片。

预测噪声长什么样,而不是直接生成图片

2023-11-26_13-43-21

​ 训练数据来自于前向加噪声的过程,自己添加噪声和已知的step加到原始图片,就能生成一个带噪声的图片,反过来看,就是生成了训练数据了。

2023-11-26_13-45-23

基本概念

2023-11-28_17-24-01

2023-11-26_14-02-54

2023-11-26_14-03-44

训练过程

2023-11-28_17-33-38

通过 α t ˉ \bar{\alpha_t} αtˉ吧决定噪声权重,一次性加上,而不是一次次递推加.

推理过程:

最后新增加了噪声,才输出生成的图片。

2023-11-28_17-39-23

目标

极大似然估计,根据目标的estimation,生成的estimation与标准的estimation衡量

2023-11-28_18-44-51

想让产生的 P θ ( x i ) P_\theta(x^i) Pθ(xi)越大越好
θ ∗ = arg ⁡ max ⁡ θ ∏ i = 1 m P θ ( x i ) \theta^*=\arg \max_\theta \prod_{i=1}^mP_\theta(x^i) θ=argθmaxi=1mPθ(xi)

$$
\begin{aligned}
&\mathsf{Sample}\left{x{1},x{2},\ldots,x^{m}\right}\mathsf{from}P_{data}(x) \
\theta{*}&=arg\max_{\theta}\prod_{i=1}{m}P_{\theta}(x{i})=arg\max_{\theta}log\prod_{i=1}{m}P_{\theta}(x^{i}) \
&=arg\max_{\theta}\sum_{i=1}{m}logP_{\theta}\bigl(x{i}\bigr)\approx arg\max_{\theta}E_{x\sim P_{data}}\bigl[logP_{\theta}(x)\bigr] \

\end{aligned}
KaTeX parse error: Can't use function '$' in math mode at position 4: 由于$̲\int\limits_{x}…
&=arg\max_{\theta}\int\limits_{x}P_{data}(x)logP_{\theta}(x)dx\quad{\color{Red}-\int\limits_{x}P_{data}(x)logP_{data}(x)dx}\
&=arg\max\limits_{\theta}\int\limits_{x}P_{data}(x)log\frac{P_{\theta}(x)}{P_{data}(x)}dx=arg\min\limits_{\theta}KL(P_{data}||P_{\theta}) \
&\text{Maximum Likelihood=Minimize KL Divergence}
$$

第一个 P ( x T ) P(x_T) P(xT)是直接在原图进行采样的,不需要使用到 θ \theta θ

损失函数推导

2023-11-28_19-01-40

2023-11-28_19-04-43

2023-11-28_19-09-282023-11-28_19-12-07

kl散度没关系, P ( x T ) q ( x T ∣ x 0 ) P(x_T)q(x_T|x_0) P(xT)q(xTx0)两项一项是自己找噪声图片概率,一个是前向process自己定义的,可以拿走

2023-11-28_19-21-16

2023-11-28_19-25-25

让x(t)丢进去,希望输出的尽可能接近左边的mean

2023-11-28_19-31-50

为什么加noise?经过实验,如果不加noise什么都生成不了,加入了能生成。

2023-11-28_19-39-59

评估标准

2023-11-28_17-26-37

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

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

相关文章

为什么我不能给shopify的图片添加alt

首先我们要明白是什么ALT标签,为什么要添加这个标签,这个标签有什么用 ALT标签是什么 ALT属性是HTML的一部分,它为那些无法查看图像的用户提供替代的文本描述。 ALT标签有什么用 使用ALT属性还可以帮助搜索引擎爬虫更好地理解您的网站内容。有…

学习知识回顾随笔(远程连接MySQL|远程访问Django|HTTP协议|Web框架)

文章目录 如何远程连接MySQL数据库1.创建用户来运行,此用户从任何主机连接到mysql数据库2.使用IP地址来访问MySQL数据库 如何远程访问Django项目Web应用什么是Web应用应用程序的两种模式Web应用程序的优缺点 HTTP协议(超文本传输协议)简介HTT…

Airtest自动化测试工具实战演练

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库…

LCM-LoRA模型推理简明教程

潜在一致性模型 (LCM) 通常可以通过 2-4 个步骤生成高质量图像,从而可以在几乎实时的设置中使用扩散模型。 来自官方网站: LCM 只需 4,000 个训练步骤(约 32 个 A100 GPU 小时)即可从任何预训练的稳定扩散 (SD) 中提取出来&#…

sed文本 免交互

目录 什么是sed 概念 格式 基本用法 命令的选项 打印第三行 打印日志文件 打印奇数行 打印偶数行 第三行退出 删除第三行 sed在不打开文件的情况下修改文件内容 在后面添加 选项a 在字符中间添加 \n 实现追加换行 全部追加 在前面插入 选项i 替换 选项c …

Java精品项目源码基于SpringBoot的智慧园区管理系统(v67)

Java精品项目源码基于SpringBoot的智慧园区管理系统(v67) 大家好,小辰今天给大家介绍一个智慧园区管理系统,演示视频公众号(小辰哥的Java)对号查询观看即可 文章目录 Java精品项目源码基于SpringBoot的智慧园区管理系统(v67)难度…

【图像分割】【深度学习】PFNet官方Pytorch代码-PFNet网络损失函数模块解析

【图像分割】【深度学习】PFNet官方Pytorch代码-PFNet网络损失函数模块解析 文章目录 【图像分割】【深度学习】PFNet官方Pytorch代码-PFNet网络损失函数模块解析前言PM定位模块损失函数FM聚焦模块损失函数总结 前言 在详细解析PFNet代码之前,首要任务是成功运行PF…

压缩包文件丢失?4个正确找回方法分享!

“我有一个很重要的压缩包保存在电脑上,但是不知道为什么里面有些文件丢失了。有什么方法可以快速找回压缩文件?请大家给我支支招吧!” 如果我们的文件太多,将它们放在压缩包中不仅能让文件更有序,还能更合理的节省电脑…

LD_PRELOAD劫持

LD_PRELOAD劫持 <1> LD_PRELOAD简介 LD_PRELOAD 是linux下的一个环境变量。用于动态链接库的加载&#xff0c;在动态链接库的过程中他的优先级是最高的。类似于 .user.ini 中的 auto_prepend_file&#xff0c;那么我们就可以在自己定义的动态链接库中装入恶意函数。 也…

tp8 使用rabbitMQ(3)发布/订阅

发布/订阅 当我们想把一个消息&#xff0c;发送给 多个消费者的时候&#xff0c;我们把这种模式叫做发布/订阅模式&#xff0c;比如我们做两个消费者&#xff0c;其中一个消费者把消息写入磁盘中&#xff0c;别一个消费者把消息结果输出到屏幕上&#xff0c;就要用到发布订阅模…

产品化和商品化

我们经常会在IT产业听过以下岗位&#xff1a; 1、产品序列&#xff1a;产品行销经理 2、产品序列&#xff1a;产品经理、需求分析师、产品详细设计工程师、UIUE设计师 3、产品序列&#xff1a;业务架构师、应用架构师、数据架构师、技术架构师 4、研发序列&#xff1a;创新原型…

Java 图片验证码需求分析

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 图片验证码 需求分析 连续因输错密码而登录失败时&#xff0c;记录其连续输错密码的累加次数&#xff1b;若在次数小于5时&#xff0c;用户输入正确的密码并成功登录…

前K个高频单词(Java详解)

一、题目描述 给定一个单词列表 words 和一个整数 k &#xff0c;返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率&#xff0c; 按字典顺序 排序。 示例1&#xff1a; 输入: words ["i", "love&…

浅谈硬件连通性测试几大优势

硬件连通性测试是确保硬件系统正常运行、提高系统可靠性和降低生产成本的关键步骤。在现代工程和制造中&#xff0c;将连通性测试纳入生产流程是一个明智的选择&#xff0c;有助于确保硬件产品的质量和性能达到最优水平。本文将介绍硬件连通性测试的主要优势有哪些! 一、提高系…

游戏测试和软件测试有什么区别

针对手游而言&#xff0c;游戏测试的本质是APP&#xff0c;所以不少手游的测试方式与APP测试异曲同工&#xff0c;然而也有所不同。APP更多的是具有一种工具&#xff0c;一款APP好不好用不重要&#xff0c;关键点在于实用。而游戏则具有一种玩具属性&#xff0c;它并不见得实用…

基于Python+requests编写的自动化测试项目-实现流程化的接口串联

框架产生目的&#xff1a;公司走的是敏捷开发模式&#xff0c;编写这种框架是为了能够满足当前这种发展模式&#xff0c;用于前后端联调之前&#xff08;后端开发完接口&#xff0c;前端还没有将业务处理完毕的时候&#xff09;以及日后回归阶段&#xff0c;方便为自己腾出学(m…

图像异常检测研究现状综述

论文标题&#xff1a;图像异常检测研究现状综述 作者&#xff1a;吕承侃 1, 2 沈 飞 1, 2, 3 张正涛 1, 2, 3 张 峰 1, 2, 3 发表日期&#xff1a;2022年6月 阅读日期 &#xff1a;2023年11月28 研究背景&#xff1a; 图像异常检测是计算机视觉领域的一个热门研究课题, 其目…

leetCode 39.组合总和 + 回溯算法 + 剪枝 + 图解 + 笔记

39. 组合总和 - 力扣&#xff08;LeetCode&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合 can…

2015年五一杯数学建模A题不确定性条件下的最优路径问题解题全过程文档及程序

2015年五一杯数学建模 A题 不确定性条件下的最优路径问题 原题再现 目前&#xff0c;交通拥挤和事故正越来越严重的困扰着城市交通。随着我国交通运输事业的迅速发展&#xff0c;交通“拥塞”已经成为很多城市的“痼疾”。在复杂的交通环境下&#xff0c;如何寻找一条可靠、快…

HarmonyOS 数据持久化 Preferences 如何在页面中对数据进行读写

背景介绍 最近在了解并跟着官方文档尝试做一个鸿蒙app 小demo的过程中对在app中保存数据遇到些问题 特此记录下来 这里的数据持久化以 Preferences为例子展开 废话不多说 这里直接上节目(官方提供的文档示例:) 以Stage模型为例 1.明确preferences的类型 import data_prefer…