0


[总结] DDPM Diffusion模型各阶段训练和采样过程方案细节和代码逻辑汇总

DDPM Diffusion模型训练和采样过程细节汇总

算法回顾

DDPM的算法概述
在这里插入图片描述

我们从 Classifier-Free Diffusion Guidance 这篇文章开始。
classifier-free 引导的条件采样过程
在这里插入图片描述
在《Null-text Inversion for Editing Real Images using Guided Diffusion Models》 中,对Classifier-free guidance 形式化为:
在这里插入图片描述
简单的推断一下:
=

    ω
   
   
    ∗
   
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    C
   
   
    )
   
   
    +
   
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    ⊘
   
   
    )
   
   
    −
   
   
    ω
   
   
    ∗
   
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    ⊘
   
   
    )
   
  
  
   \omega * \epsilon_{\theta}(z_t,t,C)+\epsilon_{\theta}(z_t,t,\oslash )-\omega * \epsilon_{\theta}(z_t,t,\oslash )
  
 
ω∗ϵθ​(zt​,t,C)+ϵθ​(zt​,t,⊘)−ω∗ϵθ​(zt​,t,⊘)

=

    ω
   
   
    ∗
   
   
    (
   
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    C
   
   
    )
   
   
    −
   
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    ⊘
   
   
    )
   
   
    )
   
   
    +
   
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    ⊘
   
   
    )
   
  
  
   \omega *( \epsilon_{\theta}(z_t,t,C)-\epsilon_{\theta}(z_t,t,\oslash ))+\epsilon_{\theta}(z_t,t,\oslash )
  
 
ω∗(ϵθ​(zt​,t,C)−ϵθ​(zt​,t,⊘))+ϵθ​(zt​,t,⊘)

相当于是在

     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    ⊘
   
   
    )
   
  
  
   \epsilon_{\theta}(z_t,t,\oslash )
  
 
ϵθ​(zt​,t,⊘)的基础上,加强了在

 
  
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    C
   
   
    )
   
   
    −
   
   
    
     ϵ
    
    
     θ
    
   
   
    (
   
   
    
     z
    
    
     t
    
   
   
    ,
   
   
    t
   
   
    ,
   
   
    ⊘
   
   
    )
   
  
  
   \epsilon_{\theta}(z_t,t,C)-\epsilon_{\theta}(z_t,t,\oslash )
  
 
ϵθ​(zt​,t,C)−ϵθ​(zt​,t,⊘)方向上的引导,可以结合下图来进行理解:

在这里插入图片描述
Classifier-Free Diffusion Guidance 中的这张图也表达相同的意思,模型增加分类器指导强度时发生的Inception score增加和样本多样性减少的简化表现。
在这里插入图片描述

框架理解

下面画图理解一下Diffuion Model 发展各个阶段的方法

DDPM

训练过程

在这里插入图片描述

采样过程

在这里插入图片描述

Text-guiled DDPM

训练过程

在这里插入图片描述

采样过程

在这里插入图片描述

Null-text guiled DDPM

训练过程

和 text guiled DDPM一致。

采样过程

在这里插入图片描述

项目代码

下面是论文《GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models》的代码逻辑进行梳理,code 链接:https://github.com/openai/glide-text2im/

训练过程在这里插入图片描述

采样过程

在这里插入图片描述


本文转载自: https://blog.csdn.net/NGUever15/article/details/128574368
版权归原作者 _Summer tree 所有, 如有侵权,请联系我们删除。

“[总结] DDPM Diffusion模型各阶段训练和采样过程方案细节和代码逻辑汇总”的评论:

还没有评论