作者:谢杰
来源:原创
AI是怎么学会绘画的?
今天的课程,让我第一次知道了AI绘画的核心原理是“扩散模型”。
扩散模型(Diffusion Models)是一种深度学习生成模型。这种模型的核心思想是通过逐步添加噪声来“破坏”数据分布,然后再通过一个逆过程逐步去除噪声,以恢复数据的原始分布。
在图像生成领域,这意味着模型首先将一幅图像转换成一系列看起来不像图像的噪声数据,然后再通过逆向过程将这些噪声数据转换回一幅图像。
扩散模型的工作原理可以分为两个阶段:正向过程(forward process)和逆向过程(reverse process)。
正向过程:在这个阶段,模型从原始数据(例如一幅图像)开始,逐步添加噪声,直到数据完全转变为噪声。逆向过程:这是正向过程的逆操作。在这个阶段,模型从噪声开始,逐步去除噪声,恢复出原始的数据结构。这个过程是模型训练的重点,因为它需要学习如何从无序的噪声中恢复出有意义的结构。
第一次了解到扩散模型的思路,简直令我拍案叫绝,记得之前听过一个这样的故事:
有人问米开朗基罗:“您是怎么创造出《大卫》雕像的?”
米开朗基罗回答说:“我只是把多余的石头去掉,隐藏其中的大卫像就自然显现了。”
第一次听到这个故事时,觉得耳目一新,原来创作的思路不仅仅是从0到1做加法的过程,也可以是从100到1做减法的过程。
但仔细一想,这个思想是如此的简洁,却又如此的——没用。
因为这个答案太玄了,没有可操作性。没错,我现在知道了创作是要做减法,去掉多余的部分。但问题是,我怎么知道哪些才是多余的呢?
不知道,没有人知道。伟大的创作家用这个回答来彰显自己的天赋,但如果你继续追问他们这个问题,他会神秘一笑,告诉你:“我就是知道,但我也不知道我是怎么知道的。”
现在,扩散模型回答了这个问题。
假设,现在我们手中有一个米开朗基罗的《大卫》雕像,我们先记录下《大卫》雕像的全部细节。然后开始逐步地在雕像上添加额外的石头,每一步的添加也都有额外的记录,直到它看起来不再是《大卫》。
这个过程类似于扩散模型的正向过程——在原有的结构上添加噪声,直到结构完全被掩盖。
接下来,我们开始逆向过程。我们知道每一块添加上去的石头是从哪里来的,也知道它们是如何覆盖在雕像上的。因此,我们可以逐步地移除这些石头,恢复雕像的原始造型。
这个过程类似于扩散模型的逆向过程——从噪声中恢复出有意义的结构。
既然我们不知道什么是多余的,那就反过来,在作品上增加多余的。而且,这个增加是有记录的。直到……
把这个作品加得面目全非,再反过来做减法。
这样,不就知道哪些是多余的了吗?
然后,一边去掉多余的,一边从这个过程找规律。
所以,AI学会了绘画。■
**
**