将外部文本提示集成到扩散过程中涉及到修改模型在图像生成期间如何解释和应用文本指导。诸如 Stable Diffusion 的扩散模型通过迭代地将噪声提炼成连贯的输出来生成图像。文本提示通过调节模型的去噪步骤来引导这个过程。关键步骤包括将文本编码成嵌入,将这些嵌入与扩散模型的潜在空间对齐,并使用交叉注意力机制来确保生成的图像与提示对齐。例如,文本首先被分词并由语言模型(例如,CLIP)处理以产生嵌入,然后这些嵌入在每个去噪步骤被注入到扩散网络中。
为了实现这一点,开发者通常使用预训练的文本编码器将提示转换为高维向量。这些向量被馈送到扩散模型的 U-Net 架构中,其中交叉注意力层将文本特征映射到视觉特征。在训练期间,模型通过最小化生成的图像与真实数据之间的差异来学习将特定的单词或短语与视觉模式相关联。在推理时,文本嵌入充当指导,告诉模型要强调哪些视觉元素。例如,像“雨天街道上的一辆红色汽车”这样的提示会引导模型在去噪期间优先考虑红色色调、汽车形状和雨水纹理。诸如 Hugging Face 的 Diffusers 库之类的工具通过提供 API 来自动处理文本编码和交叉注意力集成,从而简化了这个过程。
开发者可以通过调整诸如无分类器指导比例之类的参数来自定义此过程,该参数控制模型严格遵守文本提示的程度。较高的指导比例(例如,7.5)会增加对提示的遵守,但可能会降低多样性。此外,诸如提示权重(为特定单词分配重要性分数)或使用负面提示(“避免模糊背景”)之类的技术可以进一步完善输出。例如,在代码中,您可以将 guidance_scale=7.5
和 negative_prompt="blurry"
传递给管道。测试不同的文本编码器或在特定领域的数据(例如,医学术语)上微调它们也可以改善文本与为特殊用例生成的图像之间的对齐。