手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密 精华

发布于 2024-9-6 12:28
浏览
0收藏

"在远古的DiTharos大地上,曾经有一个传说,名为Sora。它体现了无限潜力的本质,包括广阔和壮丽的天空。当它展翅高飞,其彩虹般的翅膀跨越广阔的空间,光线反射在它引人注目的身体上时,人们可以听到“Sora即天空”的声音在天空中回荡。使它成为传说的不仅仅是它史诗般的巨大,而是它能够驾驭在飘动的云中散落的光元素。凭借其强大的力量,Sora用一次旋转创造的魔力,是一种令人叹为观止的景象!他们说,Sora依然存在,不断磨练自己的技能,并在每一天变得更加强大,准备在黄金时刻飞翔。当你今天在天空中看到一抹深红色的斑点时,你会知道那是传说飞向光明境界的一小部分!"


这是我给儿子讲的一个关于一只传说中的龙的故事,它生活在遥远的地方。我们称之为“Sora传奇”。他非常喜欢这个故事,因为Sora又大又强壮,照亮了天空。当然,他现在还不理解Transformer和Diffusion 的概念,他只有四岁,但他确实理解一个宏伟的龙利用光的力量统治着DiTharos。

Sora由 Open AI 开发

这个故事与我们世界中的Sora,Open AI 的文本到视频模型如何在人工智能领域出现并引起轰动非常相似。原则上,Sora是由 William Peebles 和 Saining Xie 在 2023 年开发的Diffusion Transformer(DiT)。


换句话说,它利用Diffusion 的概念来预测视频,利用Transformer的力量进行下一级别的缩放。为了进一步理解这一点,让我们试着回答这两个问题:

  • 给定提示时,Sora会做什么?
  • 它如何结合Diffusion Transformer的思想?


谈到Sora制作的视频,以下是我最喜欢的一部视频,它展示了意大利街头一只可爱的达尔马提犬。它的动作是多么自然啊!

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

视频所使用的提示:“相机直接对着意大利布拉诺的彩色建筑。一只可爱的达尔马提犬从一座建筑物的一楼窗户向外张望。许多人在运河街道上走动和骑自行车。”


Sora是如何做到的?


话不多说,让我们深入了解细节,看看Sora如何基于文本提示创建这些超逼真的视频。

Sora是如何工作的?

再次感谢 Tom Yeh 教授出色的“AI手工系列”,我们可以在讨论中使用这个关于Sora的好文章(除非另有说明,下文中所有图片均由Tom Yeh 教授提供)

那么,我们开始吧:

我们的目标 —— 基于文本提示生成视频。

我们有:

  • 训练视频
  • 文本提示
  • Diffusion 步骤 t = 3


对于本示例,你能猜到我们的文本提示是什么吗?没错,它是“Sora是天空”。t = 3 的Diffusion 步骤意味着在三个步骤中添加噪音或Diffusion 模型,但为了说明问题,在这个示例中将坚持只用一步。

什么是Diffusion?Diffusion 主要指的是粒子的散射现象 — 想象一下我们如何欣赏到柔和的阳光从云层后面射出。这种柔和的光辉可以归因于阳光穿过云层时的散射,导致光线朝不同方向Diffusion 。

粒子的随机运动驱动了这种Diffusion 现象。这正是图像生成中使用的Diffusion 模型所发生的情况。向图像添加随机噪声,使图像中的元素偏离原始状态,从而为生成更精细图像铺平道路。

当谈到图像模型中的Diffusion 时,要记住的关键思想是“噪声”。

该过程从以下步骤开始:

[1] 将视频转换为patches

在进行文本生成时,模型将大型语料库分解为称为token的小块,并使用这些token进行所有计算。类似地,Sora将视频分解为称为视觉patches的较小元素,以使工作更简单。

由于我们讨论的是一个视频,谈论的是多个帧中的图像。在示例中,有四个帧。每个四个帧或矩阵包含创建图像的像素。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

这里的第一步是将训练视频转换为4个时空patches,如下所示:

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

[2] 减少这些视觉patches的维度:编码器

接下来是降维。降维的概念已经存在了一个多世纪(趣事:主成分分析,也称为PCA,是由Karl Pearson于1901年引入的),但其重要性没有随时间消退。

Sora也使用了它!


当我们谈论神经网络时,降维的基本思想之一就是编码器。编码器通过其设计将高维数据转换为低维数据,重点是捕获数据的最相关特征。两全其美:它提高了计算的效率和速度,同时算法得到了有用的数据。


Sora使用相同的思想将高维像素转换为较低维的潜在空间。为此,我们将patches与权重和偏差相乘,然后进行ReLU激活。

笔记

线性变换:输入embedding向量乘以权重矩阵 W,然后加上偏置向量 b,

z = Wx+b,其中 W 是权重矩阵,x 是我们的词embedding,b 是偏置向量。

ReLU 激活函数:接下来,将 ReLU 应用于这个中间值 z。

ReLU 返回输入和零的元素最大值。在数学上,h = max{0,z}。

  • 这里的权重矩阵是一个 2x4 矩阵 [ [1, 0, -1, 0], [0, 1, 0, 1] ],偏置为 [0,1]。
  • 这里的patches矩阵是 4x4。


将权重矩阵 W 的转置和偏置 b 与patches相乘,然后进行 ReLU,得到的潜在空间只是一个 2x4 矩阵。因此,通过使用视觉编码器,‘模型’的维度从 4(2x2x1)降低到 2(2x1)。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

在原始 DiT 论文中,这个减少是从 196,608(256x256x3)降低到 4096(32x32x4),这是巨大的。想象一下与使用 4096 进行工作相比使用 196,608 像素 —— 减少了 48 倍!

在这个维度减少之后,我们进行了整个过程中最重要的一个步骤 —— Diffusion 。

[3] 用噪声Diffusion 模型

为了引入Diffusion ,我们在前一步中获得的潜在特征上添加了采样噪声,以获得Diffusion 后的潜在特征。这里的目标是要求模型检测噪声是什么。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

这本质上就是图像生成的Diffusion 思想。


通过向图像添加噪声,模型被要求猜测噪声是什么样的,它是什么样子。作为回报,模型可以基于它从嘈杂的图像中猜测和学习到的内容生成全新的图像。


这也可以看作是相对于从语言模型中删除一个词并要求它猜测被删除词是什么。


现在,训练视频已经被减少并且被Diffusion 了噪声,接下来的步骤是利用文本提示来根据提示获取视频。通过自适应规范化层进行条件化。

[4]-[6] 自适应规范化层的条件化

‘条件化’ 实质上意味着尝试利用我们可用的额外信息来影响模型的行为。例如:由于提示是 ‘Sora 是天空’,我们希望模型集中关注天空或云等元素,而不是给其他概念如帽子或植物赋予重要性。因此,自适应规范化层会动态地根据接收到的输入来缩放和移动网络中的数据。

什么是缩放和移动?

缩放发生在乘法时,例如,可以从一个变量 A 开始。当将其乘以 2 时,得到 2*A,这样可以将 A 的值放大或缩放 2 倍。如果将其乘以 ½,那么值将缩小为 0.5。

移动由加法表示,例如,可能正在数轴上行走。从 1 开始,被要求移到 5。我们该怎么做?可以添加 4 来获得 1+4=5,或者可以添加一百个 0.04 来到达 5,1+(100*0.04 )= 5。这完全取决于我们是否想要采取更大的步伐(4)还是更小的步伐(0.04)来达到我们的目标。

[4] 编码条件

为了利用条件,即我们用于构建模型的信息,首先我们将其转换为模型能理解的形式,即向量。

  • 该过程的第一步是将提示转换为文本embedding向量。
  • 接下来的步骤是将步骤 t = 3 转换为二进制向量。
  • 第三步是将这些向量连接在一起。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

[5] 估计缩放/移动

请记住,这里我们使用的是‘自适应’层归一化,这意味着它根据模型当前的条件调整其值。因此,为了捕捉数据的正确本质,需要包括数据中每个元素的重要性。这是通过估计缩放和移动来完成的。


为了为我们的模型估计这些值,将提示和Diffusion 步骤的连接向量与权重相乘,并将偏置加到其中。这些权重和偏置是可学习的参数,模型会学习并更新它们。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

(注:根据我的理解,结果向量中的第三个元素应该为 1。这可能是原始文章中的一个小错误,但是作为人类,我们允许有一点错误,对吗?为了保持一致性,我继续使用原始文章中的值。)


这里的目标是估计缩放 [2,-1] 和移动 [-1,5](因为我们的模型大小为 2,所以有两个缩放和两个移动参数)。我们将它们分别命名为‘X’和‘+’。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

[6] 应用缩放/移动

要应用上一步中获得的缩放和移动,将第 3 步中的Diffusion 潜在与 [2, -1] 相乘,并通过添加 [-1,5] 进行移动。结果就是‘条件化’的噪声潜在。

[7]-[9] Transformer

最后三步包括将Transformer元素添加到上述Diffusion 和条件化步骤中。这一步帮助我们找到模型预测的噪声。

[7] 自注意力

这是Transformer背后的关键思想,使它们如此卓越!

什么是自注意力?

这是一种机制,通过该机制,句子中的每个单词分析其他每个单词,并衡量它们对彼此的重要性,从而理解文本中的上下文和关系。

为了启用自注意力,条件化的噪声潜在被馈送到查询-键(QK)函数中,以获得自注意力矩阵。这里简化了 QK 值的表示。

[8] 注意力池化

接下来,我们将条件化的噪声潜在与自注意力矩阵相乘,以获得注意力加权特征。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

[9] 逐点前馈网络

再次回到基础知识,将注意力加权特征与权重和偏置相乘,以获得预测的噪声。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

训练

现在,最后一步是使用预测的噪声和采样的噪声(基本事实)之间的均方误差来训练模型。

[10] 计算均方误差损失梯度并更新可学习参数

使用均方误差损失梯度,使用反向传播来更新所有可学习的参数(例如自适应规范层中的权重和偏置)。编码器和解码器参数被冻结,不可学习。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

(备注:第二行的第二个元素应该是 -1,这是一个微小的错误,使情况更好。)

[11]-[13] 生成新样本 [11] 降噪

现在我们已经准备好生成新视频(耶!),首先需要去除我们引入的噪声。为此,将预测的噪声从噪声潜在中减去,以获得无噪声的潜在。请注意,这与我们的原始潜在不同。原因是在此期间,经历了多个条件和注意力步骤,这些步骤将我们问题的上下文包含到模型中。因此,让模型在生成视频时更好地了解其目标应该是什么。

[12] 将潜在空间转换回像素:解码器

就像为编码器所做的一样,将潜在空间的patches与权重和偏置相乘,然后再通过 ReLU 进行操作。可以看到在解码器的工作之后,模型的维度恢复到了最初降低到 2 的原始维度。

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

[13] 时间到了,制作视频!

最后一步是将上述矩阵的结果排列成一系列帧,最终给出我们的新视频。万岁!

手写Sora中的Diffusion Transformer(DiT)——探索最先进视频生成器背后的秘密-AI.x社区

随着这强大技术的结束,我们来总结一下以上所说的和做的所有事情,以下是 5 个关键点:

  • 将视频转换为视觉patches ,然后降低它们的维度是至关重要的。视觉编码器在这里是我们的朋友。
  • 正如其名称所示,Diffusion是这种方法的关键。将噪声添加到视频中,然后在每个后续步骤中(以不同的方式)处理它,这是这种技术依赖的。
  • 接下来是Transformer架构,它增强了扩散过程的能力,并放大了模型的规模。
  • 一旦模型训练并准备好收敛到一个解决方案时,两个 D —— 去噪器和解码器将会派上用场。一个通过移除噪声,另一个通过将低维空间投影到其原始维度。
  • 最后,解码器产生的像素被重新排列以生成所需的视频。

(完成本文后,建议您再次阅读开头的故事。您能发现 DiTharos 的 Sora 和我们世界的 Sora 之间的相似之处吗?)

Diffusion-Transformer(DiT)组合

Sora 能够生成的视频类型,可以说是Diffusion-Transformer组合极具杀伤力。除此之外,视觉patches 的概念为调整一系列图像分辨率、宽高比和持续时间开辟了一条道路,从而允许进行极大的实验。


总的来说,毫不夸张地说,这个想法是开创性的,毫无疑问是值得长久保留的。根据《纽约时报》的一篇文章,Sora 的名字取自日语中的“天空”,意在唤起无限潜力的概念。经历了最初的承诺,可以肯定 Sora 绝对开辟了人工智能的新领域。现在我们只需要看看它在安全性和时间测试中表现如何。


就像 DiTharos 的传说一样:“Sora 一直生活着,磨练自己的技能,并在每一天变得更加强大,准备在时机成熟时飞翔!”


现在,去‘DiTharos’的土地上,与 Sora 一起玩耍吧!


本文转自 AI生成未来 ,作者:AI生成未来


原文链接:​​https://mp.weixin.qq.com/s/0CaG9ZjqC46M2KxSBW53aA​

标签
收藏
回复
举报
回复
相关推荐