Skip to content Skip to footer

生成人工智能背后的理论

image-20240109141429540

如果你曾经玩过飞镖,你知道游戏是如何运作的。你拿起一枚飞镖,把它扔到一块板上,飞镖必须尽可能靠近中心点,并且每靠近中心,一个彩色的带子都会得到更高的分数。奇怪的是,有一种游戏在根本上类似于飞镖。游戏Minecraft是过去几十年中最受欢迎的游戏之一。在Minecraft中,您可以在世界中放置与泥土、门、金属和物品相对应的方块,以建造建筑物和结构。两者都涉及将对象放置在某个空白区域以得分或构建某些东西。

这个过程我们可以称之为构造,在构造中,我们获取处于未定义状态的对象并将它们移动到定义的状态。在这种情况下,飞镖在棋盘上没有确定的位置,因为我们还没有投掷任何飞镖,而方块只是在我们的袋子里准备放置。然而,飞镖和 Minecraft 之间有一个区别。在飞镖中,我们不知道飞镖会落在哪里,但在 Minecraft 中,我们确实知道方块将放置在哪里。想象一下,如果在 Minecraft 中,它不是确切地知道方块将放置在哪里,而是以接近我们点击点的概率随机放置。然后,在放置了大量方块之后,您可能会得到这样的山丘。

image-20240109141443712

正态分布热图

这称为 2D 正态分布,用于从考试分数评估到物理的所有内容。它们用于一种称为变分自动编码器的神经网络中,以编码数据点的不同变体。例如,假设我们正在对各种类型的衬衫进行编码。我们有Polo衫、有领衬衫、带纽扣衬衫和不带纽扣的衬衫,每件衬衫都有自己的颜色。我们可以使用 VAE 对衬衫图像进行编码,然后从我们想要复制的衬衫周围的正态分布中采样,以创建一件新但外观相似的衬衫。我们通过在中心附近随机挑选一个网格块来“采样”,这些块具有更高的被拾取概率,其阴影比较暗的块更浅。

这种“构建”过程是生成式人工智能的基础。基于我们尝试生成的数据,我们有一个一定的概率分布,我们试图基于这个分布创建一个新点。有趣的是,这类似于量子力学的工作原理,波函数的坍缩就像一个生成式“构造”算法,它使用一些概率分布将波坍缩到一个点。有一个问题,我们如何知道使用哪个发行版以及如何学习它?

有多种方法,变分自动编码器使用以我们正在采样的点为中心的正态分布。其他方法,如自回归模型,使用我们迄今为止为新点收集的先前数据。大多数基于文本的模型(如大型语言模型)使用自注意力机制学习分布,以关联附近的单词,然后输出模型预测下一个单词的概率。所有这些不同的生成模型都基于相同的底层算法。根据某种概率分布,从未定义的状态转到具有固定特征的已定义状态。在信息论中,这被称为从高熵状态到低熵状态,这意味着系统的不确定性降低了。

这就像每次在Minecraft中挑选一个新方块一样,有时我们靠近山顶,有时更远。这就是为什么生成式 AI 系统每次运行时都会产生不同的结果。我可能会运行一次大型语言模型,然后重新运行它,它会产生不同的结果。例如,当我在提示“写一首关于月亮的俳句”的情况下运行 ChatGPT 时,它会返回不同的结果。

*在夜色的怀抱中,天鹅绒空间中的银色球体,

低语着蕾丝的梦想。*

然后再次运行它时,我得到了。

月亮柔和的银色光芒,对着下面的大海低语,

夜晚永恒的表演。

这是生成式人工智能的关键所在,它在一个不确定的概率空间中获取一些东西,并将其“折叠”到一个确定的状态,如图像或一段文本。所有生成式 AI 系统都以这种方式工作,从稳定扩散到 GPT 和您能想到的任何类型的生成模型。因此,下次使用 Midjourney 或使用 GPT 时,请考虑概率分布的数百万种可能结果,这就是生成式 AI 模型。