Saltar al contenido
聊一聊
返回博客
人工智能

通过图像生成来理解深度学习。

图像 1 和 6 是合成的:由人工智能根据一组时间序列的图像生成。

1 分钟阅读

图像 1 和 6 是合成的:由人工智能根据一组时间序列的图像生成。

2、3、4 和 5 是人类的创作。更准确地说,是我画的。我用手指在屏幕上,在一个叫“Paper”的应用里画出来(这个应用最早属于 FiftyThree,现在属于 WeTransfer)。我先画出图像 2,然后依次往下。纯手工,加上放松的时间。

我把一组风格和美感都相近的作品交给人工智能,让 OpenAI 生成假设中这一系列的第一张和下一张。

我们人类会从中读出构图逻辑、色彩逻辑、空间逻辑。对人工智能来说,这是一场关于属性、迭代和概率距离的游戏。即便如此,结果依然美妙。

技术上说:模型把每张图像编码进一个高维的潜在空间,在那里“风格”被表示为一个向量。它对这些向量取平均,以此推断出整个系列的方向,再通过反向扩散,从噪声出发,一步步做去噪(降低噪声),直到生成出一件与那条风格轨迹相吻合的作品。它不是复制:它是插值。

换句话说,模型把这些图像编码进一个 潜在空间,也就是一张数千维度的数学地图,视觉特征在那里被表示为语义向量。通过对这些向量取平均,人工智能识别出这一系列的风格轨迹。它不是在复制图像:它是在对数值做插值。

而与此同时,我依然会为那些细微之处感到惊叹。也依然会惊叹于:一个人工智能,竟然能为一个由四张图像组成的人类系列,生成出第一张和第六张。

图像 1、2、3 和 4。人类的创作

潜在空间:用数学为创造力绘制地图

想象一下,你得用,比方说,512 个滑块来描述你的每一幅画。一个滑块控制“偏圆形还是偏有机形态”,另一个控制“色彩饱和度”,再一个控制“同心层的密度”,再一个控制“藏青色的存在感”……就这样一路排到 512 个。没有哪个滑块的名字是人类认得出来的——它们是算法模型在训练过程中自己发现的维度(深度学习)——但它们合在一起,就能捕捉任何一张图像的本质。

那个 512 维的空间,就是潜在空间。这个数字实际上要大得多:在 Stable Diffusion 这类模型里,生成发生的那个空间大约有 16,000 个维度,而与之关联的语义空间——也就是编码“风格”或“概念”的那些空间——大概在 768 或 1,024 上下。

可观测宇宙大约包含 10⁸⁰ 个原子。而仅仅是 512 个二元滑块,潜在空间可能的组合数就已经超过宇宙原子总数,指数几乎翻了一倍。

在体量更大的闭源模型里,这些数字会上升到几千。“512 个滑块”的说法是一种教学上的简化。重要的是记住:我们谈的是数千条轴,而不是数百条,而且每一条都是自动学到的维度,没有人类给的名字。都是模型自己推断出来的。

世界上的每一张图像都是那里面的一个点。相似的图像住得近;截然不同的图像住得远。

潜在空间厉害的地方在于,你可以在里面对语义做加减法。词嵌入的经典例子:国王 − 男人 + 女人 ≈ 王后。在图像上也一样:微笑的肖像 − 中性表情的肖像 =“微笑向量”,之后你可以把它加到任何另一张肖像上,让那个人笑起来。

这六幅画就是那个空间里的六个点。它们构成一小团云。人工智能可以算出这团云的中心(“平均风格”)、它的主导方向(这一系列在往哪个方向演化),或者任意两点之间的一个插值点。它推断“第一张”(图像 1)和“下一张”(图像 6)时做的正是这件事:在你的风格云里定位一个合理的位置。它找的不是那个精确的点,而是采样出一个合理的位置。所以,如果我们让它生成十次“第七张图像”,它会给我们十张不同的图像,而且每一张都和我的风格相符。这是一个随机过程,不是确定性过程。现在,非确定性模型这个概念说得通了吗?

潜在空间是视觉世界的一张压缩地图,在那里几何是有意义的。朝某个方向移动,就等于以一种连贯的方式改变图像。

系列中的图像 1 和图像 6

扩散:让创作从噪声中稳定成形

扩散是生成的机制。它的逻辑违反直觉,却很美。

在训练阶段,人工智能做的事情和生成正好相反。它拿一张真实的图像,一点一点、一步一步地往上加高斯噪声,直到把它变成纯粹的雪花——就是电视没调好台时的那种白噪声。而在每一步,它都在学着预测刚刚加上去的是什么噪声。它用数百万张图像把这件事重复数百万次。它学会了以受控的方式毁掉图像。它学会了分辨:要让一张图像重新变得有意义,什么才是多余的。

到了要生成的时候,人工智能把这个过程反过来。它从纯粹的噪声出发——字面意义上就是从一条高斯钟形曲线里抽出来的随机值——然后一步一步地,减去“它”自己预测出来的噪声,一点一点地把那些噪声清理掉。每一步都去掉一部分多余的东西,直到一张连贯的图像开始浮现。每一次迭代,图像都少一分脏污,多一分清晰。五十步或一百步之后,一张连贯的图像从混沌中浮现出来。而这一切发生在几秒钟,也许几分钟之内。

一个技术上的细节:出发时的那些噪声并不住在语义空间里——就是“风格、概念、构图”的那个空间——而是住在自编码器的潜在空间里,那是图像的一种压缩表示。语义空间的作用方式不一样:它是引导整个过程的条件向量。在大约 50 步的每一步里,模型接收两个输入——当前的噪声和那个条件——然后预测噪声里哪一部分是多余的,好让结果更接近一张符合所要求风格的连贯图像。随机噪声是原材料;你那一系列作品的嵌入向量,是把它雕刻成形的力场。

我们能用的最精确的比喻,是雕塑家米开朗基罗的那个。Michelangelo di Lodovico Buonarroti Simoni 说过,大卫本来就在那块大理石里面,他只是把多余的部分拿掉而已。

扩散就是这么回事。图像早就潜藏在噪声里了。

模型只是一步一步地,把不属于那里的东西拿掉。只不过多了一样米开朗基罗没有的东西:浮现出来的那个“大卫”,取决于每一凿落下时,向凿子低语的是什么样的风格条件。

今天,凿子或画笔可以是物理的,也可以是语义的。可以从词语出发,或者从图像、从音频、从文本出发,等等。凿子或画笔是变量。它们也可以是常量。创造力依然存在。而我们所说的艺术,是一种情感层面的判断。

图像 1 和 6 是艺术吗?

作者

Bernardo Crespo

人工智能、数据与战略领域的高管顾问,Quantum Markethink 首席执行官,IE 商学院学术总监。他帮助管理层在人工智能时代做出有据可依的决策。

LinkedIn