Stable Diffusion 图片生成原理简述」的摘要信息

最近关注和学习 AI 比较多,包括 AIGC 和 LLM 大模型,现在 AI 的原理介绍和入门教程已经非常多了,但还是想自己写一下,主要是遵从费曼学习法,分享是最好的学习,帮助自己整理思路。 本文介绍这一轮图片生成热潮的集大成者 Stable Diffusion 涉及的一些图片生成基本原理,这里全篇不会有数学公式,因为大部分公式我也不懂,但应该不会太影响理解基本原理和思路,有理解错误的地方欢迎指正。 扩散模型 在看图片生成这个逆天能力的时候,很好奇它是怎么做到的。要完全理解这里面的算法细节门槛挺高,但要了解基础原理概念还是简单的。 目前市面上文字生成图片基本上都基于 Diffusion 扩散模型,Stable Diffusion 自然也是,它最基本的原理是:根据文字指示,把一张随机生成的全是噪点的图片,一步步去掉噪点生成跟文字描述匹配的图片。 具体是怎样做到的?这里可以分步看两个问题: 怎么从一张随机噪点的图生成一张正常的图 怎么控制这个生成的图跟输入的 prompt 文字关联上 先看第一个问题,从随机噪点图生成一张正常图片,通过训练和组合 UNet 模型可以做到。 单步训练-生成 UNet 是个深度学习网络模型,模型细节不说,个人可以非常粗略地理解为,这个 UNet 模型里面的参数,记录了训练的图片的内容,但它不是精确存储,而是有一些映射和数学运算,做到可以识别提取图片特征,模糊地记忆图片的关键信息,混合存储。 这个模型训练出来后,如果你是用一张图片玩命训练它,那它最终恢复出来的就是这张图片(maybe?)。如果你用1万张图片训练这个模型,那它恢复出来的会是这一万张图片内容随机组合的一张图片。 下面稍微再展开看下训练过程和生成过程: 选一张正常图片A,随机生成一个噪声X,给A加上这个噪声。A+X=A1。 把A1输入到模型,我们希望做到的是,模型能在只有输入A1,没有输入噪...