图像生成模型原理

模型与算力

从噪声到成图,把扩散、采样步数、潜空间和条件控制这几件事串起来讲清图像生成模型的工作原理。

用 AI 出图的人多半都遇到过:同一个提示词,换个模型、改几个参数,出来的东西差得离谱;或者想调「像不像参考图」,却不知道该动哪一项。这篇不教你怎么写提示词,而是把图像生成模型从一团噪声到一张图的中间过程拆开讲,让你知道每类参数大概在动哪一环,出了问题该往哪查。

用 AI 出图的人大多踩过这种坑:同一段提示词,换个模型、动几个参数,出来的东西完全两样;想调「像不像参考图」,却不知道该拧哪一颗螺丝。问题往往不在提示词本身,而在你没搞清楚整条流水线在干什么。这篇不教写提示词,只把从一团噪声到一张图的中间过程拆开,让你知道每类参数大概在动哪一环,出问题知道往哪儿查。

大体上,一张图要经过四段路:随机噪声起步、在更小的表示里反复去噪、条件信息全程插手、最后解码还原成像素。后面每一节对应一段,讲清它的作用和边界,以及你在界面上能看到的那几个旋钮分别接在哪。

一张图是怎么从随机噪声里长出来的

起点不是空白画布,而是一张纯随机噪声图。模型在每一步对这块噪声做一点「减法」,逐步补出结构信息,采样步数就是「减几次」。训练阶段做的恰好是相反的事:往真图里一步步加噪,让模型学会分辨「这一步加了什么」,加噪的方式决定了这个模型整体的风格偏好。

所以采样步数不是越多越好。到某个点之后再叠加,基本只是重复计算,还会把已经出现的细节磨平。这个拐点因模型而异,与其背数字,不如到 /tools/pelican-bench 用同一提示词跑不同步数配置,自己看差异。另外注意:模型的输出往往不是一步直接出整张像素图,而是先出中间表示,再交给解码环节还原。

  • 固定提示词和种子,只改步数,跑三档对比,看画面从「没成形」到「够干净」再到「细节被磨平」的转折在哪
  • 同一模型重复跑同一种子,确认结果是否稳定;不稳的部分多半来自采样随机性
  • 换个模型重跑同一组参数,感受不同训练分布带来的风格差异
  • 把结论记在该模型自己的备注里,别套用到别的模型上

为什么很多模型不直接在像素上算

直接在原图像素上做加噪去噪,计算量按分辨率增长得很快,所以主流做法是先把图压进一个更小的表示(潜空间),在潜空间里完成生成,最后再解码回像素。这个「压缩再还原」的环节会带来固有精度损失,文字、细线、小字最容易糊——这就是不少模型排不好中英文的物理原因,不全是提示词没写对。

环节在做什么出了问题的典型表现
编码压缩把像素图压成更小的表示细节先天有损,越小的元素越危险
潜空间生成在压缩表示上反复去噪构图稳但细节上限受压缩比限制
解码还原把小表示还原成像素文字、线稿容易糊成一团
放大环节另行提升到更高像素和潜空间尺寸是两回事,别混着调

压缩比越小,出图越快、显存越省,但细节上限越低。要排字或做精细线稿,优先挑对文字处理更擅长的模型,可以在 /ai-nav/category/ai-image 和 /ai-nav/category/ai-image-edit 里横向看工具定位。还要记住:潜空间尺寸和最终出图分辨率是两件事,放大到更高像素通常靠另一套放大环节,不是把潜空间直接拉大。

提示词、参考图、姿态这些控制是加在哪一步的

文字提示词和参考图都属于「条件」,它们的参与方式是每一步去噪时都来影响方向。也就是说条件贯穿整个生成过程,不是开头拍一次板就完事。这解释了一件事:条件写得太含糊,后面每一步都在放大这种含糊,最后就偏得离谱。

文字提示词
最轻的控制手段,改一句就换一个方向
参考图
同时带来内容相似和构图相似,力度大、也更容易压过别的条件
姿态、深度等结构条件
主要锁形状,一般不管风格和材质
控制强度
每一种可控条件都有的旋钮,决定它在去噪里说话的分量

控制强度调太高,容易出现「形似但糊」或画面僵硬;调太低,等于没加。实践中从中间值往两边试,通常比从两端往中间收敛得快。另外,一堆条件叠加时很容易互相打架,别一次加满。想省事的话,把参考图和控制条件交给 /ai-nav/category/ai-image-edit 里明确标注支持参考图的工具,比在通用模型上硬拧参数稳。

出图不稳时按这个顺序排查

这一节的顺序不是随手排的,原则是「先排除随机性,再动可控项,最后才换模型」。越往后代价越大,因为换模型等于换一整套训练分布,之前调好的参数基本要重来一遍。

  1. 固定种子先把随机种子锁死,确认问题能复现。不复现的差异多半来自采样随机性,不是模型坏了,别急着改参数。
  2. 调步数与采样器这两项一起决定收敛过程和画面干净程度,单独动一项容易误判。成组试,别只拧一个。
  3. 动控制条件与强度参考图、姿态信息往往是画面跑偏的主因。先把叠加的条件减到最少,再一个一个加回来。
  4. 最后才换模型前三步都排除后再换。换模型后,之前的参数经验基本作废,按新模型重跑一遍上面的顺序。

还有一层成本和原理相关:叠了参考图、放大之后,出图的计费口径和单纯文生图往往不同,不同厂商差别也不小。出图前先去 /official-api/providers/openai 这类官方页核对当时的计价方式,再到 /tools/model-cost-calculator 按自己的出图量算一遍,比事后看账单清楚。

参数不是玄学,每一个旋钮都接在整条流水线的某一环上;知道它接在哪,就知道动了它会牵动什么。
下一步想动手验证这些原理,最省事的办法是固定提示词和种子,在同一个工具里只改一项参数,跑几组对照。比起继续搜「最佳参数」,这种排查能更快让你摸清手里这个模型脾气。

常见问题

为什么同一个提示词,别人出图比我好看这么多?

多数情况不是模型差距,而是采样步数、采样器、控制条件强度和随机种子这几项组合不同,加上对方可能用的是经过微调或加了风格控制的版本。先固定种子、再逐个变量对比,比直接换模型更能找到原因,具体参数档位因模型而异,参考站内工具目录里对应模型的默认推荐值。

文字和手为什么总是画不好?

这两类内容对像素级精度要求高,而主流做法是在压缩过的潜空间里生成,细笔画和字符结构在压缩还原时容易丢。专攻排字或线稿的模型会在这一环做补偿,可以在 /ai-nav/category/ai-image 里按这个维度筛工具,而不是靠把提示词写得更长。

步数调高一点,图会不会一定更好?

不会。步数增加到一定程度后,画面结构基本定型,再叠加主要是重复计算,反而可能让纹理变糊,同时出图耗时和费用线性上涨。合适档位跟模型、采样器和画面复杂度都有关,建议用同一提示词做几档对照,把差异记录下来再定默认值。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。