Stable Diffusion模型的工作原理
Stable Diffusion是一种基于潜在扩散模型(Latent Diffusion Model, LDM)的文本到图像生成模型,其核心逻辑是通过潜在空间的压缩与解压缩,结合渐进式去噪过程,实现从随机噪声到符合文本描述的图像生成。与传统扩散模型直接在像素空间操作相比,潜在空间的使用大幅降低了计算成本,同时保持了生成质量。
1. 核心组件:模型架构的三层结构
Stable Diffusion的工作依赖三个关键组件的协同:
- 变分自编码器(VAE):负责图像的潜空间压缩与重建。编码器将高维像素图像(如512×512×3)压缩为低维潜在向量(如64×64×4),减少计算量;解码器将潜在向量还原为像素图像,确保生成结果的视觉质量。
- U-Net网络:作为去噪核心,执行前向扩散(加噪)与反向扩散(去噪)过程。其结构包含ResNet骨干层,并通过交叉注意力机制接收文本编码器的语义向量,实现文本对图像生成的条件控制。
- 文本编码器:通常采用基于Transformer的模型(如CLIP),将输入的文本提示(如“一只戴帽子的猫”)转换为语义嵌入向量,为U-Net提供文本语义指导,确保生成的图像与文本描述一致。
2. 扩散过程:从噪声到图像的迭代演化
Stable Diffusion的生成过程分为前向扩散与反向扩散两个阶段:
- 前向扩散:向训练图像逐步添加高斯噪声,经过固定步数(如1000步)后,图像变为完全随机的噪声(无法辨认原始内容)。这一步模拟了“信息扩散”的物理过程,将有序的图像数据转化为无序的噪声。
- 反向扩散:通过训练好的U-Net网络,从纯噪声开始,逐步去除噪声并恢复图像结构。每一步中,U-Net根据当前噪声图像和文本嵌入向量,预测并去除部分噪声,最终生成符合文本描述的清晰图像。这一过程是迭代进行的,步数越多,图像质量越高。
3. 关键机制:条件控制与高效计算
- 文本条件控制:通过交叉注意力机制,将文本编码器的语义向量融入U-Net的解码器与编码器之间。例如,当文本提示提到“红色猫”时,交叉注意力机制会引导U-Net在去噪过程中强化“红色”与“猫”的特征,确保生成图像与文本语义匹配。
- 潜在空间高效性:VAE将高维图像压缩至低维潜在空间(如64×64),使反向扩散过程的计算量减少4-8倍。这种设计使得Stable Diffusion能够在消费级GPU(如NVIDIA RTX 3060)上运行,解决了传统扩散模型对高性能计算资源的依赖。