扩散模型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.niftyadmin.cn/n/5222027.html

相关文章

java源码之关键字、标志符、变量和运算符

1、关键字 1.1、定义 定义:被JAVA语言赋予了特殊含义,用作专门用途的字符串(或单词) 特点:全部关键字都是小写字母 上源码: 代码中定义类的关键字class,定义一个订单控制器类枚举的关键字&am…

京东原数据商品详情API

很多电商系统,如返利系统、ERP、OMS软件等,需要通过商品API接口获取商品详情信息,来满足业务场景需要。具体包括: 商品的标题、价格、SKU、主图、评价等维度信息。 重点优化了抓取速度、及抓取稳定性,接口REST方式进…

主机的具体权限规划:ACL的使用

目的:针对某一用户或某一组来设置特定权限需求,针对上,接着设置 ACL可以针对单一用户,文件,或者目录来进行rwx的权限设置,对于需要特殊权限的设置非常有帮助。 第一,查看文件系统是否支持&…

我为什么扔掉国企铁饭碗进入互联网

近期写了一篇文章《美团三年,总结的10条血泪教训-CSDN博客》,后台很多网友留言对我过往工作经历感兴趣,小红书也收到很多薯友关于职业选择的咨询,于是就有了这篇文章。希望能给正在求职或者想转型的朋友,带来一些帮助。…

一文读懂现代化数据中心DCIM系统容量管理的几个维度

数据中心是现代科技领域不可或缺的基础设施,其承载着大量的计算、存储和网络资源,是众多行业业务数字化的起点,更是衡量企业数字化能力的关键因素。数据中心DCIM(Data Center Infrastructure management),即…

软著项目推荐 深度学习二维码识别

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 🔥 优质竞赛项目系列,今天…

acwing算法基础之动态规划--线性DP和区间DP

目录 1 基础知识2 模板3 工程化 1 基础知识 线性DP:状态转移表达式存在明显的线性关系。 区间DP:与顺序有关,状态与区间有关。 2 模板 3 工程化 题目1:数字三角形。 解题思路:直接DP即可,f[i][j]可以来…

4-docker-compose介绍(部署flask案例、yaml文件、启动)、新建flask项目、编写Dockerfile(用于构建flask项目的镜像)、

1 docker-compose介绍 2 docker-compose部署flask案例 2.1 新建flask项目 app.py 2.2 编写Dockerfile–》用于构建flask项目的镜像 2.3 编写docker-compose的yaml文件 docker-compose.yml 2.4 docker-compose启动 1 docker-compose介绍 1 介绍 """ 使用了docke…