条件扩散模型是一种生成模型,它根据特定的输入条件(如类标签、文本提示或其他引导数据)生成输出。与无条件模型(不加明确指导地生成样本)不同,条件模型使用额外的信息来引导生成过程,使其具有所需的属性。 例如,一个在图像上训练的模型可能会将“山路上的红色汽车”这样的文本描述作为输入,并生成与该描述匹配的图像。 这种条件允许开发人员控制输出,使模型更适用于有针对性的应用程序。
从技术上讲,条件是通过修改每个步骤中消除噪声的方式来集成到扩散过程中的。 在训练期间,模型学习将输入条件与相应的数据相关联。 例如,在文本到图像的生成中,模型可能会将文本提示编码为嵌入(数值表示),并将它们注入到负责去噪的神经网络层中。 这可能涉及诸如将条件与嘈杂的输入连接起来,或使用交叉注意力层来对齐文本和图像特征的机制。 像 Stable Diffusion 这样的框架通过使用基于 Transformer 的文本编码器来引导扩散模型的 UNet 架构来采用这种方法。 该模型调整其在每个去噪步骤的预测,以确保输出与条件对齐,从而有效地“调整”生成。
条件扩散模型在需要精确控制输出的场景中特别有用。 开发人员可以使用它们来执行诸如根据用户指令编辑图像(例如,“使天空变暗”)、合成以患者数据为条件的医学扫描或从转录生成音频等任务。 一个关键的好处是灵活性:通过更改输入条件,同一个模型可以生成不同的结果,而无需重新训练。 例如,通过调整年龄标签或情感描述符,在面部图像上训练的模型可以生成不同的年龄或表情。 这使得条件模型非常适合用户输入或外部数据必须直接影响输出的应用,从而平衡了创造性和特异性。