Diffusion Model
Diffusion Model(扩散模型)
扩散模型是一类基于概率生成的深度学习模型,核心思想是通过模拟“扩散过程”(从有序到无序)的逆过程,逐步从随机噪声中生成逼真的数据(如图像、文本等)。自2020年以来,扩散模型在图像生成领域表现突出,成为与GAN、VAE并列的主流生成模型,典型代表包括DDPM(Denoising Diffusion Probabilistic Models)、Stable Diffusion等。
核心原理
扩散模型的工作流程分为两个阶段:前向扩散(Forward Diffusion) 和反向扩散(Reverse Diffusion)。
- 前向扩散(加噪过程)从原始数据(如一张图像)开始,逐步向其中添加高斯噪声,经过T步后,数据最终变成完全随机的噪声。每一步加噪遵循马尔可夫链:第t步的状态仅依赖于第t-1步。数学上,第t步的噪声由前一步状态和高斯噪声叠加而成,满足公式: 其中, 是预设的衰减系数(控制噪声强度), 是标准高斯噪声。经过足够多步骤(T→∞), 近似于标准高斯分布 。
- 反向扩散(去噪过程)训练一个神经网络(通常是U-Net架构)学习前向扩散的逆过程:从随机噪声 出发,逐步去除噪声,最终恢复出与原始数据相似的样本。神经网络的目标是预测第t步添加的噪声 ,进而通过公式反推 : 其中, 是模型预测的噪声, 是重新引入的小噪声(增强随机性), 是 到 的累积乘积。
训练与生成过程
- 训练阶段:随机选择原始样本 和步数 ,生成 后,让模型 预测加噪过程中的噪声 ,损失函数为预测噪声与真实噪声的MSE:
- 生成阶段:从随机噪声 开始,用训练好的模型迭代执行T步去噪,最终得到 的生成样本。
优势与应用
- 优势:生成质量高:图像细节丰富,稳定性优于GAN(不易模式崩溃)。理论基础扎实:基于概率模型,生成过程可解释。易于扩展:支持条件生成(如文本引导的图像生成,如Stable Diffusion结合CLIP模型)。
- 应用:图像生成:文生图(Stable Diffusion、DALL·E 2)、图像修复、超分辨率重建。其他领域:视频生成、3D建模、分子结构生成等。
与其他生成模型的对比
扩散模型 | 逐步去噪,基于概率链 | 生成质量高,稳定 | 生成速度慢(需多步迭代) |
GAN | 对抗训练(生成器vs判别器) | 生成速度快 | 训练不稳定,易模式崩溃 |
VAE | 变分推断,学习潜在分布 | 可 latent 插值 | 生成样本模糊,细节不足 |
扩展与改进
- 加速生成:如DDIM(Denoising Diffusion Implicit Models)通过去除反向过程的随机性,将生成步数从千步缩减至几十步。
- 条件生成:引入额外输入(如文本、语义图)引导生成,典型案例是Stable Diffusion的文本编码器。
- 效率优化:轻量级模型设计(如MobileDiffusion)、蒸馏技术(用预训练模型加速小模型)。
扩散模型凭借其出色的生成能力,已成为AIGC领域的核心技术之一,尤其在图像生成任务中占据主导地位。
Diffusion Model中denoise(去噪)的原理是基于正向扩散过程建立噪声与图像的映射关系,通过训练噪声预测器预测噪声并逐步去除,从而恢复原始图像信息。具体如下:
denoise的原理
denoise(去噪)是指从含有噪声的信号、图像、音频或其他数据中去除或减少噪声,以恢复数据原本的真实信息的过程。噪声通常是指在数据采集、传输、处理等过程中引入的无关干扰信号,可能导致数据质量下降、特征模糊或信息失真。去噪是信号处理、图像处理、机器学习等领域的基础任务,目的是提升数据的可用性和后续分析的准确性。
- 正向扩散过程:从原始清晰图像开始,按照预设的“噪声计划”,逐步向图像中添加高斯噪声。随着步骤的进行,加入的噪声量越来越多,图像逐渐变得模糊,最终变成纯粹的噪声图像。这是一个马尔可夫链过程,即每一步的噪声图像只依赖于上一步的图像,且根据相关公式,可直接计算出任意步骤的噪声图像,无需一步步迭代。
- 反向去噪过程:从与正向过程最终状态分布相同的纯粹随机噪声图像开始,通过训练一个神经网络(通常为U-Net架构)作为噪声预测器来逐步去噪。噪声预测器的输入是噪声图像和当前时间步,输出是对该噪声图像中所添加噪声的预测。根据预测的噪声,利用特定的数学公式,从当前噪声图像中“减去”预测噪声(并加上一些必要的随机性),得到上一步相对更清晰的图像。如此反复,从最后一步开始,逐步向前推导,经过多次迭代,最终生成接近原始清晰图像的结果。
- 训练过程:在训练噪声预测器时,通过前向扩散过程生成大量“输入-输出”对作为训练样本。具体是随机采样时间步和噪声,生成带噪声图像,将其与时间步一起输入噪声预测器,得到预测噪声,然后计算预测噪声与实际添加噪声之间的L2损失,通过反向传播更新网络参数,使噪声预测器逐渐学会在不同噪声水平下准确预测噪声,为反向去噪过程提供可靠基础。
噪声的来源
噪声的产生原因多样,常见来源包括:
- 设备因素:传感器(如相机、麦克风)的硬件缺陷或性能限制(如电子元件的热噪声)。
- 环境干扰:拍摄图像时的光线变化、传输过程中的电磁干扰、录音时的背景杂音等。
- 数据处理:压缩算法的损耗、数字化过程中的量化误差等。
去噪的主要方法
根据处理对象和应用场景,去噪方法可分为传统方法和基于深度学习的方法:
1. 传统去噪方法
- 均值滤波(Mean Filtering):用像素周围邻域的平均值替换该像素,适用于去除高斯噪声,但可能模糊图像细节。
- 中值滤波(Median Filtering):用邻域内的中值替换像素值,对椒盐噪声(随机出现的黑白点)效果显著,能较好保留边缘。
- 高斯滤波(Gaussian Filtering):通过高斯核函数对图像进行平滑,抑制高频噪声(如细节处的干扰),但会轻微模糊图像。
- 小波变换去噪:将信号分解为不同频率的小波系数,阈值化处理高频噪声对应的系数后重构信号,兼顾去噪和细节保留。
- 维纳滤波(Wiener Filtering):基于统计最优估计,根据噪声的统计特性自适应调整滤波参数,适用于已知噪声模型的场景。
2. 基于深度学习的去噪方法
随着深度学习的发展,基于神经网络的去噪方法在复杂场景下表现更优:
- 自编码器(Autoencoder):通过编码器压缩含噪数据,解码器重建干净数据,学习从噪声到真实信号的映射。
- U-Net及变体:在图像去噪中广泛应用,通过编码器提取特征、解码器恢复细节,结合跳跃连接保留边缘信息(如DnCNN模型)。
- 扩散模型(Diffusion Model)中的去噪:扩散模型的核心过程就是“去噪”——通过神经网络学习从含噪样本中预测噪声,逐步去除噪声以生成高质量数据(如DDPM、Stable Diffusion)。
- Transformer-based方法:利用注意力机制捕捉长距离依赖,在图像、音频去噪中提升对复杂噪声的处理能力。
应用场景
去噪在多个领域有重要应用:
- 图像处理:老照片修复、低光摄影降噪、医学影像(如CT、MRI)去噪以提升诊断精度。
- 音频处理:去除录音中的背景杂音(如会议录音去噪、语音识别前的预处理)。
- 通信领域:减少信号传输中的噪声干扰,提升数据传输的可靠性。
- 机器学习:作为数据预处理步骤,减少噪声对模型训练的影响,提升模型泛化能力。
总之,去噪的核心目标是在去除干扰的同时,最大程度保留数据的关键特征(如边缘、纹理、语义信息),其方法选择需根据噪声类型、数据特性和应用需求综合决定。