生成式 AI 的典型模型
四种方法都能生成新内容,做法各不相同。

重 点四种生成方法
GAN 让两个网络互相较劲。VAE 先把数据压成几个数,再还原回来。扩散模型先把图弄乱,再学着一步步变清楚。自回归模型一个词接一个词往下写。
知道更多看每种方法时抓两个问题
它从什么简单的东西出发,怎样一步步变成像样的内容。它的长处是什么,又付出了什么代价。
知道更多四个部分与八节
原课件分四个部分,本网站拆成八节,第二部分就是第三、四节。
四种方法都能生成新内容,做法各不相同。

GAN 让两个网络互相较劲。VAE 先把数据压成几个数,再还原回来。扩散模型先把图弄乱,再学着一步步变清楚。自回归模型一个词接一个词往下写。
它从什么简单的东西出发,怎样一步步变成像样的内容。它的长处是什么,又付出了什么代价。
原课件分四个部分,本网站拆成八节,第二部分就是第三、四节。
从简单的来源出发,经过神经网络,变成一张像样的图。
| 要素 | 在这个例子里指什么 |
|---|---|
| 潜在特征 | 那 100 个数,用来概括一张图的样子 |
| 采样机制 | 怎样选出这 100 个数 |
| 生成映射 | 神经网络怎样把它们变成 12288 个数 |
| 质量约束 | 训练时怎样判断变得像不像 |
直接凭空决定一万多个数,无从下手。随机数很容易造,难的部分交给神经网络去学。四种方法的区别,在于从什么出发、网络怎样搭、训练时怎样判断像不像。
捏泥人时先随手抓一团泥,这团泥就是随机数。手艺好的师傅能把任何一团泥捏成像样的人像,神经网络学的就是这门手艺。
一个负责造假,一个负责验假,两个网络轮流较劲。

造假币的人和验钞员较量。验钞员挑出破绽,造假的人就改进工艺,验钞员又学会看更细的地方。几轮之后,假币做得和真币几乎一样。
如果生成器发现某一种图最容易骗过判别器,它会翻来覆去只画这一种,比如让它写数字,它只写“8”。这叫模式坍塌,是 GAN 训练中常见的毛病。
判别器要分清真假,生成器要骗过判别器。
| 判别器希望 | 生成器希望 | |
|---|---|---|
| 真图的得分 | 接近 1 | 管不着 |
| 假图的得分 | 接近 0 | 接近 1 |
把“真图得分高、假图得分低”合起来算一个总分。判别器想让总分越大越好,生成器想让它越小越好。一方的得分,就是另一方的失分。
拔河时两队拉的是同一根绳子,一队往左,一队往右。绳子最后停在哪里,由两边的力气共同决定。
GAN 训练到理想状态时,判别器给假图打的分数接近多少?
三种改进,分别让 GAN 更可控、更清晰、更稳定。
| 名字 | 改了哪里 | 带来什么 |
|---|---|---|
| cGAN 条件 GAN | 给生成器和判别器都加上条件,比如“数字 7” | 想要什么,就能指定生成什么 |
| DCGAN 深度卷积 GAN | 两个网络都换成擅长处理图片的卷积网络 | 图片更清晰,训练更稳 |
| WGAN 沃瑟斯坦 GAN | 换了一把衡量真假差距的“尺子” | 训练不容易崩 |
原始 GAN 训练很不稳定,两个网络你追我赶,稍一失衡就崩溃。后来的很多变体,都在想办法让这场较量更平稳。扩散模型能后来居上,一个重要原因就是它训练起来稳定得多。
把每张图压成地图上的一小片区域,让地图连成一片。

左边的普通自编码器,每张图各占一个点,点与点之间大片空白。在空白处随便取一个点,还原出来的往往是一团乱麻。右边的 VAE 把这些位置整理成连续的一片,在里面随便取一个点,都能还原出像样的图。
编码出一个中心和范围,在里面取点,再解码。
取点的算法是“中心 + 范围 × 随机数”。随机的部分单独放在外面,中心和范围就能照常用梯度下降来调整。这个小技巧叫重参数化。
如果编码器给出中心 1.2、范围 0.3,这次抽到的随机数是 1,取到的点是多少?
既要还原得像,又要地图整齐,两头都得顾上。
比较输入的图和还原出来的图,差得越少越好。它让每张图的特点都被保留下来。
要求每张图的中心和范围,别离虚线圈里的标准位置太远。它让地图连成一片,中间没有空洞。
只顾还原,每张图各占一块,块与块之间是空洞,在空洞里取点画不出东西。只顾整齐,所有图挤成一团,分不出谁是谁,还原出来都是模糊的平均样子。两项一起变小,才能得到图中第三张那样的地图。
收拾书桌也要两头兼顾。东西全摊在桌面上,找起来快,可是乱。全塞进一个抽屉,整齐了,要用时却得翻半天。分门别类放进几个挨着的格子,才两头都顾上。
训练稳定、用途广,缺点是图片偏模糊。

遇到拿不准的细节,比如一根头发到底在哪里,VAE 倾向于给出几种可能的平均值,平均出来就是一片模糊。GAN 的判别器会揪住模糊不放,所以 GAN 的图往往更清晰。
在化学和材料研究里,VAE 可以把分子压成地图上的点。在地图上挑一个新位置,就能解码出一个新的候选分子。
工厂只用合格零件的照片训练了一个 VAE。拿一张有裂缝的零件照片给它还原,最可能出现什么情况?