返回 Ultralytics 术语表
Diffusion Models
探索扩散模型如何使用生成式 AI 创建高保真数据。立即了解如何使用逼真的合成数据增强 Ultralytics YOLO26 训练。
扩散模型是一类生成式 AI算法,通过逆转逐步添加噪声的过程来学习创建新的数据样本。与传统的判别式模型不同,后者用于目标检测或分类等任务,根据数据预测标签;扩散模型则专注于生成高保真内容,尤其是图像、音频和视频,使其在统计特性上高度接近真实世界数据。得益于训练稳定性和生成多样化输出的能力,它们已迅速成为高分辨率图像合成的先进解决方案,超越了生成对抗网络 (GANs)等先前的领先技术。
扩散模型的工作原理#
扩散模型的核心机制基于非平衡热力学。训练过程包含两个截然不同的阶段:正向过程(扩散)和反向过程(去噪)。
- **正向过程:**该阶段通过在一系列时间步中逐步添加少量高斯噪声,系统地破坏训练图像的结构。随着过程持续,复杂数据(例如一张猫的照片)会逐渐转变为纯粹、无结构的随机噪声。
- 反向过程:神经网络的目标是学习如何逆转这一破坏过程。从随机噪声开始,模型预测每一步所添加的噪声并将其减去。通过迭代去除噪声,模型会对随机信号进行“去噪”,直到生成一张连贯的高质量图像。
这种迭代式细化能够对细节和纹理实现出色的控制,这是相较于单步生成方法的一项显著优势。
实际应用#
扩散模型已经从学术研究走向了各行业中实用的生产级工具。
- **合成数据生成:**对于计算机视觉工程师而言,最有价值的应用之一是创建合成数据来扩充训练数据集。如果数据集缺乏多样性,例如缺少雪天条件下的汽车图像,扩散模型便可以生成逼真的变体。这有助于提升 YOLO26 等视觉模型在不可预测环境中部署时的鲁棒性。
- **图像修复与编辑:**扩散模型为高级编辑工具提供支持,使用户能够修改图像的特定区域。这项称为图像修复的技术可以移除不需要的对象,或根据周围环境填补照片中的缺失部分。建筑师和设计师利用它进行快速原型设计,可视化产品或环境的变化,而无需手动进行 3D 渲染。
关键术语辨析#
区分扩散模型与其他生成架构会很有帮助:
- 扩散模型与 GANs 的比较:GANs 使用两个相互竞争的网络(生成器和判别器),并以采样速度快而闻名,但它们经常受到“模式崩溃”的影响,即模型只能生成种类有限的输出。扩散模型通常在训练期间更加稳定,并且能够更全面地覆盖数据分布,但在推理时可能会更慢。
- 扩散模型与 VAEs 的比较:变分自编码器 (VAEs) 会将数据压缩到潜在空间中,然后进行重建。虽然 VAEs 速度较快,但与扩散过程生成的清晰细节相比,其生成的图像有时会显得模糊。
实际实现#
虽然从头开始训练扩散模型需要大量计算资源,但工程师可以利用预训练模型,或将其与高效检测器集成到工作流中。例如,你可以使用扩散模型为数据集生成背景变体,然后使用 Ultralytics Platform 对增强后的数据进行标注,并训练检测模型。
下面是一个使用 torch 模拟简单正向扩散步骤(添加噪声)的概念示例,这是训练此类系统的基础。
import torch
def add_noise(image_tensor, noise_level=0.1):
"""Simulates a single step of the forward diffusion process by adding Gaussian noise."""
# Generate Gaussian noise with the same shape as the input image
noise = torch.randn_like(image_tensor) * noise_level
# Add noise to the original image
noisy_image = image_tensor + noise
# Clamp values to ensure they remain valid image data (e.g., 0.0 to 1.0)
return torch.clamp(noisy_image, 0.0, 1.0)
# Create a dummy image tensor (3 channels, 64x64 pixels)
dummy_image = torch.rand(1, 3, 64, 64)
noisy_result = add_noise(dummy_image)
print(f"Original shape: {dummy_image.shape}, Noisy shape: {noisy_result.shape}")未来发展方向#
该领域正迅速发展到潜在扩散模型 (LDMs),这类模型在压缩后的潜在空间而非像素空间中运行,从而降低计算成本。这种高效性使在消费级硬件上运行强大的生成模型成为可能。随着研究持续推进,我们预计生成式输入与判别式任务之间将实现更紧密的集成,例如使用扩散模型生成的场景来验证自动驾驶车辆的安全性,或通过模拟罕见病理来改进医学图像分析。









