当前位置: 首页 > news >正文

扩散模型:AIGC领域的核心引擎,解锁图像生成新维度

一、扩散模型技术原理

扩散模型是一类生成模型,它运用了物理热力学中的扩散思想, 主要包括前向扩散和反向扩散两个过程。

1.1、生成模型

在深度学习中,生成模型的目标是根据给定的样本(训练数据) 生成新样本。首先给定一批训练数据X ,假设其服从某种复杂的真实 分布p ( x ),则给定的训练数据可视为从该分布中采样的观测样本 x 。如 果能够从这些观测样本中估计出训练数据的真实分布,不就可以从该 分布中源源不断地采样出新的样本了吗?生成模型实际上就是这么做 的,它的作用是估计训练数据的真实分布,并将其假定为q ( x )。在深度学习中,这个过程称为拟合网络。
那么问题来了,怎么才能知道估计的分布 q ( x )和真实分布 p ( x )的 差距大不大呢?一种简单的思路是要求所有的训练数据样本采样自 q( x )的概率最大。这种思路实际上来自统计学中的最大似然估计思
想,它也是生成模型的基本思想之一,因此生成模型的学习目标就是对训练数据的分布进行建模。

1.2、扩散过程

最大似然估计思想已经在一些模型(如VAE)上应用并取得了不 错的效果。扩散模型可看作一个更深层次的VAE。扩散模型的表达能力更加丰富,而且其核心在于扩散过程。 扩散的思想来自物理学中的非平衡热力学分支。非平衡热力学专 门研究某些不处于热力学平衡中的物理系统,其中最为典型的研究案 例是一滴墨水在水中扩散的过程。在扩散开始之前,这滴墨水会在水中的某个地方形成一个大的斑点,我们可以认为这是这滴墨水的初始状态,但要描述该初始状态的概率分布则很困难,因为这个概率分布非常复杂。随着扩散过程的进行,这滴墨水随着时间的推移逐步扩散
到水中,水的颜色也逐渐变成这滴墨水的颜色,如图1-1所示。此 时,墨水分子的概率分布将变得更加简单和均匀,这样我们就可以很 轻松地用数学公式来描述其中的概率分布了。
图1-1 一滴墨水在水中扩散分布的示意图
在这种情况下,非平衡热力学就派上用场了,它可以描述这滴墨 水随时间推移的扩散过程中每一个“时间步”(旨在将连续的时间过 程离散化)状态的概率分布。若能够想到办法把这个过程反过来,就 可以从简单的分布中逐步推断出复杂的分布。
公认最早的扩散模型DDPM(Denoising Diffusion Probabilistic Model)的扩散原理就由此而来,不过仅有上述条件依然很难从简单的 分布倒推出复杂的分布。DDPM还做了一些假设,例如假设扩散过程 是马尔可夫过程(即每一个时间步状态的概率分布仅由上一个时间步 状态的概率分布加上当前时间步的高斯噪声得到),以及假设扩散过 程的逆过程是高斯分布等
DDPM的扩散过程如图1-2所示,具体分为前向过程和反向过程两部分。
图1-2 DDPM的扩散过程

前向扩散之后为什么还要后向扩散?

  • 目标不同:前向扩散的目标是将数据逐步噪声化,最终得到纯噪声分布。而反向扩散的目标是从噪声出发,通过逐步去噪,恢复出与原始数据分布相似的干净数据。
  • 学习条件转移:前向扩散过程通过固定的高斯噪声来破坏数据结构。反向扩散过程则需要学习如何从带噪数据转移到干净数据。这个转移过程由神经网络参数化,需要通过训练来优化网络参数。
  • 构建生成模型:前向扩散虽然定义了带噪数据的边缘分布,但无法直接用于生成任务。反向扩散通过训练神经网络,学习每一步的去噪过程,从而将噪声逐步转化为干净数据。训练好的反向扩散模型就是我们需要的生成模型。
  • 实现可控生成:前向扩散过程是随机的,无法控制生成内容。但反向扩散可以通过调节每一步的去噪过程,引入条件信息,实现语义级的可控生成。这大大拓展了扩散模型的应用范围。
  • 提供训练目标:前向扩散和反向扩散的联合分布提供了一个变分下界,可以作为扩散模型的训练目标。优化该目标函数,就能同时完成前向噪声估计和反向去噪学习。

二、扩散模型发展历史

2.1、基础扩散模型的提出与改进

在图像生成领域,最早出现的扩散模型是DDPM(于2020年提 出)。DDPM首次将“去噪”扩散概率模型应用到图像生成任务中, 奠定了扩散模型在图像生成领域应用的基础,包括扩散过程定义、噪 声分布假设、马尔可夫链计算、随机微分方程求解和损失函数表征等,后面涌现的众多扩散模型都是在此基础上进行了不同种类的改进。
论 文 “Score-Based Generative Modeling through Stochastic Differential Equations”证明了DDPM的采样过程是更 普遍的随机微分方程,因此只要能够更离散化地求解该随机微分方程,就可以将1000步的采样过程缩减至50步、20步甚至更少的步 数,从而极大地提高扩散模型生成图像的速度,如图1-3所示。针对 如何更快地进行采样这一问题,目前已经涌现了许多优秀的求解器, 如Euler、SDE、DPM-Solver++和Karras等,这些加速采样方法也是 扩散模型风靡全球至关重要的推力。

2.2、基于显式分类器引导的扩散模型

2021年5月以前,虽然扩散模型已经被应用到图像生成领域,但 它实际上在图像生成领域并没有“大红大紫”,因为早期的扩散模型在所生成图像的质量和稳定性上并不如经典的生成模型GAN(Generative Adversarial Network,生成对抗网络),真正让扩散模型开始在研究领域“爆火”的原因是论文“Diffusion Models Beat GANs on Image Synthesis”的发表。OpenAI的这篇论文贡献 非常大,尤其是该文介绍了在扩散过程中如何使用显式分类器引导。 更重要的是,这篇论文打败了图像生成领域统治多年的GAN,展 示了扩散模型的强大潜力,使得扩散模型一举成为图像生成领域最火 的模型。

2.3、基于CLIP的多模态图像生成

CLIP是连接文本和图像的模型,旨在将同一语义的文字和图片转 换到同一个隐空间中,例如文字“一个苹果”和图片“一个苹果”。 正是由于这项技术和扩散模型的结合,才引起基于文字引导的文字生 成图像扩散模型在图像生成领域的彻底爆发,例如OpenAI的GLIDE、 DALL-E、DALL-E 2(基于DALL-E 2生成的图像如图1-5所示), Google的Imagen以及开源的Stable Diffusion(Stable Diffusion v2扩散模型)等,优秀的文字生成图像扩散模型 层出不穷,给我们带来无尽的惊喜
图1-5 基于DALL-E 2生成的“拿着奶酪的猫“

2.4、大模型的“再学习”方法:DreamBooth、LoRA和ControlNet

自从扩散模型走上大模型之路后,重新训练一个图像生成扩散模 型变得非常昂贵。面对数据和计算资源高昂的成本,个人研究者想要 入场进行扩散模型的相关研究已经变得非常困难。 但实际上,像开源的Stable Diffusion这样的扩散模型已经出色地学习到非常多的图像生成知识,因此不需要也没有必要重新训练类 似的扩散模型。于是,许多基于现有的扩散模型进行“再学习”的技术自然而然地涌现,这也使得个人在消费级显卡上训练自己的扩散模 型成为可能。DreamBooth、LoRA和ControlNet是实现大模型“再 学习”的不同方法,它们是针对不同的任务而提出的。
DreamBooth可以实现使用现有模型再学习到指定主体图像的功 能,只要通过少量训练将主体绑定到唯一的文本标识符后,就可以通 过输入文本提示语来控制自己的主体以生成不同的图像,如图1-7所 示。图1-7 使用DreamBooth将小狗嵌入图像中并生成不同场景下的小狗
图1-7 使用DreamBooth将小狗嵌入图像中并生成不同场景下的小狗
LoRA可以实现使用现有模型再学习到自己指定数据集风格或人物 的功能,并且还能够将其融入现有的图像生成中。Hugging Face提 供了训练LoRA的UI界面,如图1-8所示。 图1-8 Hugging Face提供的LoRA训练界面,可定制的LoRA超参数:用户可以调整LoRA adapter的秩、alpha值等超参数,以平衡性能和效率。
图1-8 Hugging Face提供的LoRA训练界面
ControlNet可以再学习到更多模态的信息,并利用分割图、边缘 图等功能更精细地控制图像的生成。

三、扩散模型的应用

扩散只是一种思想,扩散模型也并非固定的深度网络结构。除此 之外,如果将扩散的思想融入其他领域,扩散模型同样可以发挥重要作用。

3.1、计算机视觉

计算机视觉包括2D视觉和3D视觉两个方面,这里仅介绍扩散模 型在2D图像领域的应用。
图像类的应用十分广泛,而且与人们的日常生活息息相关。在扩 散模型出现之前,与图像处理相关的研究已经有很多了,而扩散模型 在许多图像处理任务中都可以很好地发挥作用,具体如下。
●图像分割与目标检测。图像分割与目标检测是计算机视觉领域 的经典任务,在智能驾驶、质量监测等方面备受关注。而在加入扩散 的方法之后,就可以获取更精准的分割和检测结果了,例如Meta AI 的SegDiff分割扩散模型可以生成分割Mask图(如图1-14所示),检测扩散模型DiffusionDet同样可以端到端地从随机矩形框逐步生成检 测框(如图1-15所示)。不过,扩散模型仍然存在生成速度慢的问 题,在应用于一些需要实时检测的场景时还需继续优化。
图1-14 SegDiff生成的分割Mask图
图1-15 DiffusionDet生成的检测框
●图像超分辨率。图像超分辨率是一项能够将低分辨率图像重建 为高分辨率图像,同时保证图像布局连贯的技术。CDM(Cascaded Diffusion Model,级联扩散模型)通过采用串联多个扩散模型的方 式,分级式地逐步放大分辨率,实现了图像超分辨率,图1-16给出了 一个使用CDM实现图像超分辨率的示例。
图1-16 使用CDM实现图像超分辨率
●图像修复、图像翻译和图像编辑。图像修复、图像翻译和图像 编辑是对图像的部分或全部区域执行的操作,包括缺失部分修补、风 格迁移、内容替换等。Palette是一个集成了图像修复、图像翻译和图 像编辑等功能的扩散模型,它可以在一个模型中完成不同的图像级任务。

图1-17给出了一个使用Palette修复图像的示例。
图1-17 使用Palette修复图像

3.2、时序数据预测

时序数据预测旨在根据历史观测数据预测未来可能出现的数据, 如空气温度预测、股票价格预测、销售与产能预测等。时序数据预测 同样可以视为生成任务,即基于历史数据的基本条件来生成未来数 据,因此扩散模型也能发挥作用。

TimeGrad是首个在多元概率时序数据预测任务中加入扩散思想 的自回归模型。为了将扩散过程添加到历史数据中,TimeGrad首先 使用RNN(Recurrent Neural Network,循环神经网络)处理历史 数据并保存到隐空间中,然后对历史数据添加噪声以实现扩散过程, 由此处理数千维度的多元数据并完成预测任务。图1-18展示了 TimeGrad在城市交通流量预测任务中的表现。
图1-18 TimeGrad在城市交通流量预测任务中的表现

3.3、 自然语言

实际上,扩散模型同样可以完成语言类的生成任务。只要将自然 语言类的句子分词并转换为词向量之后,就可以通过扩散的方法来学 习自然语言的语句生成,进而完成自然语言领域一些更复杂的任务, 如语言翻译、问答对话、搜索补全、情感分析、文章续写等。

Diffusion-LM是首个将扩散模型应用到自然语言领域的扩散语言 模型。该模型旨在解决如何将连续的扩散过程应用到离散的非连续化 文本的问题,由此实现语言类的高细粒度可控生成。经过测试, Diffusion-LM在6种可控文本生成任务中取得非常好的生成效果。
实际上,后续也有非常多的基于Diffusion-LM的应用。不过在自然语言领域,目前的主流模型仍然是GPT(Generative Pre-trained Transformer),我们非常期待扩散模型未来能在自然语言领域得到更 进一步的发展。

3.4、 基于文本的多模态

多模态信息指的是多种数据类型的信息,包括文本、图像、音/视 频、3D物体等。多模态信息的交互是人工智能领域的研究热点之一,对于AI理解人类世界、帮助人类处理多种事务具有重要意义。在诸如 DALL-E 2和Stable Diffusion等图像生成扩散模型以及ChatGPT等语 言模型出现之后,多模态开始逐渐演变为基于文本和其他模态的交 ,如文本生成图像、文本生成视频、文本生成3D等。

●文本生成图像。文本生成图像是扩散模型最流行、最成熟的应 用,输入文本提示语或仅仅输入几个词,扩散模型就能根据文字描述 生成对应的图片。本章开头介绍的大名鼎鼎的文本生成图像扩散模型 DALLE-2、Imagen以及完全开源的Stable Diffusion等,都属于文本 和图像的多模态扩散模型。图1-19给出了几个使用Imagen实现文字 生成图像的示例,后面我们将重点介绍与文本生成图像相关的应用。
图1-19 使用Imagen实现文字生成图像的几个示例
●文本生成视频。与文本生成图像类似,文本生成视频扩散模型 能够将输入的文本提示语转换为相应的视频流。不同的是,视频的前 后帧需要保持极佳的连贯性。文本生成视频也有非常广泛的应用,如 Meta AI的Make-A-Video(如图1-20所示)以及能够精细控制视频 生成的ControlNet Video等。图1-21展示了Hugging Face上的 ControlNet Video Space应用界面。
图1-20 Meta AI的Make-A-Video:一条身着超人外衣、肩披红色斗 篷的狗在天空中翱翔
●文本生成3D。同样,文本生成3D扩散模型能够将输入的文本转 换为相应的3D物体。稍有不同的是,3D物体的表征有多种方式,如点云、网格、NeRF等。不同的应用在实现方式上也略有差异,例如:DiffRF提出了通过扩散的方法实现从文本生成3D辐射场的扩散模型,如图1-22所示3DFuse实现了基于二维图像生成对应的3D点云,我们可以在Hugging Face上体验官方给出的演示实例,如图1- 23所示。
虽然目前文本生成3D技术仍处于起步阶段,但其应用前景非 常广阔,包括室内设计、游戏建模、元宇宙数字人等。
图1-21 Hugging Face上的ControlNet Video Space应用界面
图1-22 使用DiffRF生成3D沙发 图1-23 Hugging Face上的3DFuse Space应用界面

3.5、 AI基础科学

AI基础科学又称AI for Science,它是人工智能领域具有广阔前 景的分支之一,甚至能够发展为造福全人类的技术。与AI基础科学相 关 的 研 究 成 果 也 不 止 一 次 荣 登 《 自 然 》 杂 志 。 例 如 , 2021 年 DeepMind研究的AlphaFold 2可以预测人类世界98.5%的蛋白质, 2022年DeepMind用强化学习控制核聚变反应堆内过热的等离子体 等。 扩散模型对生成类的任务一直表现十分专业,AI基础科学中生成 预测类的研究当然也少不了扩散模型的参与。SMCDiff创建了一种扩散模型,该扩散模型可以根据给定的模体结构生成多样化的支架蛋白质,如图1-24所示。CDVAE则提出了一种扩散晶体变分自编码器模型,旨在生成和优化具有固定周期性原子结构的材料。

SMCDiff生成的多样化的支架蛋白质

http://www.mrgr.cn/news/94537.html

相关文章:

  • 【2025最新】深度学习框架PyTorch——从入门到精通(1)下载与安装
  • spring 创建单例 Bean 源码分析
  • k8s集群-kubeadm init
  • 压敏电阻结构特点及选型指南
  • 【图论】并查集的学习和使用
  • 卫语句优化多层if else嵌套
  • 计算机视觉cv2入门之边缘检测
  • Python Matplotlib面试题精选及参考答案
  • Python精进系列:隐藏能力之魔术方法
  • 315周六复盘(118)本周回顾
  • 入门基础项目-前端Vue_02
  • UE4-UE5虚幻引擎,前置学习一--Console日志输出经常崩溃,有什么好的解决办法
  • MySQL开发陷阱与最佳实践:第1章:MySQL开发基础概述-1.2 MySQL开发环境搭建
  • 链表·简单归并
  • 【技术支持】记一次mac电脑换行符差异问题
  • 精通游戏测试笔记(持续更新)
  • 【云原生技术】容器技术的发展史
  • 高频面试题(含笔试高频算法整理)基本总结回顾48
  • 高频面试题(含笔试高频算法整理)基本总结回顾43
  • 【Linux内核系列】:文件系统收尾以及软硬链接详解