对于扩散模型的理解

PS:我跟扩散模型打交道比较久了,下面是我一些对扩散模型的理解,为防止日后遗忘,也为了互相学习,故写下此篇文章,如果有误欢迎在评论区中指出,咱们互相进步。

什么是扩散生成模型(扩散生成模型的目的)

扩散生成模型就是将训练数据的数据分布映射到高斯噪声上,然后在将随机采样获得的高斯噪声逆映射成新的数据

扩散生成模型的原理

扩散生成模型包含两个阶段,第一个阶段是前向扩散阶段,即逐步向输入的图片添加随机的高斯噪声直至获得纯噪声。第二个阶段是通过训练一个神经网络来预测出第一阶段中第T步中添加的随机高斯噪音然后将该噪音去除从而获得第T-1步的图片,重复这个过程直至获得原始输入图像。

扩散生成模型中第一阶段的作用是什么

第一个作用是为第二阶段的神经网络的训练提供每个时间步中加入的随机高斯噪声和每步加噪后的图片,作为训练的标签。

第二个作用是,直接从高斯噪声中重建清晰的图像是一个极端困难的任务,因此,扩散模型将这一任务分解为多个较小的子任务,即在多个时间步长上逐步去除噪声,极大降低了模型的训练难度

扩散模型的优缺点

优点:

  • 生成的图像质量高:扩散模型能够生成高度逼真的图像。
  • 灵活性:模型可以灵活地调整生成过程中的参数,以控制生成样本的多样性。
  • 训练稳定性:相比其他生成模型,如生成对抗网络(GANs),扩散模型的训练通常更为稳定,因为扩散模型直接使用MSE损失,这种损失函数直接衡量模型输出与真实数据之间的差异,而无需依赖于另一个网络。

缺点:

  • 计算成本高:扩散模型不能够一步去生成图像,而是需要执行大量的迭代步骤,因此计算成本比较高
  • 显存需求大:扩散模型的参数量比较大,需要比较大的显存才能装得下。

如何对扩散模型的优化/改进

1、使用采样速度更快的采样方法,如DDIM、DPM等

2、在扩散模型的两端分别套上VAE的编码器和VAE的解码器,将扩散模型从像素空间的计算变成潜在空间中的计算,极大的节省了计算成本。

3、将扩散模型的主体架构Unet替换为Transformer

扩散模型和GAN的区别

扩散模型和GANs都是生成模型,但它们的工作方式不同。GANs使用两个神经网络------生成器和判别器,通过对抗的方式学习数据分布。而扩散模型则通过前向扩散过程和反向去噪过程来学习数据分布,没有直接的对抗机制。扩散模型使用MSE(均方误差)损失函数比GAN使用的对抗损失函数更稳定,更容易训练

相关推荐
ai小陈1 分钟前
大模型推理显存不够怎么办?量化、KV Cache与CPU Offload优化实战
大数据·人工智能·ai·云计算·gpu算力
啥都想学点的研究生6 分钟前
一篇文章讲清楚:逻辑回归
算法·机器学习·逻辑回归
爱学堂IT分享6 分钟前
网盘课程资源AI小王子Jay【2026最新】ComfyUI AI系统陪跑课
人工智能
2601_949950637 分钟前
没有现成习题,试试AI再写出题
人工智能·小程序·刷题·练习·小程序推荐
干饭选手又困了�68611 分钟前
AI 商品主图生成实操:从白底图到多规格物料交付全流程
人工智能
liukuang11014 分钟前
2026中报对决:安踏借船出海,李宁自己造船
大数据·人工智能
minhuan20 分钟前
拆解A2A大模型核心能力:详解场景化应用,构建智能交互、业务自动化完整应用方案25.8
人工智能·a2a·a2a应用实践·a2a智能体构建·a2a多智能体协同
sukioe24 分钟前
城智连响:基于 LangGraph 与四库分层架构的城市公共设施智能报修与派单系统
人工智能·python·ai·架构·langchain
Hello-FPGA26 分钟前
量子计算滨松c15550-22up单光子相机与PCIe1004采集卡
人工智能·计算机视觉·fpga开发
DeepIntelli27 分钟前
企业独立站内容怎么改,才更容易被大模型引用:从语义化 HTML 到可抽取结构的工程化调整
人工智能·chatgpt