昇思25天学习打卡营第21天 | Diffusion扩散模型

今天是21天,学习了Diffusion扩散模型。

扩散模型(Diffusion Model)是一种深度学习算法,主要用于生成模型领域,目前在图像生成、音频合成和文本生成等方面都有出色表现。
扩散模型的核心思想是模拟一个从有序到无序再到有序的扩散过程。它包含两个主要阶段:前向扩散阶段和反向扩散(或去噪)阶段。
在前向扩散阶段,模型会逐步向原始数据添加噪声,使数据从有序状态逐渐变成几乎完全随机的噪声状态。这个过程通常是预定的,并遵循特定的噪声增加路径。例如,从原始图像开始,通过多次添加高斯噪声,最终使图像变成纯噪声。添加噪声的过程可以用数学公式表示,一般会定义一个从正态分布采样的噪声,其均值和方差会根据时间步进行调节。
反向扩散阶段是扩散模型的核心。在这个阶段,模型要逐步从噪声数据中恢复出原始的有序数据。这通常需要训练一个深度神经网络来实现。神经网络会学习如何有效地从包含高比例噪声的数据中恢复出干净的数据。它会查看噪声图像并尝试确定在前向过程中该图像来自的图像分布,从而预测并去除噪声。
以图像生成为例,在训练阶段,输入是添加了噪声的图像,网络预测的是每个时间步添加的噪声;在推理阶段(生成图像时),从高斯分布采样一个噪声,然后通过神经网络不断进行去噪操作,逐步恢复出图像。
常见的扩散模型如稳定扩散(Stable Diffusion),它使用了 U-Net 架构,这是一种基于卷积的神经网络,可将图像下采样到较低维度,并在上采样期间重建它。在下采样层和上采样层之间添加跳跃连接以获得更好的梯度流。通过将从语言模型生成的文本嵌入连接到图像表示,将提示注入到模型中。
扩散模型的优势在于它直接在数据分布上进行建模,能缓解训练稳定性问题,并生成更多样化的数据。其数学原理涉及到一些复杂的公式和推导,主要是通过定义前向扩散过程的概率分布以及利用神经网络学习反向扩散过程来实现图像或其他数据的生成。
与其他生成模型(如生成对抗网络 GAN 和变分自编码器 VAE)相比,扩散模型具有一些独特的特点。例如,GAN 存在训练不稳定、模式崩溃等问题,而扩散模型的训练相对更稳定;VAE 则需要学习图像编码成向量和解码回图像的过程,扩散模型把编码过程固定为加噪声,让解码器学习消除每一步添加的噪声。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值