首页 > 其他分享 >Diffusion Model

Diffusion Model

时间:2024-07-07 20:52:20浏览次数:19  
标签:Diffusion 推导 公式 前向 Model 时刻 过程 正态分布

介绍

Diddusion Model 是2020年出现的一种新模型,论文中将其用于生成任务中。与GAN模型不同的是,他不需要使用判别器来进行训练。其训练过程与通常的生成器有很大的不同,他并不是直接训练一个生产模型,而是训练一个正态分布,并使用其对原始噪声图片去噪来生成图片。至于如何为什么使用这个正态分布能生成图像后面将会简要讲解。

需要提前说明的是,有一部分的公式需要严密的概率论推导,较困难,而实际使用只需要理解其意思就行所以就直接使用结论。

生成过程

Diffusion Model的个过程分为前向过程和反向过程。前向过程是将图片进行加噪,后向过程是将其去噪。其中前向过程的公式是通过概率论直接推导,这里直接使用。后向过程则是通过前向过程公式推导出来。

 

 

前向过程

噪声:

 

噪声因子:

前向公式:

讲解:

1、前向公式中的x_t表示的是t时刻的图像,因为噪声是随这时间逐渐增大的,因此图像也中的噪声也逐渐增大。

2、z是标准正态分布生产的噪声图像,形状是跟原图像一样的,所以可以直接相加。x,z前面的可以看作系数,是已知的。

3、这里的z是不需要训练的,就是一个普通的标准正态分布。

3、这里表示的是相邻两个时刻的前向推到公式,后面需要推到0时刻到任意t时刻的推导公式。

t-2时刻-t时刻前向推导公式:

讲解:

1、这里z1和z2都是标准正态分布只是乘了一个系数,乘上的这个系数仍是正态分布。

2、使用正态分布的性质融合成新的正态分布。

0时刻-t时刻前向推导公式:

这里是根据上面的特性推到出来的。

总结:

在前行过程中只要知道了时刻t即原始图像x_0就能直接算出任意时刻的加噪图像,但在反向过程并不能直接算出。

反向过程

因为反向过程并不好求,所以是利用条件概率公式建立t-1时刻和t时刻的公式再整理成反向推导公式。

先不考虑X_0的条件进行里理解,理解后加入x_0的条件计算分子项和分母项。

可以看到3项都是符合正态分布,根据正态分布特效进行融合.

化简:

根据下面公式算出融合后正态分布的期望和方差:

算出的期望和方差(这里取系数项做等式即可,常数项不用):

这里出现一个问题,因为这是反向过程X_0是位置的,所以需要带入前向过程的公式将x_0变成x_t,带入后得到:

需要注意这里的z_t是一个未知的正态分布,也是模型唯一需要训练的内容。

反向推导公式:

 

从计算出期望到得到最后的公式,视频中并未讲解,本人也不清楚,估计是使用概率论中的特性得出的。

训练过程

 

1、算法一:训练的是反向过程用到正态分布函数

2、算法二:是使用训练好的正态分布函数生成的噪声与前一时刻图像相加,loop得到生成图像。说是噪声并不严谨,可以说是生成一个蒙版,有去噪功能的蒙版。

提供的视频有详细的代码实现。

标签:Diffusion,推导,公式,前向,Model,时刻,过程,正态分布
From: https://www.cnblogs.com/zhangxianrong/p/18288914

相关文章

  • Prompt Selection and Augmentation for Few Examples Code Generation in Large Lang
    本文是LLM系列文章,针对《PromptSelectionandAugmentationforFewExamplesCodeGenerationinLargeLanguageModelanditsApplicationinRoboticsControl》的翻译。大语言模型中少数示例代码生成的提示选择与增强及其在机器人控制中的应用摘要1引言2相......
  • Securing Large Language Models: Threats, Vulnerabilities and Responsible Practic
    本文是LLM系列文章,针对《SecuringLargeLanguageModels:Threats,VulnerabilitiesandResponsiblePractices》的翻译。保护大型语言模型:威胁、漏洞和负责任的做法摘要1引言2背景3LLM的安全和隐私问题4对抗性攻击和LLM漏洞5LLM的风险和失误6风险缓解策......
  • Advanced Generative Models (Diffusion)
    ......
  • Calibrating Large Language Models Using Their Generations Only
    本文是LLM系列文章,针对《CalibratingLargeLanguageModelsUsingTheirGenerationsOnly》的翻译。仅使用它们的生成来校准大型语言模型摘要1引言2相关工作3方法4实验5讨论6结论摘要随着大型语言模型(LLM)越来越多地部署在面向用户的应用程序中,通过......
  • BADEDIT: BACKDOORING LARGE LANGUAGE MODELS BY MODEL EDITING
    本文是LLM系列文章,针对《BADEDIT:BACKDOORINGLARGELANGUAGEMODELSBYMODELEDITING》的翻译。BADEDIT:通过模型编辑后门攻击大型语言模型摘要1引言2背景和相关工作3后门攻击的轻量级编辑4BADEDIT5实验6结论摘要主流后门攻击方法通常需要大量的中......
  • AI绘画Stable Diffusion画全身图总是人脸扭曲?ADetailer插件实现一键解决!
    大家好,我是向阳你是否遇到过SD生成的人物脸部扭曲、甚至令人恶心的情况?也曾感到束手无策?别担心,这份教程专为你而来。在使用SD生成人物全身照时,你可能经常发现人物的脸部会出现扭曲问题。这是因为人物面部像素占比过少,导致无法充分还原面部信息。解决这个问题的常见方法是使......
  • 用StabilityMatrix一键安装Stable Diffusion
    StableDiffusion是2022年发布的深度学习文字到图像生成模型,它既能免费使用,又能部署在本地端,又有非常多的模型可以直接套用,在使用体验上比Midjourney和DALL-E更加强大。StableDiffusion使用的模型有下列几大类,对照模型网站https://civitai.com以形成更直观的认识:BaseModel:Sta......
  • Mean teacher are better role models-论文笔记
    论文笔记资料1.代码地址2.论文地址https://arxiv.org/pdf/1703.017803.数据集地址CIFAR-10https://www.cs.utoronto.ca/~kriz/cifar.html论文摘要的翻译最近提出的TemporalEnsembling方法在几个半监督学习基准中取得了最先进的结果。它维护每个训练样本的标签预测......
  • Using a text embedding model locally with semantic kernel
    题意:在本地使用带有语义核(SemanticKernel)的文本嵌入模型问题背景:I'vebeenreadingStephenToub's blogpost aboutbuildingasimpleconsole-based.NETchatapplicationfromthegroundupwithsemantic-kernel.I'mfollowingtheexamplesbutinsteadofOpe......
  • 用 stable diffusion 做图文女装号,开启你的带货之旅!!
    对于很多入门级的新人来说,很想做副业,但是会遇见各种各样的问题,比如不会写文案,不会拍摄视频,不会剪辑视频,不会二次创作,导致没有原创的作品,直接搬运没有流量等,基于这些原因,很多人都只是观望,过段时间后又该干啥干啥了。图文带货目前在各大平台都很火,不管是小红书,抖音还是视频号......