当前位置:首页|资讯|人工智能|Stable Diffusion

手把手带你快速弄懂扩散模型背后的数学诠释生成,简单易理

作者:迪哥谈AI发布时间:2023-07-26

       人工智能领域中一个比较有趣的方向是生成式模型,最初的代表是 GAN 系列算法,通过生成器和判别器的博弈,训练得到生成模型,但此类算法需要同时训练两个网络,训练的难度大、收敛困难且不稳定,模型只关注如何骗过判别器,导致生成的效果多样性较差。扩散模型(Diffusion Model)的学习和生成过程更加简单,通过结合前向扩散过程和逆向生成过程,打开了生成式模型训练的新方向。DALL.E 2、stable-diffusion、Imagen 等主流的文本转图像模型,都采用了扩散模型作为图像生成模型。。

      前向扩散过程:向原始输入中不断的添加高斯噪音,直到变成随机噪音,每一个时刻都会添加噪音,后一时刻是在前一时刻的基础上增加噪音得到,这个过程的本质是不断构建噪音标签。

       前向扩散过程的公式推导相对简单,其中β是自定义的参数,随着时间推移β值要越来越大,论文中从 0.0001 到 0.002。Z 是噪音,这也就意味着时刻越大,噪音所占的比重越来越大。我们希望能够通过原始输入数据 X0 直接推导 T 时刻的加噪数据 Xt,每次增加的噪音都符合高斯分布,因此合并后仍服从,最终的推导公式可以归纳出:任何时刻的结果都可以通过累乘和初始时刻 X0 的状态计算出来。

      逆向去噪过程的公式推导相对复杂,我们希望已知XT时刻的结果,反推出初始时刻的状态X0,根据贝叶斯公式及前向传播的推导,通过合并、配方的化简操作,可以得到初始状态X0的高斯分布的均值和方差,其中方差是与α和β相关的固定值,而均值则与Xt和Zt相关,Zt是需要估计的每个时刻的噪音。

     前向过程的训练阶段流程图如下:生成一个batch的训练数据,为每个样本选择不同的符合均匀分布的加噪周期,随机生成符合高斯分布的噪音标签,选择unet模型,输入Xt时刻状态和加噪周期t,得到模型预测的噪音,与标签做损失后反传更新模型参数,最终得到模型能够很好的拟合每个时刻的噪音。

     反向过程的采样阶段流程图如下:随机生成符合高斯分布的Xt时刻状态,循环加噪周期T,在每一个大于1的时刻,随机生成符合高斯分布的噪音Z,根据前面推导的公式及前向过程训练得到的噪音模型,反向计算每一个时刻的去噪结果,最终得到X0时刻的状态。

     从上述的推导过程和流程图中可以直观的感受到扩散模型的大道至简,虽然需要一堆复杂的数学公式来推导,但最终的结果应用及模型训练远比GAN系列算法更加简单,同时效果具有更好的多样性。不禁感叹:一系列正确的数学推导,竟可以比近十年的大规模调试超参数的网络结构更加有效,数学功底永远是黑马,但他的采样过程比较繁琐,计算和时间成本相对较高。

     目前扩散模型已经被应用在各个方向,很多小伙伴都体验过文字生图的魅力,其惊艳效果已经让绘图设计工作者产生焦虑。在这个人工智能大模型层出不穷的时代,真的需要不断地输入、紧跟前沿才能时刻发现机遇和挑战,人工智能替代部分从业者的呐喊声来势汹汹,唯有知己知彼方能做足多方向的准备,在挑战中乘风破浪,在机遇中勇往直前!

 

后面会努力更新AI相关技术点文章

 记得3连支持一下,感谢!感谢! 




Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1