赞
踩
今天是2024年2月16号,大年初七,年还没过完,早晨起来朋友圈就被Sora刷屏了。本来以为没啥,都是公众号或者视屏啥的,都没点开看,直到看到我导也发了Sora的文章,我就知道这个事情不简单了。
先来看一段非常炸裂的效果,就是下面这个视频。真的,如果你不跟我说这是AI生成的,我还以为是哪个电影的镜头呢。这场景,这运镜,这清晰度,放大之后连脸上的斑都清晰可见,Oh my God,现实不存在了,现实真的不存在了。
Tokyo walk
我之前也试过runway的生成视频,只能生成几秒的短视频不说,内容也是非常糟糕,连我最爱的钢铁侠都生成的人不人鬼不鬼的,差评!(这么一对比,OpenAI是不是又干掉了好多创业公司)
其实这东西,外行人看着挺厉害的,内行人才知道,这是真的牛逼。作为大模型小学生,我最关心的当然OpenAI是如何实现的。不过一如OpenAI(CloseAI)的特点,只发报告不发论文,并且报告也不包含模型的具体细节,没办法,先看看报告吧。
非常好笑的是,我去X(原Twitter)上看了一下,Sam Altman说“大家可以发一些字幕来看看Sora生成视频的效果”,然后一位网友回复:“一个将非盈利开源组织变成商业闭源公司的人”,这波嘲讽拉满了。
这篇报告重点关注两点:
在Sora之前也有很多研究视频生成的工作,包括循环网络、生成对抗网络、自回归transformers和扩散模型,但这些模型通常只能生成一小类风格的视频,并且时长较短,大小也固定。而Sora是视觉数据的通用模型,它可以生成不同时长、长宽比和分辨率的视频和图像,最多可以生成长达1分钟的高清视频。
patch可以理解为小补丁,例如ViT中就是将一张完整的图片分成3×3=9张小图片,这些小图片就可以是patch。
Sora的工作启发于大语言模型,它通过对从互联网上获取的大量文本数据进行学习,获得了惊人的能力。在这项工作中,OpenAI就将这种模式迁移到了视觉数据。LLM中有text token,而Sora则是利用了visual patches。patch是一种高度可扩展且有效的表示,可以用于在不同类型的视频和图像上训练生成模型。
从全局层面看,Sora首先将视频压缩到较低维的特征空间,然后分解为时空patches。
英伟达科学家DrJimFan评价称,Sora 是一个数据驱动的物理引擎。它是对许多世界的模拟,无论是真实的还是幻想的。模拟器通过一些去噪和梯度数学来学习复杂的渲染、“直观”物理、长期推理和语义基础。“如果 Sora 使用虚幻引擎 5 对大量合成数据进行训练,我不会感到惊讶,它也必须如此。”DrJimFan表示。
OpenAI训练了一个模型来降低视觉数据的维度,以原始视频作为输入,然后输出在时间和空间都被压缩的潜在特征表示。Sora则是在这个压缩的潜在特征表示上进行训练并生成视频,又训练了一个解码器模型,将生成的潜在特征再映射回像素空间。
给定一个压缩的输入视频,通过模型提取一系列时空patches,作为Transformer的输入tokens。该方案也适用于图像,因为图像即是单帧的视频。这种基于patch的表示可以使Sora能够对不同时长、分辨率和宽高比的视频和图像进行训练。在推理时,可以通过在适当大小的网格中排列随机初始化的patches来控制生成视频的大小。
Sora是一个扩散模型,可以根据给定的输入噪声patches(以及文本提示灯信息),经过训练来预测原始的“干净”的patches。
在这项工作中,OpenAI发现扩散Transformer也可以有效地扩展为视频模型。例如下面这三个视频就展示了在训练过程中具有固定随机种子和输入视频样本生成的视频的比较,可以发现,随着训练计算的增加,生成样本的质量显著提高。
sora video: baseline
sora video: baseline × 4
sora video: baseline × 16
看这个描述,Sora应该是跟Stable Diffusion类似的pipeline,给定带噪声的样本,然后逐步训练去噪。只不过模型架构可能不一样,Stable Diffusion用的是文本编码器+UNet+VAE图像解码器,而Sora用的是Transformer。(可怜的Google,明明Transformer是自己发明的,发扬光大的却是OpenAI。)
之前的一些图像和视频的生成方法通常会将视频调整大小,裁剪为标准尺寸,例如256×256的4秒视频,但是OpenAI发现,直接对原始大小的数据进行训练也有好处。
Sora可以采样横屏1920×1080、竖屏1080×1920以及介于这两者之间的所有视频,这使得Sora可以直接以其原始宽高比为不同设备生成不同内容。如下图所示,左侧是生成的竖屏图像,右侧是生成的横屏图像,中间则是生成的分辨率介于竖屏和横屏之间的图像。还可以实现在生成高分辨率图像之前,先生成一个低分辨率的原型图,这些都可以通过一个模型实现。
OpenAI发现,直接以原始长宽比对视频进行训练可以改善构图和取景。例如,在裁剪为正方形视频的数据上训练的模型(上)生成的视频也仅有部分主体,而Sora在完整的视频数据上进行训练(下),视频的取景有所改善。
sampling_3
sampling_4
训练一个文本到视频的生成系统需要大量的视频以及对应的字幕,OpenAI通过DALL·E 3重新生成了视频字幕,训练了一个字幕生成器模型,然后使用它来为训练集中的所有视频生成文本字幕。
跟DALL·E 3类似,OpenAI还利用GPT将简短用户提示转换为较长的详细字幕,然后再发送到视频模型,这使得Sora可以生成准确遵循用户提示词的高质量视频。
提示词:a toy robot wearing blue jeans and a white t-shirt taking a pleasant stroll in Antarctica during a winter storm.
Video generation_4
所有OpenAI展示的Sora的例子都是通过文生视频实现的,但是Sora也可以以其它输入作为提示,例如图像或视频。这就可以让Sora能够执行图像和视频编辑任务,例如创建循环视频、图像动画化、前向或后向视频扩展等。
Sora可以将生成的图像根据提示词转换为动态的动画。
Video generation_5
Sora 还能够在时间上向前或向后扩展视频。下面是几个例子,它们都是从生成的视频片段开始向后延伸的。因此,这四个视频的开头都不同,但所有四个视频的结局都是相同的。也可以使用此方法向前和向后扩展视频生成无限循环的视频。
https://cdn.openai.com/tmp/s/extend_1.mp4
https://cdn.openai.com/tmp/s/extend_2.mp4
https://cdn.openai.com/tmp/s/extend_4.mp4
这个功能就比较有意思了,如果可以一直向后扩展,那么完全可以编好一个剧本之后,生成一个片头,然后不断循环生成一部电影出来。
扩散模型能够根据多种文本提示编辑图像和视频,例如这里OpenAI就采用SDEdit的方法应用于Sora,可以通过zero-shot改变输入视频的风格和环境。
Sora可以在两个输入视频之间逐渐进行插值,从而实现在具有完全不同主题和场景的视频之间无缝转场。例如下面这个例子,中间的视频就是在左侧和右侧的视频插值生成的视频。
https://cdn.openai.com/tmp/s/interp/a0.mp4
https://cdn.openai.com/tmp/s/interp/a1.mp4
https://cdn.openai.com/tmp/s/interp/a2.mp4
Sora还能够生成图像,这是通过在时间范围为一帧的空间网格中排列高斯噪声块来实现的。Sora可以生成各种尺寸的图像,分辨率高达2048×2048。
提示词:A snowy mountain village with cozy cabins and a northern lights display, high detail and photorealistic dslr, 50mm f/1.2
OpenAI发现,视频生成模型在大规模训练时表现出了许多有趣的新功能,例如Sora可以模拟现实世界中的人、动物和环境。
Sora 可以生成带有动态摄像机运动的视频。随着摄像机的移动和旋转,人和场景元素在三维空间中一致移动。
该项目的研究科学家蒂姆·布鲁克斯(Tim Brooks)谈到Sora时说道:“它学习了关于3D几何的知识,但是我们并没有事先设定这些,它完全是从大量数据中学习的。”
https://cdn.openai.com/tmp/s/simulation_1.mp4
视频生成系统面临的一个重大挑战是在采样长视频时保持时间一致性。Sora 通常(尽管并非总是)能够有效地对短期和长期依赖关系进行建模。例如可以保留人、动物和物体,即使它们被遮挡或离开镜头。同样,它可以在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。
https://cdn.openai.com/tmp/s/simulation_2.mp4
Sora有时可以简单的模拟影响世界状况的动作。例如,画家可以在画布上留下新的笔触,并随着时间的推移而持续存在。
https://cdn.openai.com/tmp/s/simulation_4.mp4
Sora可以模拟人工过程,例如视频游戏。Sora 可以同时通过基本策略控制《我的世界》中的玩家,同时以高保真度渲染世界及其变化。
https://cdn.openai.com/tmp/s/simulation_6.mp4
这些功能表明,视频模型的持续扩展是开发物理和数字世界以及生活在其中的物体、动物和人的高性能模拟器的一条有前途的道路。
当然,Sora目前作为模拟器也有许多局限性。例如,它还不能准确地模拟许多基本相互作用的物理过程,例如下面这个视频是要生成玻璃破碎的效果,但是并没有出现玻璃屑四分五裂的画面,反而看起来这个杯子还挺有弹性的。其它交互(例如吃食物)也并不总是会产生对象状态的正确变化。还有很多常见的故障模式,例如长时间样本中出现的不连贯性或对象的自发出现。
https://cdn.openai.com/tmp/s/discussion_0.mp4
尽管如此,Sora今天所拥有的能力也表明,视频模型的持续扩展,是开发真实世界模拟器的一条非常有前途的道路。
Sora直接影响的就是影视行业,以后可能会出现很多没有真实演员的影视作品,都是AI生成的虚拟演员。不过这也利好编剧行业,剧本、文本创作力成为核心竞争力,毕竟现在ChatGPT虽说能写长文本,但真正好的剧本,有创新性的剧本,还是人来写的。
除此之外还会影响特效行业,使用AI来制作一些特效和高风险的镜头,可以大幅降低拍摄成本,也可以避免很多危险。摄影师行业估计会受到很大的影响,毕竟用文本来生成一些视频,可以省去很多拍摄工作。
还有很多歌手拍摄MV,如果可以用AI来生成所需要的MV画面,也可以省去很大一部分制作成本。
短视频行业肯定还会爆火,毕竟之前Stable Diffusion出来之后,抖音上就出现了很多小说生成漫画搭配解说的视频,现在能生成视频了,短视频博主就可以相对低成本的产出大量内容。
自动驾驶是我比较感兴趣的一个方向,这个方向有一个一直无法完全解决的问题——长尾问题,也就是说有很多很多稀奇古怪的corner case。比如,按理来说道路上不太可能出现大象,但是2021年云南大象北上,象群在公路上横冲直撞,别说自动驾驶系统了,再老的司机也没见过这阵仗啊,所以如果自动驾驶系统在公路上看到大象,谁也不知道它会做出什么样的决策。
之前的一些缓解方案都是通过模拟器来生成一些场景,比如Tesla自己开发的模拟器,可以生成人在高速公路上跑步的场景,那么就可以训练车辆在这种场景下该怎么做。但是毕竟模拟器就是模拟器,大部分都还是虚拟的动画场景,路都长得一个样,很难有真实感。
现在有了Sora之后,完全可以批量生成corner case的场景,然后喂给模型进行训练,管它什么长尾短尾,直接堆数据全补齐。
这一点其实是很难避免的,如果真正意义上的文生视频得以实现,那么肯定会有不法份子利用这项技术实施新手段的诈骗。前几年的时候就有高科技诈骗能够模拟人的声音和外表,但那个视频看起来多少有点生硬和不自然,现在Sora的效果这么好,难免会有不法分子心生不轨,这么一说OpenAI暂时不开源的选择确实可以理解了。
说到这我又想到一点,现在很多APP的实名认证都会做活体检测,就是让人张嘴或者眨眼啥的,如果Sora能够根据人的照片生成这种张嘴和眨眼的视频,那现在的反欺诈手段能否检测出来还是一个问题。
预计Sora将受到与DALL·E 3相同的内容限制:禁止暴力、色情、挪用真实人物或命名艺术家的风格。尽管如此,OpenAI表示,安全性和真实性是一个持续存在的问题,这个问题超出了一个公司的范畴。
Dall-E团队的首席研究员和负责人Aditya Ramesh表示:“对于误导信息的解决方案正在完善中,但也需要社会的理解,并且需要社交媒体网络进行规范和适应。”
Video generation models as world simulators
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。