从此走进深度人生 Deep net, deep life.

标签: 计算机

  • Yoshua Bengio 等:一种神经概率语言模型

    A Neural Probabilistic Language Model

    1 引言

    语言建模及其他学习问题面临的根本性难题是维度灾难。当需要建模多个离散随机变量(如句子中的单词或数据挖掘任务中的离散属性)的联合分布时,这一问题尤为明显。例如,若要用 10 万个单词的词汇表 V 建模自然语言中 10 个连续单词的联合分布,潜在参数数量高达 100000^10-1 个。对于连续变量建模,我们更容易获得泛化能力(例如通过多层神经网络或高斯混合模型等平滑函数类),因为待学习函数通常具有局部平滑特性。而在离散空间中,泛化结构并不明显:这些离散变量的任何变化都可能对目标函数值产生剧烈影响,当每个离散变量可能取值的数量较大时,大多数观测对象在汉明距离上几乎处于彼此最远的状态。

    受非参数密度估计视角启发,一种直观理解不同学习算法如何泛化的有效方法是:设想最初集中于训练点(如训练语句)上的概率质量如何扩散到更大范围,通常以某种形式的训练点邻域分布在高维空间中,关键在于将概率质量精准分配至关键区域,而非均匀分散在每个训练点周围所有方向。本文将证明,当前提出的方法其泛化机制与以往最先进统计语言建模方法的泛化方式存在本质差异

    语言统计模型可通过给定所有前序词汇条件下预测下一个词的条件概率来表示,因为

    其中wt表示第t个单词,记子序列wji=(wi,wi+1,…,wj-1,wj)。这类统计语言模型已被证实对许多涉及自然语言的技术应用具有重要价值,例如语音识别、机器翻译和信息检索。因此,统计语言模型的改进可能对这些应用产生重大影响。

    在构建自然语言的统计模型时,研究者通过利用词序规律以及时序相邻词语间存在更强统计依赖性的特点,大幅降低了建模难度。因此,n-gram语法模型会为大量上下文(即前 n-1 个单词的组合)构建下一单词的条件概率表:

    我们仅考虑那些在训练语料库中实际出现或出现频率足够高的连续词组合。当出现一个训练语料库中未曾见过的 n 词新组合时会发生什么?我们不应给这种情况分配零概率,因为这类新组合很可能出现,且上下文窗口越大时出现频率会更高。一个简单的解决方案是参考更小上下文窗口预测的概率,如回退三元模型(Katz, 1987)或平滑(插值)三元模型(Jelinek and Mercer, 1980)所做的那样。那么在这类模型中,如何实现从训练语料库中观察到的词序列到新词序列的基本泛化?理解这一机制的方式是设想一个与这些插值或回退 n 元模型对应的生成模型。本质上,新词序列是通过”粘合”训练数据中高频出现的、长度为 1、2…至 n 的极短重叠片段而生成的。 获取下一个词块概率的规则隐含在回退或插值 n-gram 算法的具体实现中。研究者通常采用 n=3(即三元模型)并获得了最先进的成果,但 Goodman(2001 年)的研究表明,结合多种技巧可带来显著提升。显然,待预测词之前的序列信息远不止前几个词的身份标识。这种方法至少存在两个亟待改进的特征,而我们将在本文中重点探讨这些获得最先进成果的改进方向。首先,现有方法未能考虑超过 1-2 个词之外的上下文;其次,它忽略了词语之间的”相似性”。例如,当训练语料中出现过”猫在卧室里行走”这样的句子时,应当能帮助我们泛化推断出”狗在房间里奔跑”也具有相近的概率,这仅仅因为”狗”与”猫”(以及”the”与”a”、”room”与”bedroom”等)具有相似的语义和语法角色。

    针对这两个问题,学界已提出多种解决方案。我们将在 1.2 节简要说明本文方法与早期某些方法的关系。首先阐述本方法的核心思想,随后在第 2 节通过基于共享参数多层神经网络的实现方案进行形式化表述。本文的另一贡献在于解决了海量参数神经网络(百万级参数)在超大规模数据集(千万级样本)上的训练难题。最后,本文的重要贡献在于证明:虽然训练这种大规模模型成本高昂但切实可行,能够扩展至大语境场景,并取得优异的对比实验结果(第 4 节)

    本文多数运算采用矩阵表示法:小写v表示列向量及其v’表示转置,Aj表示矩阵A的第j行,x.y表示x’y。

    1.1 用分布式特征对抗维度灾难

    本方法的核心思想可简要概括为:

    • 1. 为词汇表中的每个单词分配一个分布式词特征向量(即Rm空间中的实值向量),
    • 2. 根据序列中这些单词的特征向量来表达单词序列的联合概率函数,以及
    • 3. 同时学习词特征向量和该概率函数的参数。

    特征向量表征了单词的不同方面:每个单词都与向量空间中的一个点相关联特征数量(例如实验中 m=30、60 或 100)远小于词汇表规模(例如 17,000)。该概率函数表示为给定前序单词条件下后续单词条件概率的乘积(例如实验中采用多层神经网络根据前序单词预测后续单词)。该函数具有可迭代调整的参数,旨在最大化训练数据的对数似然或正则化标准(例如通过添加权重衰减惩罚项)。与每个单词相关联的特征向量是通过学习获得的,但也可以基于语义特征的先验知识进行初始化

    为什么这种方法有效?在前面的例子中,如果我们知道”dog”和”cat”扮演着相似的角色(在语义和句法上),同理(“the”,”a”)、(“bedroom”,”room”)、(“is”,”was”)也是如此,我们很自然能从中进行泛化(即转移概率质量):

    “The cat is walking in the bedroom” to “A dog was running in a room”

    同样的 “The cat is running in a room”、“A dog is walking in a bedroom”、“The dog was walking in the room”…

    以及其他许多组合形式。在提出的模型中,这种泛化能力得以实现,因为“相似”词语预期会具有相似的特征向量且由于概率函数是这些特征值的平滑函数,特征的微小变化将引起概率的微小改变。因此,训练数据中只要出现上述任一语句,不仅会提升该语句本身的概率,还会提升其在句子空间(表现为特征向量序列)中组合数量的”邻近”语句概率

    1.2 与之相关研究内容

    利用神经网络建模高维离散分布的思想已被证明能有效学习 Z· · · Z 的联合概率,这是一组可能具有不同性质的随机变量(Bengio 和 Bengio,2000a,b)。该模型将联合概率分解为条件概率的乘积

    其中 g(.)是由具有特殊从左到右结构的神经网络表示的函数,第 i 个输出块 g()计算用于表达 Z 在给定先前 Z 值条件下的分布参数(可按任意顺序)。在四个 UCI 数据集上的实验表明该方法表现相当出色(Bengio and Bengio, 2000a,b)。由于本文需处理可变长度数据(如句子),故需调整上述方法。另一重要区别在于:此处所有 Z(第 i 个位置的单词)均指向同类对象(单词)。因此本文提出的模型引入了跨时间参数共享机制——同一 g 函数在不同时间步复用,以及跨不同位置输入单词的共享。这是对联结主义早期理念(Hinton, 1986; Elman, 1990)——为符号数据学习分布式表示——的大规模成功应用,近期 Hinton 的方法经改进后,在学习多种符号关系方面取得了显著成效(Paccanaro and Hinton, 2000)。 使用神经网络进行语言建模的想法也并非首创(例如 Miikkulainen 和 Dyer,1991 年)。与之不同的是,我们将这一构想推向了大规模应用,并专注于学习词序列分布的统计模型,而非探究词语在句子中的角色。本文提出的方法还与先前基于字符的文本压缩方案相关——那些方案使用神经网络预测下一个字符的概率(Schmidhuber,1996 年)。Xu 和 Rudnicky(2000 年)也曾独立提出过用神经网络进行语言建模的设想,不过他们的实验网络既无隐藏单元又仅接受单个输入词,本质上只能捕获一元和二元统计量。

    通过发现词语间相似性来实现从训练序列到新序列的泛化,这一思路早有先例。例如基于词语聚类学习的方法就运用了这一理念(Brown 等人,1992 年;Pereira 等人,1993 年;Niesler 等人,1998 年;Baker与 McCallum,1998):每个单词都以确定性或概率性与一个离散类别相关联,同一类别中的单词在某种程度上具有相似性。本文提出的模型中,我们不再使用离散随机变量或确定性变量(对应单词集合的软划分或硬划分)来表征相似性,而是为每个单词分配一个连续实值向量,即通过学习获得的分布式特征向量,以此表示单词间的相似性。本实验对比部分包含了基于类别的 n-gram语法模型(Brown 等人,1992;Ney 和 Kneser,1993;Niesler 等人,1998)的测试结果。

    在信息检索领域,利用向量空间表示词语的概念已被充分探索(例如参见 Schutze 1993 年的研究),其中基于词语在同一文档中共现概率(潜在语义索引,参见 Deerwester 等人 1990 年研究)学习词语的特征向量。一个重要区别在于,我们在此寻求的词语表示方式需有助于紧凑地呈现自然语言文本中词序列的概率分布。实验表明,联合学习表示(词语特征)与模型非常有效。我们尝试(未成功)将每个词 w 与上下文共现频率的第一主成分作为固定词特征,这类似于信息检索中 LSI 对文档的处理方式。然而 Bellegarda(1997)在基于 n-gram文法的统计语言模型背景下成功应用了词语连续表示的思想,通过 LSI 动态识别语篇主题。

    在神经网络背景下,符号的向量空间表示思想先前也被表述为参数共享层的形式,例如用于二级结构预测(Riis 和 Krogh,1996 年)以及文本到语音映射(Jensen 和 Riis,2000 年)。

    2 神经网络模型

    训练集是由词汇表V中的单词w构成的序列w1……wt,其中词汇表V是一个庞大但有限的集合。目标是通过学习得到一个优质模型  f(wt,…,wt-n+1)=^p(wt|wt-11),从样本外高似然度的角度来看,该模型表现优异。在实验中,我们将报告1/^p(wt|wt-11)  的几何平均数(即困惑度),该数值同时也是平均负对数似然的指数函数。模型唯一的约束条件是:对于任意 wt-11 ,必须满足    ∑|V|i=1f(i,wt,…,wt-n+1)=1 且 f>0 。通过这些条件概率的乘积运算,最终可以得到词序列联合概率的建模结果。

    我们将函数 f(wt,…,wt-n+1)=^p(wt|wt-11)  分解为两部分:

    • 1. 一个从词汇表 V 中任意元素 i 到实数向量 C(i)∈Rm 的映射 C 。它表示与词汇表中每个单词相关联的分布式特征向量。实际应用中, C 由一个 |V|×m 的自由参数矩阵表示。
    • 2. 基于 C 定义的概率函数:函数 g 将上下文单词的特征向量序列  作为输入,映射到下一个单词  在词汇表  上的条件概率分布。如图 1 所示,g  的输出是一个向量,其第 i 个元素估计概率  。

    函数  是这两个映射(  和  )的组合,其中  在上下文的所有单词间共享。这两个部分各自关联着一些参数。

    图 1:神经网络架构, g 是神经网络, C(i) 是第 i 个词的特征向量

    映射 C 的参数就是特征向量本身,用一个  |V|×m  的矩阵  表示,其第 i 行是词 i 的特征向量 C(i) 。函数 g 可以通过前馈神经网络、循环神经网络或其他参数化函数实现,参数为 ω 。整体参数集为 θ=(C,ω) 。

    通过寻找使训练语料库惩罚对数似然最大化的θ来实现训练:

    其中 R(θ) 是正则化项。例如在我们的实验中,R  是仅应用于神经网络权重和 C 矩阵的权重衰减惩罚项,不作用于偏置项。

    在上述模型中,自由参数的数量仅与词汇表单词数 V 呈线性比例关系。同时其与阶数 n 也只呈线性比例:若引入更多共享结构(如使用时延神经网络或循环神经网络,或二者组合),该比例因子可降至次线性。

    在以下多数实验中,神经网络除词特征映射外还包含一个隐藏层,并可选择性地包含从词特征到输出的直接连接。因此实际存在两个隐藏层:无非线性变换的共享词特征层 C(因其不会带来有用增益),以及普通的双曲正切隐藏层。更准确地说,该神经网络通过保证概率为正且求和为 1 的 softmax 输出层计算如下函数:

     yi是每个输出词 i 的非归一化对数概率,计算方式如下,参数包括b 、W、U、d 和 H :

    其中双曲正切函数 tan h 逐元素作用,W  可设为零(表示无直接连接), x 是词特征层的激活向量,由矩阵 C 中的输入词特征拼接而成:

    设 h 为隐藏单元数量,m  为每个单词关联的特征数量。当不需要单词特征直接连接输出时,矩阵 W 设为 0。该模型的自由参数包括:输出偏置  b(含 h 个元素)、隐藏层偏置  b(含 |V| 个元素)、隐藏层到输出的权重  U(|V|×h矩阵)、单词特征到输出的权重  W(a|V|×(n-1)m 矩阵)、隐藏层权重  (  矩阵)以及单词特征  C(a|V|×m矩阵):

    自由参数总量为 |V|(1+nm+h)+h(1+(n-1)m) ,主导因子为  |V|(nm+h) 。理论上,若对权重 W 和 H 进行权重衰减而不对 C 衰减,可能导致 W 和 H 趋近于零而 C 无限增大。但在实际采用随机梯度上升训练时,我们并未观察到这种现象。

    神经网络的随机梯度上升法表现为:在呈现训练语料库第 t 个单词后执行以下迭代更新:

    其中 ε 为”学习率”。需要注意的是,大部分参数在每处理完一个样本后无需更新或访问:即所有未出现在输入窗口中的单词 j 所对应的词特征 C(j) 

    模型混合。在我们的实验中(见第 4 节),我们发现将神经网络的概率预测与插值三元组模型的概率预测相结合能提升性能,可以采用简单的固定权重 0.5、学习权重(在验证集上通过最大似然估计获得)或一组根据上下文频率调整的条件权重(采用与插值三元组中结合三元组、二元组和一元组相同的混合程序)。

    3 并行实现

    尽管参数数量具有良好的扩展性——即与输入窗口大小呈线性关系,与词汇表规模也呈线性关系——但获取输出概率所需的计算量远大于 n-gram 模型。主要原因是:在n-gram模型中,由于相对频率的线性组合具有便捷的归一化特性(在模型训练时已完成),获取特定 P(wt|wt-1,…,wt-n+1)  时无需计算词汇表中所有单词的概率,而神经网络实现的主要计算瓶颈在于输出层激活值的计算

    并行计算机上运行模型(包括训练和测试)是减少计算时间的有效方法。我们已在两种平台上探索了并行化方案:共享内存处理器机器和配备高速网络的 Linux 集群

    3.1 数据并行处理

    在共享内存处理器的情况下,由于处理器之间通过共享内存实现的极低通信开销,并行化可以轻松实现。为此我们选择了数据并行实现方案,其中每个处理器处理数据的不同子集。各处理器计算其分配样本的梯度,并对存储在共享内存区域的模型参数执行随机梯度更新。我们的初始实现效率极低,依赖于同步指令来确保不同处理器不会同时对上述参数子集进行写入操作。每个处理器的大部分周期都耗费在等待其他处理器释放参数写入访问锁上。

    我们选择了一种异步实现方式,其中每个处理器可以随时在共享内存区域进行写入。有时,某个处理器对参数向量的部分更新会被另一个处理器的更新覆盖而丢失,这会在参数更新中引入一些噪声。然而,这种噪声似乎非常小,并且显然没有减慢训练速度。

    遗憾的是,大型共享内存并行计算机非常昂贵,且其处理器速度往往落后于可连接成集群的主流 CPU。因此,我们能够在快速网络集群上实现更快的训练。

    3.2 参数并行处理

    若并行计算机由多个 CPU 构成网络架构,由于参数交换量庞大(最大规模网络下参数规模接近 100MB),频繁在处理器间传输全部参数将超出本地网络带宽的承受能力。为此我们采用参数并行化策略,重点针对输出单元参数进行划分——这正是我们架构中计算最密集的环节。每个 CPU 负责计算部分输出单元的非归一化概率,并更新对应输出单元的权重参数。该方案实现了通信开销极低的高效并行随机梯度上升,各 CPU 仅需交换两类关键数据:(1)输出层 softmax 的归一化因子;(2)隐藏层(下文记作 a )与词特征层(下文记作 x )的梯度信息。 所有 CPU 都会重复计算输出单元激活前的运算,包括词特征选择、隐藏层激活  的计算,以及相应的反向传播和参数更新步骤。不过对于我们的网络架构而言,这些计算量仅占总计算量的极小部分。

    以美联社(AP)新闻数据实验采用的架构为例:词汇表大小 |V|=17964 ,隐藏单元数 h=60 ,模型阶数 n=6 ,词特征维度 m=100 。处理单个训练样本所需的总运算量约为  |V|(1+nm+h)+h(1+nm)+nm(其中各项分别对应输出单元、隐藏单元和词模型阶数 n=6 的特征单元计算)。在此例中,输出单元加权求和计算量约占整体计算量的比例约为99.7%。这个计算是近似值,因为不同操作实际消耗的 CPU 时间存在差异,但它表明并行化输出单元的计算通常具有优势。对于本文追求的并行化程度(即几十个处理器)而言,所有 CPU 重复执行极小部分计算并不会显著影响总计算时间。如果隐藏单元数量庞大,并行化其计算也将变得有利可图,但我们在实验中未对该方法进行深入研究。

    该策略的实施是在一个由 1.2 GHz 主频 Athlon 处理器(32 台×2 CPU)组成的集群上完成的,这些处理器通过 Myrinet 网络(一种低延迟千兆位局域网)连接,并使用 MPI(消息传递接口)库(Dongarra 等人,1995 年)进行并行化处理。以下简要描述针对单个样本 (wt-n+1,…,wt) 的并行算法,该算法由集群中 M 个处理器中的第 i 个 CPU 并行执行。CPUi (i  的范围从 0 到M-1  )负责从编号 starti=i×[|V|/M]开始的输出单元块,该块的长度为 min([|V|/M,|V|]- starti) 。

    4 实验结果

    我们在布朗语料库上进行了对比实验,该语料库包含 1,181,041 个单词的文本流,涵盖各类英文文本和书籍。前 800,000 个单词用于训练,随后的 200,000 个单词用于验证(模型选择、权重衰减和早停策略),剩余的 181,041 个单词用于测试。语料库包含 47,578 个不同单词(含标点符号、区分大小写,以及用于分隔文本段落的语法标记)。将出现频率 ≤3 的低频词合并为单一符号后,词汇量缩减至 |V|=16383 

    另在 1995-1996 年美联社(AP)新闻文本上进行了实验。训练集是一个约 1400 万(13,994,528)词的连续语料流,验证集约为 100 万(963,138)词,测试集同样约为 100 万(963,071)词。原始数据包含 148,721 个不同词汇(含标点符号),通过仅保留高频词(及标点)、将大写字母转为小写、数字形式映射为特殊符号、罕见词映射为特定符号以及专有名词映射为另一特殊符号,最终将词表规模缩减至  |V|=17964  。

    在神经网络训练过程中,初始学习率设为  ε0=10-3(经过小规模数据集多次试验后确定),并按照以下方案逐步衰减: εt0/(1+rt) ,其中 t 表示已完成的参数更新次数, r 为启发式选择的衰减因子,根据启发式方法设定为 r=10-8 

    4.1  N-gram模型

    神经网络的首个对比基准是插值或平滑三元语言模型(Jelinek 与 Mercer,1980)。设 qt=l(freq(wt-1,wt-2)) 表示输入上下文 (wt-1,wt-2) 的离散化出现频率,则条件概率估计采用条件混合形式:

    其中条件权重满足 ai(qt)≥0 且 Σai(qt)=1 。基础预测器分别为:p0=1/|V|  (词汇表大小的倒数), p1(i) 是一元模型(训练集中词 i 的相对频率),p2(i|j)  是二元模型(前一个词为 j 时词 i 的相对频率),p3(i|j, k)  是三元模型(前两个词为 j 和 k 时词 i 的相对频率)。其原理在于:当 (wt-1,wt-2) 出现频率较高时,三元模型最可靠;而当频率较低时,低阶统计量的二元模型、一元模型甚至零元模型会更可靠。针对 qt 中的每个离散值(即上下文频率区间),分别设有不同的混合权重 α 集合。这些权重可以通过 EM 算法在大约 5 次迭代内轻松估计得出,且在一组未用于一元、二元和三元相对频率的数据集(即验证集)上完成。由于多层感知器似乎以截然不同的方式产生”误差”,因此采用插值 n-gram 模型与之形成混合模型

    我们还与其他最先进的 n-gram 模型进行了比较:采用 ModifiedKneser-Ney 算法的回退 n-gram  模型(Kneser 和 Ney,1995;Chen 和 Goodman,1999),以及  class-based 的 n-gram  模型(Brown 等人,1992;Ney 和 Kneser,1993;Niesler 等人,1998)。验证集用于选择 n-gram 的阶数以及   class-based 模型的词类数量。我们使用了 SRI 语言建模工具包中这些算法的实现,该工具包由 Stolcke(2002)提供,并可在 http://www.speech.sri.com/projects/srilm/获取。这些算法用于计算下文报告的回退模型困惑度,需注意的是,在计算对数似然时,我们并未给予句子结束标记特殊地位,这与我们神经网络困惑度的处理方式一致。所有标记(单词和标点符号)在对数似然平均化(从而获得困惑度)时均被同等对待。

    4.2 结果

    以下是不同模型在测试集上的困惑度衡量指标(  1/^p(wt|wt-11)的几何平均值)。在布朗语料库上,随机梯度上升过程约经过 10 到 20 轮迭代后显现出收敛迹象对于美联社新闻语料库,我们未观察到过拟合现象(基于验证集),这可能是因为仅运行了 5 轮迭代(使用 40 个 CPU 耗时超过 3 周)。验证集采用早停策略,但仅在布朗语料实验中启用。布朗实验中采用  的权重衰减惩罚系数,美联社新闻实验则使用 10-5 的权重衰减(通过少量试验基于验证集困惑度选定)。表 1 汇总了布朗语料库上的实验结果,表中所有回退模型均为 ModifiedKneser-Ney 算法的 n-gram ,其表现显著优于标准回退模型。当表格中回退模型标注  值时,表示采用 class-based 的 n-gram (m 为词类别数量)。词特征值采用随机初始化(类似于神经网络权重的初始化方式),但我们推测基于知识的初始化可能获得更好效果

    表 1:布朗语料库上的对比结果。删除插值三元组的测试困惑度比具有最低验证困惑度的神经网络高出 33%。最佳 n-gram 模型(基于500个词类的 class-based 模型)的差异为 24%。  n:模型阶数。 c :class-based的n-gram的词类数量。 h:隐藏单元数量。 m :MLP 的词特征数量/class-based的n-gram的类别数量。direct  :是否存在从词特征到输出的直接连接。mix :神经网络输出概率是否与三元模型输出混合(各占 0.5 权重)。最后三列分别给出训练集、验证集和测试集的困惑度

    主要结果表明,与表现最佳的 n-gram 模型相比,使用神经网络能显著提升效果——在布朗语料库上测试困惑度降低约 24%,在美联社新闻语料库上降低约 8%(比较对象均为验证集表现最优的  模型)。数据还显示神经网络能有效利用更长上下文(在布朗语料库中,上下文窗口从 2 词扩展到 4 词时神经网络持续改进,而  模型无此效果)。实验同时证实隐层单元具有实际价值(对比 MLP3 与 MLP1、MLP4 与 MLP2),且将神经网络输出概率与插值三元语法混合总能降低困惑度。简单平均法表明,神经网络与三元模型会在不同位置产生预测误差(即对实际出现词语赋予过低概率)。 实验结果无法确定输入到输出的直接连接是否有用,但表明至少在较小语料库上,不采用直接输入输出连接能获得更好的泛化性能代价是训练时间更长,没有直接连接的模型收敛耗时翻倍(20 个周期而非 10 个周期),尽管困惑度略低。合理的解释是,直接输入输出连接提供了稍强的容量,并更快的从单词特征到对数概率映射的“线性”部分的学习。另一方面,若没有这些连接,隐藏单元会形成严格的瓶颈,这可能迫使模型获得更好的泛化能力。

    表 2 展示了在更大语料库(美联社新闻)上的结果,尽管困惑度差异较小(8%),仅进行了 5 轮训练(约三周时间使用 40 个 CPU)。在此情况下,class-based  模型并未提升 n-gram 模型性能,但高阶 modifiedKneser-Ney 回退模型在 n-gram 模型中表现最佳。

    5 扩展和未来工作

    在本节中,我们将描述对上述模型的扩展以及未来工作的方向。

    表 2:美联社新闻语料库的对比结果。各列标签含义请参阅前表。

    5.1 能量最小化网络

    上述神经网络的一个变体可被解释为遵循Hinton’s近期关于专家乘积(Hinton, 2000)研究的能量最小化模型。在前文描述的神经网络中,分布式词特征仅用于”输入”词而不用于”输出”词(下一个词)。此外,输出层扩展了极大量参数(占大多数),且未利用输出词之间的语义或句法相似性。此处描述的变体中,输出词同样由其特征向量表示。该网络接收单词子序列(映射为其特征向量)作为输入,并输出能量函数 E ——当单词构成可能子序列时 值较低,不可能时值较高。例如,该网络输出的”energy”函数为:

    其中 b 是偏置向量(对应无条件概率), d 是隐藏单元偏置向量,v  是输出权重向量,H  是隐藏层权重矩阵。与先前模型不同,此处输入词和输出词共同构成 x :

    能量函数 E(wt-n+1,…,wt) 可解释为 (wt-n+1,…,wt)  联合出现的非归一化对数概率。要获得条件概率  ,只需^P(wt|wt-1t-n+1)(尽管计算代价较高)对 w 的可能值进行归一化处理,具体如下:

    需要注意的是,总计算量与之前提出的架构相当,且若参数  通过目标词(  )的标识进行索引,参数量也能保持一致。需注意在上述 softmax 归一化后仅保留  bwt(任何关于i>0  时 wt-1 的线性函数都会被  softmax 归一化消除)。与之前相同,模型参数可通过随机梯度上升法在 log ^P(wt|wt-1,…,wt-n+1上进行调优,计算过程类似

    在专家乘积框架中,隐藏单元可视为专家:子序列 (wt-n+1,…,wt) 的联合概率正比于与每个隐藏单元 j 相关联的项 vjtanh(dj+Hjx) 的指数和。值得注意的是,由于我们选择将整个序列的概率分解为每个元素的条件概率,梯度的计算是可行的。例如,在乘积隐马尔可夫模型(Brown and Hinton, 2000)中就不具备这一特性——该模型对处理整个序列的专家进行乘积运算,并可通过对比散度算法(Brown and Hinton, 2000)等近似梯度算法进行训练。值得注意的是,该架构与专家乘积公式可视为最大熵模型(Berger et al., 1996)的扩展形式,但不同之处在于:其基函数(或称”特征”,此处指隐单元激活状态)是通过惩罚最大似然法与凸组合参数同步学习的,而非采用贪婪特征子集选择方法在外层循环中学习。

    我们已实现并实验了上述架构,同时基于重要性采样开发了神经网络训练的加速技术,该技术可带来 20 倍的训练速度提升(Bengio and Senécal, 2003)。

    未登录词处理。该架构相较于前一架构的优势在于,它能轻松处理未登录词(甚至能为它们分配概率值!)。其核心思想是:首先通过加权凸组合的方式,为这类词汇推测初始特征向量——即对可能出现在相同上下文中的其他词汇特征向量进行加权求和,权重与其条件概率成正比。假设网络在上下文 wt-1t-n+1 中为词汇表 V 中的词 i 分配了概率 ^P(wt|wt-1t-n+1) ,而在此上下文中我们观测到新词 j∉V 。我们按以下方式初始化 j 的特征向量 C(j) :←C(j) )Σi∈VC(j)^P(wt|wt-1t-n+1)   。随后可将 j 纳入词汇表 V ,并为这个略微扩大的集合重新计算概率(仅需对所有词进行归一化处理,唯独词 i 需要通过神经网络重新计算)。当预测后续词汇概率时,这个特征向量 C(j) 便可作为输入上下文部分的特征使用。

    5.2 其他未来工作

    这项工作的后续仍面临诸多挑战。短期内需要设计和评估加速训练与识别的方法。长期来看,除本文采用的两种主要方式外,还应引入更多泛化途径。以下是我们计划探索的方向:

    • 1.将网络分解为子网络,例如通过对词汇进行聚类实现。训练多个小型网络将更简单高效
    • 2.采用树形结构表示条件概率,每个节点应用神经网络计算词类在上下文中的概率,叶节点计算具体词汇在上下文中的概率。此类表征有望将计算复杂度从 |V| 降至 |V|/log|V| 量级(参见 Bengio,2002 年研究)。
    • 3.仅从输出词的一个子集传播梯度。这个子集可以是基于更快速模型(如三元模型)条件概率最高的词汇(Schwenk 和 Gauvain 在 2002 年应用了这一理念),也可以是三元模型表现较差的词汇子集。若语言模型与语音识别器结合,则只需计算声学模糊词汇的分数(未归一化概率)。
    • 4.引入先验知识。可以引入多种形式的先验知识,例如:语义信息(来自 WordNet 等资源,参见 Fellbaum 1998 年的研究)、底层语法特征信息(例如使用词性标注)以及高级语法信息(例如将模型与随机语法耦合)。长距离上下文的影响可以通过在神经网络中引入更多结构和参数共享来捕捉,例如使用时延神经网络或循环神经网络。在这种多层网络中,针对连续小词组的计算无需在输入窗口移动时重复执行。类似地,可以使用循环网络来捕捉更长距离的文本主题信息。
    • 5.解释(并可能利用)神经网络学习到的词特征表示。简单的第一步可从 m=2 的特征开始,这样更易于可视化。我们认为更有意义的表示需要大规模训练语料,特别是对于较大的 m 值。
    • 6.多义词可能无法很好地适应当前模型,因为该模型为每个词在连续语义空间中分配单一位置点。我们正在研究该模型的扩展版本,其中每个词将关联空间中的多个位置点,每个点对应该词的不同语义。

    6 结论

    在两个语料库(一个包含超过百万例句,另一个包含超过 1500 万词)上的实验表明,所提出的方法比最先进的平滑三元语言模型获得了更优的困惑度,困惑度差异达到 10%至 20%。

    我们认为这些改进主要源于:该方法能够利用学习到的分布式表征,以其人之道还治其人之身地对抗维度灾难——每个训练句子都能为模型提供关于组合数量级其他句子的信息

    在模型改进方面,可能还需要从架构、计算效率以及利用先验知识等层面开展大量工作。未来研究的重要方向应包括优化加速技术,以及探索在不显著增加训练时间的前提下提升模型容量的方法(以应对包含数亿甚至更多词汇的语料库)。一个利用时间结构并扩展输入窗口以涵盖整段内容(同时避免参数数量或计算时间大幅增加)的简单思路是采用时延神经网络或循环神经网络。此外,在应用场景中对本文所述模型类型进行评估也将大有裨益,不过可参考 Schwenk 与 Gauvain(2002)已开展的关于降低语音识别词错误率的研究成果。

    更广泛地说,本文提出的内容为统计语言模型的改进开辟了新途径——通过用基于分布式表示的更紧凑、更平滑的表征来替代”条件概率表”,这种表征能够容纳更多条件变量。传统统计语言模型(如随机语法)为避免过拟合,往往需要耗费大量精力来限制或汇总条件变量;而本文描述的这类模型将难点转移至其他方面:虽然需要更多计算量,但计算和内存需求仅随条件变量数量呈线性增长,而非指数级增长

  • Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models

    背景

    在分析 Sora 之前,研究者首先盘点了视觉内容生成技术的沿袭。

    在深度学习革命之前,传统的图像生成技术依赖于基于手工创建特征的纹理合成和纹理映射等方法。这些方法在生成复杂而生动的图像方面能力有限。

    如图 3 所示,在过去十年中,视觉类的生成模型经历了多样化的发展路线。

    生成对抗网络(GAN)和变分自动编码器(VAE)的引入标志着一个重要的转折点,因为它在各种应用中都具有非凡的能力。随后的发展,如流模型和扩散模型,进一步增强了图像生成的细节和质量。人工智能生成内容(AIGC)技术的最新进展实现了内容创建的民主化,使用户能够通过简单的文本指令生成所需的内容。

    在 BERT 和 GPT 成功将 Transformer 架构应用于 NLP 之后,研究人员尝试将其迁移到 CV 领域,比如 Transformer 架构与视觉组件相结合,使其能够应用于下游 CV 任务,包括 Vision Transformer (ViT) 和 Swin Transformer ,从而进一步发展了这一概念。在 Transformer 取得成功的同时,扩散模型也在图像和视频生成领域取得了长足进步。扩散模型为利用 U-Nets 将噪声转换成图像提供了一个数学上合理的框架,U-Nets 通过学习在每一步预测和减轻噪声来促进这一过程。

    自 2021 年以来,能够解释人类指令的生成语言和视觉模型,即所谓的多模态模型,成为了人工智能领域的热门议题。

    CLIP 是一种开创性的视觉语言模型,它将 Transformer 架构与视觉元素相结合,便于在大量文本和图像数据集上进行训练。通过从一开始就整合视觉和语言知识,CLIP 可以在多模态生成框架内充当图像编码器。

    另一个值得注意的例子是 Stable Diffusion,它是一种多用途文本到图像人工智能模型,以其适应性和易用性而著称。它采用 Transformer 架构和潜在扩散技术来解码文本输入并生成各种风格的图像,进一步说明了多模态人工智能的进步。

    ChatGPT 2022 年 11 月发布之后,2023 年出现了大量文本到图像的商业化产品,如 Stable Diffusion、Midjourney、DALL-E 3。这些工具能让用户通过简单的文字提示生成高分辨率和高质量的新图像,展示了人工智能在创意图像生成方面的潜力。

    然而,由于视频的时间复杂性,从文本到图像到文本到视频的过渡具有挑战性。尽管工业界和学术界做出了许多努力,但大多数现有的视频生成工具,如 Pika 和 Gen-2 ,都仅限于生成几秒钟的短视频片段。

    在这种情况下,Sora 是一项重大突破,类似于 ChatGPT 在 NLP 领域的影响。Sora 是第一个能够根据人类指令生成长达一分钟视频的模型,同时保持较高的视觉质量和引人注目的视觉连贯性,从第一帧到最后一帧都具有渐进感和视觉连贯性。

    这是一个里程碑,对生成式 AI 的研究和发展产生了深远影响。

    如图 2 所示,Sora 在准确解读和执行复杂的人类指令方面表现出非凡的能力。该模型可以生成包含多个角色的详细场景,这些角色在错综复杂的背景下执行特定的动作。研究人员认为,Sora 不仅能熟练处理用户生成的文本提示,还能辨别场景中各种元素之间复杂的相互作用。

    此外,Sora 的进步还体现在它能够生成具有细微运动和交互描绘的扩展视频序列,克服了早期视频生成模型所特有的短片段和简单视觉渲染的限制。这种能力代表了人工智能驱动的创意工具的飞跃,使用户能够将文字叙述转换成丰富的视觉故事。

    总之,这些进步显示了 Sora 作为世界模拟器的潜力,它可以提供对所描绘场景的物理和背景动态的细微洞察。

    技术推演

    Sora 的核心是一个预训练的扩散 Transformer。事实证明,Transformer 模型在许多自然语言任务中都具有可扩展性和有效性。与 GPT-4 等强大的大型语言模型(LLM)类似,Sora 可以解析文本并理解复杂的用户指令。为了提高视频生成的计算效率,Sora 采用了时空潜在 patch 作为其构建模块。

    具体来说,Sora 会将原始输入视频压缩为潜在时空表示。然后,从压缩视频中提取一系列潜在时空 patch,以囊括短暂时间间隔内的视觉外观和运动动态。这些片段类似于语言模型中的词 token,为 Sora 提供了详细的视觉短语,可用于构建视频。Sora 的文本到视频生成由扩散 Transformer 模型完成。从充满视觉噪音的帧开始,该模型会对图像进行迭代去噪,并根据提供的文本提示引入特定细节。本质上讲,生成的视频是通过多步完善过程产生的,每一步都会对视频进行完善,使其更加符合所需的内容和质量。

    如图 4 所示,Sora 的核心本质是一个具有灵活采样维度的扩散 Transformer。它由三部分组成:(1)时空压缩器首先将原始视频映射到潜在空间。(2) 然后,ViT 处理 token 化的潜在表示,并输出去噪潜在表示。(3) 类似 CLIP 的调节机制接收 LLM 增强的用户指令和潜在的视觉提示,引导扩散模型生成风格化或主题化的视频。经过许多去噪步骤后,生成视频的潜在表示被获取,然后通过相应的解码器映射回像素空间。

    在本节中,研究者对 Sora 所使用的技术进行了逆向工程,并讨论了一系列相关工作。

    数据预处理

    Sora 的一个显著特征是它能够训练、理解和生成原始尺寸的视频和图像,如图 5 所示。而传统方法通常会调整视频大小、裁剪或调整视频的长宽比以适应统一的视频和图像。利用扩散 Transformer 架构,Sora 是第一个拥抱视觉数据多样性的模型,可以以多种视频和图像格式进行采样,范围从宽屏 1920x1080p 视频到垂直 1080x1920p 视频以及介于两者之间的视频,而不影响其原始尺寸。

    如图 6 所示,Sora 生成的视频能够更好的展现主题,从而确保在场景中完全捕捉到拍摄对象,而其他视频有时会导致视图被截断或裁剪,导致拍摄对象脱离画面。

    统一视觉表示。为了有效处理不同持续时间、分辨率和高宽比的图像和视频,关键在于将所有形式的视觉数据转换为统一表示。

    Sora 处理的过程是这样的:首先将视频压缩到低维潜在空间,然后将表示分解为时空 patch 来对视频进行 patch 化(patchifies)。但是回看 Sora 技术报告,他们仅仅提出了一个高层次的想法,这给研究界的复现带来了挑战。在接下来的章节中,本文尝试对 Sora 的技术路径进行逆向工程,并且借鉴现有文献,讨论可以复现 Sora 的可行替代方案。

    首先是视频压缩网络。Sora 的视频压缩网络(或视觉编码器)旨在降低输入数据(尤其是原始视频)的维度,并输出在时间和空间上压缩过的潜在表示,如图 7 所示。根据技术报告中的参考文献, Sora 压缩网络是基于 VAE 或 VQ-VAE 技术的。

    然而,如果不像技术报告中对视频和图像调整大小和裁剪,那么 VAE 将任何大小的视觉数据映射到统一且固定大小的潜在空间挑战巨大。本文总结了两种不同的实现来解决这个问题:

    空间 patch 压缩:涉及将视频帧转换为固定大小的 patch,类似于 ViT 和 MAE 中使用的方法(见图 8),然后将其编码到潜在空间中,这种方法对于适应不同分辨率和宽高比的视频特别有效。随后,将这些空间 token 按时间序列组织在一起,以创建时间 – 空间潜在表征。

    时间 – 空间 patch 压缩:该技术旨在封装视频数据的空间和时间维度,从而提供全面的表示。该技术不仅仅分析静态帧,还考虑帧间的运动和变化,从而捕获视频的动态信息。3D 卷积的利用成为实现这种集成的一种简单而有效的方法。

    图 9 描绘了不同视频压缩方式的比较。与空间 patch 压缩类似,使用具有预定卷积核参数(例如固定内核大小、步幅和输出通道)的时间 – 空间 patch 压缩会导致潜在空间维度也不同。为了缓解这一挑战,空间修补(spatial patchification)所采用的方法在这种情况下同样适用和有效。

    总的来说,本文基于 VAE 或其变体如 VQ-VQE 逆向工程了两种 patch 级压缩方法,因为 patch 对处理不同类型的视频更加灵活。由于 Sora 旨在生成高保真视频,因此使用了较大尺寸的 patch 或内核尺寸以实现高效压缩。这里,本文期望使用固定大小的 patch,以简化操作、扩展性和训练稳定性。但也可以使用不同大小的 patch,以使整个帧或视频在潜在空间中的尺寸保持一致。然而,这可能导致位置编码无效,并且给解码器生成具有不同大小潜在 patch 的视频带来挑战。

    压缩网络部分还有一个关键问题:在将 patch 送入扩散 Transformer 的输入层之前,如何处理潜在空间维度的变化(即不同视频类型的潜在特征块或 patch 的数量)。这里讨论了几种解决方案:

    根据 Sora 的技术报告和相应的参考文献,patch n’ pack(PNP)很可能是一种解决方案。如图 10 所示,PNP 将来自不同图像的多个 patch 打包在一个序列中。这种方法的灵感来源于自然语言处理中使用的样本打包,它通过丢弃 token 来实现对不同长度输入的高效训练。在这里,patch 化和 token 嵌入步骤需要在压缩网络中完成,但 Sora 可能会像 Diffusion Transformer(扩散 Transformer)那样,为 Transformer token 进一步 patch 化。

    无论是否有第二轮修补,都需要解决两个问题:如何以紧凑的方式打包这些 token,以及如何控制哪些 token 应该被丢弃。

    对于第一个问题,研究者采用了简单的「贪心」算法,即在第一个序列中添加足够剩余空间的样本。一旦没有样本可以容纳,序列就会被填充 token 填满,从而产生批处理操作所需的固定序列长度。这种简单的打包算法可能会导致大量填充,这取决于输入长度的分布情况。另一方面,可以控制采样的分辨率和帧数,通过调整序列长度和限制填充来确保高效打包。

    对于第二个问题,直观的方法是丢弃相似的 token,或者像 PNP 一样,使用丢弃率调度器。不过,值得注意的是,三维一致性是 Sora 的优良特性之一。在训练过程中,丢弃 token 可能会忽略细粒度的细节。因此,研究者认为 OpenAI 很可能会使用超长的上下文窗口并打包视频中的所有 token,尽管这样做的计算成本很高,例如,多头注意力算子在序列长度上表现出二次成本。具体来说,一个长时间视频中的时空潜在 patch 可以打包到一个序列中,而多个短时间视频中的时空潜在 patch 则会串联到另一个序列中。

    建模

    • 图像 DiT

    传统的扩散模型主要利用包含下采样和上采样块的卷积 U-Net 作为去噪网络骨干。然而,最近的研究表明,U-Net 架构对扩散模型的良好性能并非至关重要。

    通过采用更灵活的 Transformer 架构,基于 Transformer 的扩散模型可以使用更多的训练数据和更大的模型参数。沿着这一思路,DiT 和 U-ViT 是第一批将视觉 Transformer 用于潜在扩散模型的作品。

    与 ViT 一样,DiT 也采用了多头自注意力层和层范数和缩放层交错的逐点前馈网络。如图 11 所示,DiT 还通过 AdaLN 进行调节,并增加了一个用于零初始化的 MLP 层,将每个残差块初始化为一个恒等函数,从而大大稳定了训练过程。DiT 的可扩展性和灵活性得到了经验验证。

    在 U-ViT 中,如图 11 所示,将包括时间、条件和噪声图像片段在内的所有输入都视为 token,并在浅层和深层 Transformer 层之间提出了长跳跃连接。结果表明,基于 CNN 的 U-Net 中的下采样和升采样算子并非总是必要的,U-ViT 在图像和文本到图像生成方面取得了破纪录的 FID 分数。

    与掩蔽自编码器(MAE)一样,掩蔽扩散 Transformer(MDT)也在扩散过程中加入了掩码潜在模型,以明确增强图像合成中对象语义部分之间的上下文关系学习。

    具体来说,如图 12 所示,MDT 在训练过程中使用边缘插值(side-interpolated)进行额外的掩蔽 token 重建任务,以提高训练效率,并学习强大的上下文感知位置嵌入进行推理。与 DiT 相比,MDT 实现了更好的性能和更快的学习速度。Hatamizadeh et al. 没有使用 AdaLN(即移位和缩放)进行时间条件建模,而是引入了 Diffusion Vision Transformers (DiffiT),它使用与时间相关的自注意力(TMSA)模块对采样时间步长内的动态去噪行为进行建模。此外,DiffiT 采用两种混合分层架构,分别在像素空间和潜在空间进行高效去噪,并在各种生成任务中取得了新的先进成果。总之,这些研究表明,利用视觉 Transformer 进行图像潜在扩散取得了可喜的成果,为面向其他模态的研究铺平了道路。

    • 视频 DiT

    在文本到图像(T2I)扩散模型的基础上,一些近期研究专注于发挥扩散 Transformer 在文本到视频(T2V)生成任务中的潜力。由于视频的时空特性,在视频领域应用 DiT 所面临的主要挑战是:i) 如何将视频从空间和时间上压缩到潜在空间,以实现高效去噪;ii) 如何将压缩潜在空间转换为 patch,并将其输入 Transformer ;iii) 如何处理长序列时空依赖性,并确保内容一致性。

    这里将讨论基于 Transformer 的去噪网络架构(该架构旨在时空压缩的潜在空间中运行)下文详细回顾了 OpenAI Sora 技术报告参考文献列表中介绍的两项重要工作(Imagen Video 和 Video LDM)。

    Imagen Video 是谷歌研究院开发的文本到视频生成系统,它利用级联扩散模型(由 7 个子模型组成,分别执行文本条件视频生成、空间超分辨率和时间超分辨率)将文本提示转化为高清视频。

    如图 13 所示,首先,冻结的 T5 文本编码器会根据输入的文本提示生成上下文嵌入。这些嵌入对于将生成的视频与文本提示对齐至关重要,除了基础模型外,它们还被注入级联中的所有模型。随后,嵌入信息被注入基础模型,用于生成低分辨率视频,然后由级联扩散模型对其进行细化以提高分辨率。基础视频和超分辨率模型采用时空可分离的 3D U-Net 架构。该架构将时间注意力层和卷积层与空间对应层结合在一起,以有效捕捉帧间依赖关系。它采用 v 预测参数化来实现数值稳定性和条件增强,以促进跨模型的并行训练。

    这一过程包括对图像和视频进行联合训练,将每幅图像视为一帧,以利用更大的数据集,并使用无分类器引导来提高提示保真度。渐进式蒸馏法用于简化采样过程,在保持感知质量的同时大大减少了计算负荷。将这些方法和技术相结合,Imagen Video 不仅能生成高保真视频,而且还具有出色的可控性,这体现在它能生成多样化的视频、文本动画和各种艺术风格的内容。

    Blattmann et al. 建议将二维潜在扩散模型转化为视频潜在扩散模型(Video LDM)。为此,他们在 U-Net 主干网和 VAE 解码器的现有空间层中添加了一些临时时间层,以学习如何对齐单个帧。这些时间层在编码视频数据上进行训练,而空间层则保持固定,从而使模型能够利用大型图像数据集进行预训练。LDM 的解码器可进行微调,以实现像素空间的时间一致性和时间对齐扩散模型上采样器,从而提高空间分辨率。

    为了生成超长视频,作者对模型进行了训练,以预测未来帧的上下文帧数,从而在采样过程中实现无分类器引导。为实现高时间分辨率,作者将视频合成过程分为关键帧生成和这些关键帧之间的插值。在级联 LDM 之后,使用 DM 将视频 LDM 输出进一步放大 4 倍,确保高空间分辨率的同时保持时间一致性。这种方法能以高效的计算方式生成全局一致的长视频。此外,作者还展示了将预先训练好的图像 LDM(如稳定扩散)转化为文本到视频模型的能力,只需训练时间对齐层,即可实现分辨率高达 1280 × 2048 的视频合成。

    语言指令跟随

    为了提高文本到视频模型遵循文本指令的能力,Sora 采用了与 DALL・E 3 类似的方法。

    DALL・E 3 中的指令跟随是通过一种描述改进方法来解决的,其假设是模型所训练的文本 – 图像对的质量决定了最终文本 – 图像模型的性能。数据质量差,尤其是普遍存在的噪声数据和省略了大量视觉信息的简短标题,会导致许多问题,如忽略关键词和词序,以及误解用户意图等。描述改进方法通过为现有图像重新添加详细的描述性描述来解决这些问题。该方法首先训练图像描述器(视觉语言模型),以生成精确的描述性图像描述。然后,描述器生成的描述性图像描述将用于微调文本到图像模型。

    具体来说,DALL・E 3 采用对比式描述器(CoCa),联合训练具有 CLIP 架构和语言模型目标的图像描述器。该图像描述器包含一个图像编码器、一个用于提取语言信息的单模态文本编码器和一个多模态文本解码器。它首先在单模态图像和文本嵌入之间采用对比损失,然后对多模态解码器的输出采用描述损失。由此产生的图像描述器将根据对图像的高度详细描述进行进一步微调,其中包括主要对象、周围环境、背景、文本、风格和色彩。通过这一步骤,图像描述器就能为图像生成详细的描述性描述。文本到图像模型的训练数据集由图像描述生成器生成的重新描述数据集和真实人工编写数据混合而成,以确保模型捕捉到用户输入。

    这种图像描述改进方法带来了一个潜在问题:实际用户提示与训练数据中的描述性图像描述不匹配。DALL・E 3 通过上采样解决了这一问题,即使用 LLM 将简短的用户提示改写成详细而冗长的说明。这确保了模型在推理时接收到的文本输入与模型训练时的文本输入保持一致。

    为了提高指令跟踪能力,Sora 采用了类似的描述改进方法。这种方法是通过首先训练一个能够为视频制作详细说明的视频描述器来实现的。然后,将该视频描述器应用于训练数据中的所有视频,生成高质量的(视频、描述性描述)对,用于微调 Sora,以提高其指令跟随能力。

    Sora 的技术报告没有透露视频描述器是如何训练的细节。鉴于视频描述器是一个视频到文本的模型,因此有很多方法来构建它:

    一种直接的方法是利用 CoCa 架构来制作视频描述,方法是获取视频的多个帧,并将每个帧输入图像编码器,即 VideoCoCa。VideoCoCa 以 CoCa 为基础,重新使用图像编码器预训练的权重,并将其独立应用于采样视频帧。由此产生的帧 token 嵌入会被扁平化,并连接成一长串视频表示。然后,生成式池化层和对比池化层会对这些扁平化的帧 token 进行处理,二者是用对比损失和描述损失联合训练的。

    其他可用于构建视频描述的方法包括 mPLUG-2、GIT、FrozenBiLM 等。

    最后,为确保用户提示与训练数据中的描述性描述格式一致,Sora 还执行了额外的提示扩展步骤,即使用 GPT-4V 将用户输入扩展为详细的描述性提示。

    然而,Sora 训练描述器的数据收集过程尚不清楚,而且很可能需要大量人力,因为这可能需要对视频进行详细描述。此外,描述性视频描述可能会对视频的重要细节产生幻觉。本文作者认为,如何改进视频描述器值得进一步研究,这对提高文本到图像模型的指令跟踪能力至关重要。

    提示工程

    • 文本提示

    文本提示工程对于指导文本视频模型制作出既具有视觉冲击力又能精确满足用户规格的视频至关重要。这就需要制作详细的描述来指导模型,以有效弥合人类创造力与人工智能执行能力之间的差距。

    Sora 的提示涵盖了广泛的场景。近期的作品(如 VoP、Make-A-Video 和 Tune-A-Video)展示了提示工程如何利用模型的自然语言理解能力来解码复杂指令,并将其呈现为连贯、生动和高质量的视频叙事。

    如图 15 所示,「一个时髦的女人走在霓虹灯闪烁的东京街头…… 」就是这样一个精心制作的文本提示,它确保 Sora 生成的视频与预期的视觉效果非常吻合。提示工程的质量取决于对词语的精心选择、所提供细节的具体性以及对其对模型输出影响的理解。例如,图 15 中的提示详细说明了动作、设置、角色出场,甚至是所期望的场景情绪和氛围。

    • 图像提示

    图像提示为即将生成的视频内容和其他元素(如人物、场景和情绪)提供了视觉锚点。此外,文字提示还可以指示模型将这些元素动画化,例如,添加动作、互动和叙事进展等层次,使静态图像栩栩如生。通过使用图像提示,Sora 可以利用视觉和文本信息将静态图像转换成动态的、由叙事驱动的视频。

    图 16 展示了人工智能生成的视频:「一只头戴贝雷帽、身穿高领毛衣的柴犬」、「一个独特的怪物家族」、「一朵云组成了 SORA 一词」以及「冲浪者在一座历史悠久的大厅内驾驭潮汐」。这些例子展示了通过 DALL・E 生成的图像提示 Sora 可以实现哪些功能。

    • 视频提示

    视频提示也可用于视频生成。最近的研究(如 Moonshot 和 Fast-Vid2Vid)表明,好的视频提示需要「具体」而「灵活」。这样既能确保模型在特定目标(如特定物体和视觉主题的描绘)上获得明确的指导,又能在最终输出中允许富有想象力的变化。

    例如,在视频扩展任务中,提示可以指定扩展的方向(时间向前或向后)和背景或主题。在图 17 (a) 中,视频提示指示 Sora 向后延伸一段视频,以探索导致原始起点的事件。如图 17(b)所示,在通过视频提示执行视频到视频的编辑时,模型需要清楚地了解所需的转换,例如改变视频的风格、场景或氛围,或改变灯光或情绪等微妙的方面。在图 17 (c) 中,提示指示 Sora 连接视频,同时确保视频中不同场景中的物体之间平滑过渡。

    虽然以前关于提示工程的研究主要集中在 LLM 和 LVM 的文本和图像提示上,但预计研究者们对视频生成模型的视频提示的兴趣会越来越大。

    应用

    随着以 Sora 为代表的视频扩散模型技术取得突破,其在不同研究领域和行业的应用正在迅速加速。

    本文作者指出,这项技术的影响远远超出了单纯的视频创作,为从自动内容生成到复杂决策过程的各种任务提供了变革潜力。

    在论文的第四章中,全面探讨了视频扩散模型的当前应用,希望为实际部署方案提供一个广阔的视角(图 18):

    • 提高模拟能力:对 Sora 进行大规模训练,是因为它能够出色地模拟物理世界的各个方面。尽管没有明确的三维建模,但 Sora 通过动态摄像机运动和远距离连贯性表现出三维一致性,包括物体持久性和模拟与世界的简单交互。此外,Sora 还能模拟类似 Minecraft 的数字环境,在保持视觉保真度的同时由基本策略控制,这一点非常有趣。这些新出现的能力表明,可扩展视频模型可以有效地创建人工智能模型,以模拟物理和数字世界的复杂性。
    • 提高创造力:想象一下,通过文字勾勒出一个概念,无论是一个简单的物体还是一个完整的场景,都能在几秒钟内呈现出逼真或高度风格化的视频。Sora 可以加速设计过程,更快地探索和完善创意,从而大大提高艺术家、电影制作人和设计师的创造力。
    • 推动教育创新:长期以来,视觉辅助工具一直是教育领域理解重要概念不可或缺的工具。有了 Sora,教育工作者可以轻松地将课堂计划从文字变成视频,吸引学生的注意力,提高学习效率。从科学模拟到历史剧,可能性是无限的。
    • 增强可访问性:提高视觉领域的可访问性至关重要。Sora 通过将文字描述转换为可视内容,提供了一种创新的解决方案。这种功能使包括视觉障碍者在内的所有人都能积极参与内容创建,并以更有效的方式与他人互动。因此,它可以创造一个更具包容性的环境,让每个人都有机会通过视频表达自己的想法。
    • 促进新兴应用:Sora 的应用领域非常广泛。例如,营销人员可以用它来制作针对特定受众描述的动态广告。游戏开发商可以利用它根据玩家的叙述生成定制的视觉效果甚至角色动作。

    具体而言,以下几个行业将面临变革:

    影视

    传统上,创作电影是一个艰巨而昂贵的过程,往往需要数十年的努力、尖端的设备和大量的资金投入。先进视频生成技术的出现预示着电影制作进入了一个新时代,从简单的文本输入中自主生成电影的梦想正在成为现实。事实上,研究人员已经涉足电影生成领域,将视频生成模型扩展到电影创作中。

    MovieFactory 应用扩散模型从 ChatGPT 制作的精心脚本中生成电影风格的视频,这是一个重大飞跃。在后续研究中,MobileVidFactory 只需用户提供简单的文本,就能自动生成垂直移动视频。Vlogger 则让用户可以制作长达一分钟的 Vlog。

    Sora 能够毫不费力地生成引人入胜的电影内容,这是这些发展的缩影,标志着电影制作民主化的关键时刻。它们让人们看到了一个人人都能成为电影制作人的未来,大大降低了电影行业的准入门槛,并为电影制作引入了一个新的维度,将传统的故事讲述方式与人工智能驱动的创造力融为一体。这些技术的影响不仅仅是简单化。它们有望重塑电影制作的格局,使其在面对不断变化的观众喜好和发行渠道时,变得更加容易获得,用途更加广泛。

    游戏

    游戏产业一直在寻求突破逼真度和沉浸感界限的方法,但传统游戏开发往往受到预先渲染的环境和脚本事件的限制。通过扩散模型效果实时生成动态、高保真视频内容和逼真音效,有望克服现有的限制,为开发人员提供工具来创建不断变化的游戏环境,对玩家的行为和游戏事件做出有机的反应。这可能包括生成不断变化的天气条件、改变地貌,甚至即时创建全新的设置,从而使游戏世界更加身临其境、反应更加灵敏。一些方法还能从视频输入中合成逼真的冲击声,增强游戏音频体验。

    将 Sora 集成到游戏领域后,就能创造出无与伦比的身临其境的体验,吸引并吸引玩家。游戏的开发、玩耍和体验方式都将得到创新,并为讲故事、互动和沉浸式体验带来新的可能性。

    医疗

    尽管具有生成能力,但视频扩散模型在理解和生成复杂视频序列方面表现出色,因此特别适用于识别人体内的动态异常,如早期细胞凋亡、皮肤病变进展和不规则人体运动,这对早期疾病检测和干预策略至关重要。此外,MedSegDiffV2 等模型利用 Transformer 的强大功能,以前所未有的精度分割医学影像,使临床医生能够在各种成像模式中精确定位感兴趣的区域,提高准确性。

    将 Sora 集成到临床实践中,不仅有望完善诊断流程,还能根据精确的医学影像分析提供量身定制的治疗方案,实现患者护理的个性化。然而,这种技术整合也带来了一系列挑战,包括需要采取强有力的数据隐私措施和解决医疗保健中的伦理问题。

    机器人

    视频扩散模型目前在机器人技术中发挥着重要作用,它展示了一个新时代:机器人可以生成和解释复杂的视频序列,以增强感知和决策。这些模型释放了机器人的新能力,使它们能够与环境互动,以前所未有的复杂度和精确度执行任务。将网络规模扩散模型引入机器人学,展示了利用大规模模型增强机器人视觉和理解能力的潜力。潜在扩散模型被用于语言指导的视频预测,使机器人能够通过预测视频格式的行动结果来理解和执行任务。此外,视频扩散模型能够创建高度逼真的视频序列,创新性地解决了机器人研究依赖模拟环境的问题。这样就能为机器人生成多样化的训练场景,缓解真实世界数据匮乏所带来的限制。

    将 Sora 等技术整合到机器人领域有望取得突破性发展。通过利用 Sora 的强大功能,未来的机器人技术将取得前所未有的进步,机器人可以无缝导航并与周围环境互动。

    局限性

    最后,研究者指出了 Sora 这项新技术存在的风险问题和局限性。

    随着 ChatGPT 、GPT4-V 和 Sora 等复杂模型的快速发展,这些模型的能力得到了显著提高。这些发展为提高工作效率和推动技术进步做出了重大贡献。然而,这些进步也引发了人们对这些技术可能被滥用的担忧,包括假新闻的产生、隐私泄露和道德困境。因此,大模型的可信度问题引起了学术界和工业界的广泛关注,成为当下研究讨论的焦点。

    虽然 Sora 的成就凸显了人工智能的重大进步,但挑战依然存在。在描绘复杂动作或捕捉微妙面部表情方面,该模型还有待改进。此外,减少生成内容中的偏见和防止有害的视觉输出等道德方面的考虑也强调了开发人员、研究人员和更广泛的社区负责任使用的重要性。确保 Sora 的输出始终安全、无偏见是一项主要挑战。

    但伴随着视频生成领域的发展,学术界和工业界的研究团队都取得了长足的进步。文本到视频竞争模式的出现表明,Sora 可能很快就会成为动态生态系统的一部分。这种合作与竞争的环境促进了创新,从而提高了视频质量并开发了新的应用,有助于提高工人的工作效率,使人们的生活更具娱乐性。