OpenAI文生视频方案Sora技术浅析:兼看知识图谱与多模态的融合工作
作者: 老刘说NLP 来源: 老刘说NLP
今天是2024年2月16日,星期五,大年初七,大家继续新年快乐。
今天来谈谈一些热点事情,关于文生视频。
文生视频领域,目前公众可使用的主要有RunwayGen-1、RunwayGen-2、Zero Scope、PikaLabs。其中,除Runway收费外,Zero Scope、PikaLabs均可免费使用。
例如,2023年2月,Runway通过社区Discord发布视频生成模型Gen-1,2023年4月,发布支持text-to-video的视频生成模型 Gen-2,2023年11月29 日,Pika发布了网页端 1.0 产品。
也有2024年2月,字节跳动推出超高清文生视频模型,https://arxiv.org/abs/2401.04468,https://magicvideov2.github.io/
今天,openai发布sora文生视频的工作迅速刷频,在春节假期的末尾来了一个王炸,放出来的视频受到广泛关注,虽然Sora并没有公开对大家开放测试入口,只发布了一个官方给大家展示效果,但惊喜之余,对其基本实现原理进行认知将会更有意义。
一位资深的朋友的观点,算法角度,在大数据量下,生成式模型框架都很优雅统一,视频的编码方式也是领域常见的思路,在文本描述上用了gpt-v模型自动加标注的方式产生了很多文本视频对应数据。最大的壁垒,很可能是海量数据下训练的工程能力和GPU资源,应该是其他团队未曾触达过的数据量和机器数量,这也是深度学习时代一直以来的经验。
本文主要来看看这方面的工作,并看看知识图谱多模态的一个工作,感觉这个方向将是个趋势,供大家一起参考。
一、关于openai发布sora文生视频的相关工作
1、一个huggingface、国海证券对文生视频的论述
地址在https://hf.co/blog/text-to-video,我们可以看看文生视频的演变历史,国海证券也在《AIGC行业专题报告:从文生图到文生视频技术框架与商业化》(https://mp.weixin.qq.com/s/ASmhJ7zIUe7mQoY37mgZ7Q)中作了回顾。
文生视频由文生图、图生视频这两部组成,其技术发展大致分为图像拼接生成、GAN/VAE/Flow-based生成、自回归模型生成、扩散模型生成几个阶段。
其实现技术也经历了多个变化,如下所示。
具体来看,
第一波文生图模型包括VQGAN-CLIP、XMC-GAN和GauGAN2、VAE,以Text2Filter为代表
紧随其后的是OpenAI在2021年初发布的广受欢迎的基于transformer的DALL-E、2022年4月的DALL-E2,以及由StableDiffusion和Imagen开创的新一波扩散模型。
其中:
GAN由生成器和判别器构成,生成器类似于小偷,生成器生成图片;判别器类似于警察,负责判断是生成器生成图片还是真实图片。
VAE由编码器及解码器构成,其使得图片能够编码成易于表示的形态,并且这一形态能够尽可能无损地解码回原真实图像。
生成过程分为两步:首先,利用条件VAE模型从文本中提取出要点,即静态和通用的特征,生成视频的基本背景;再借助GAN框架中的神经网络生成视频细节。
StableDiffusion的巨大成功催生了许多产品化的扩散模型,例如DreamStudio和RunwayMLGEN-1,同时也催生了一批集成了扩散模型的产品,例如Midjourney。
受文本(GPT-3)和图像(DALL-E)中大规模预训练Transformer模型的成功启发,文生视频研究的第二波浪潮采用了Transformer架构。
其思想思路为:输入文本后利用Transformer模型编码,将文本转化为视频令牌,进行特征融合后输出视频。
Phenaki、Make-A-Vide、NUWA、VideoGPT和CogVideo都提出了基于transformer的框架,而TATS提出了一种混合方法,从而将用于生成图像的VQGAN和用于顺序地生成帧的时间敏感transformer模块结合起来。
其中,Phenaki是基于Transformer框架进行文生视频的代表之一,其突破了文生视频的时长限制进行任意时长视频生成。
第三波主要以基于扩散的架构为特征,代表为Make-A-Video、Video LDM、Text2Video-Zero、Runway-Gen1、Runway-Gen2以及NUWA-XL。
其思想在于通过预训练模型进行文本特征提取后,再进行文本到图片,图片到视频的生成,过程中需基于扩散模型进行。简单来说,扩散模型即在图片上逐渐添加高斯噪声再进行反向操作。
其中,Make-A-Video生成视频主要思路为首先接受文字指令,然后利用CLIP文字解码将其转化为向量;
接着先验网络将CLIP文本向量“翻译”到对应的CLIP图像向量,接着利用Base Diffusion Model(一种文生图的模型)生成视频的基本框架,得到额外的卷积层和注意力层到时间维度;
最后,利用Temporal Super-Resolution(TSR)进行帧插值以补充关键细节,最后利用两个空间超分辨率模型升级各个帧的分辨率。
扩散模型在生成多样化、超现实和上下文丰富的图像方面取得了显著成功,这一波模型是由Video Diffusion Models(VDM)开创,将扩散模型推广至视频领域。
2、openai关于sora的官方技术报告
地址在https://openai.com/research/video-generation-models-as-world-simulators
根据其官方论述,针对不同时长、分辨率和宽高比的视频及图像,openai联合训练了基于文本条件的扩散模型,采用了Transformer架构,能够处理视频和图像潜在编码的时空片段。最大型号的模型Sora,能生成高质量的一分钟视频。
1)语言理解与指令-视频训练数据
开发能够从文字生成视频的系统,需要大量的视频及其对应的文字说明。sora采用DALLE3(https://www.louisbouchard.ai/dalle-3/)的方案,这块还可以对应看看DALLE2(Hierarchical Text-Conditional Image Generation with CLIP Latents,https://arxiv.org/abs/2204.06125),并将其应用于视频。
首先,训练了一个能够生成详细描述的模型,然后利用这个模型为训练集里的所有视频创建文字说明,使用描述性强的视频说明进行训练,不仅能提高文字的准确度,还能显著提升视频的整体质量。也就是说,采用DALL·E 3中引入的重新字幕技术(re-captioning technique),首先训练一个高度描述性的字幕模型(descriptive captioner model),然后使用它为训练集中的所有视频生成文本标题。
如DALL·E 3一样,还使用GPT把用户的简短提示转化成详尽的说明,再将这些说明送给视频生成模型,使得Sora能够根据用户的指令,制作出高品质的视频。
但是,训练Sora用了多少数据并不知道,OpenAI在整个技术分析中一点都没有提数据的事情,但是鉴于内容的丰富性(比如甚至可以生成相当连贯一致的Minecraft游戏视频),很可能是大量的youtube视频,同时也不排除有合成数据(比如3D渲染等 ),这个来自https://www.zhihu.com/question/644473449/answer/3397947587的观点。
实际上,文生视频模型通常在大型文本-视频对数据集上进行训练。这些数据集中的视频通常被分成短的、固定长度的块,最常用的文本-视频数据集WebVid由1070万个文本-视频对(视频时长5.2万小时)组成 ,并包含一定量的噪声样本,这些样本中的视频文本描述与视频内容是非相干的。其他数据集试图通过聚焦特定任务或领域来解决这个问题,例如:
Howto100M数据集包含13600万个视频剪辑,其中文本部分描述了如何一步一步地执行复杂的任务,例如烹饪、手工制作、园艺、和健身;
QuerYD数据集则聚焦于事件定位任务,视频的字幕详细描述了目标和动作的相对位置;
CelebV-Text是一个包含超过7万个视频的大规模人脸文本-视频数据集,用于生成具有逼真的人脸、情绪和手势的视频。
2)基本架构
Sora是一种transformer扩散模型(《Scalable diffusion models with transformers》, https://arxiv.org/abs/2212.09748) ,它能够接受带有噪声的图像块(及条件信息如文本提示)作为输入,并被训练以预测出原始的“清晰”图像块。也就是说,Sora在输入噪声补丁(noisy patches)和条件信息(如文本提示text prompts)的情况下,被训练来预测原始的“干净”补丁。
这块的工作可以参考:
《Deep unsupervised learning using nonequilibrium thermodynamics》,https://arxiv.org/abs/1503.03585
《Denoising diffusion probabilistic models》,https://arxiv.org/abs/2006.11239
《Improved denoising diffusion probabilistic models》,https://arxiv.org/abs/2102.09672
《Diffusion Models Beat GANs on Image Synthesis》,https://arxiv.org/abs/2105.05233
《Elucidating the design space of diffusion-based generative models》,https://arxiv.org/abs/2206.00364
3)视频的类token化-视频补丁patches
在大语言模型的中,tokenizer使得任何长度和内容的文本都能编码成语言模型可以直接处理(输入/输出)的对象,即embeddings,大语言模型通过使用tokens作为统一处理代码、数学及多种自然语言的高效方式,实现了不同数据类型间的无缝转换。
针对文本生成视频领域,引入了视觉补丁(patches)这一视觉数据表现形式,embeddings在Sora中的对应物称为 visual patches,tokenizer对应为video compression network。
video compression network (visual encoder) 首先将输入视频的时间和空间维度同时进行压缩,编码成一个和视频大小成正比的3D visual patch array,然后再将它按照某种顺序展开成1D array of patches,送入到transformer model中。
这块可以参照对应的工作:
《An image is worth 16x16 words: Transformers for image recognition at scale》,https://arxiv.org/abs/2010.11929
《Vivit: A video vision transformer》,https://arxiv.org/abs/2103.15691
《Masked autoencoders are scalable vision learners》,https://arxiv.org/abs/2111.06377
《Patch n’Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution》,https://arxiv.org/abs/2307.06304
在具体实现上,先将视频数据压缩到低维度潜在空间,再将其分解成时空补丁,从而实现视频到补丁的转化。
其中,在视频压缩上,该技术能够处理原始视频数据,并生成在时间和空间上都进行压缩的潜在表征,工作可参考**《Auto-encoding variational bayes》,https://arxiv.org/abs/1312.6114。**
Sora在这种压缩的潜在空间中接受训练,并能够生成新的视频内容。此外,我们还开发了一个解码器,能够将这些潜在表征还原为像素级的视频图像。
在补丁分解阶段,通过对压缩后的视频输入进行处理,能够提取出一系列的时空补丁,补丁在模型中扮演着类似于Transformer Tokens的角色,原理在于图像可以被视为单帧的视频。采用基于补丁的表现形式,Sora能够适应不同分辨率、持续时间及宽高比的视频和图像。
在生成新视频内容时,可以通过将这些随机初始化的补丁按照需要的大小排列成网格,来控制最终视频的大小和形式。
其中分解的工作,可以参考**《High-Resolution Image Synthesis with Latent Diffusion Models》,https://arxiv.org/abs/2112.10752**
二、知识图谱与多模态的结合工作
知识图谱(Knowledge Graphs, KGs)在推进各种人工智能应用方面发挥着关键作用,《Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey》(https://arxiv.org/pdf/2402.05391.pdf)该工作主要关注知识图谱驱动的多模态(KG4MM)学习、多模态知识图谱(MM4KG)。
对应的论文列表在:https://github.com/zjukg/KG-MM-Survey
1、MMKG的构建范式
MMKG构建范式主要包括两种,一个是用KG符号标注图像,另一个是将KG符号接地到图像上。
其中:
第一种范式优先考虑视觉实体/概念、关系和事件的提取,这对于动态创建KGs至关重要,例如场景和事件图谱。然而,这种方法在充分表示不常见的(即长尾)知识方面遇到了挑战,主要是由于在不同的上下文中反复描述常见的现实世界实体。监督方法的使用进一步加剧了这些挑战,因为它们本质上受到现有标签有限范围的限制。此外,该系统需要大量的预处理,包括制定特定规则,创建预定实体列表,以及应用预训练的检测器和分类器。
此外,目前大多数MMKG的典型构建范式是将KG符号与图像相结合,包括实体基础(即将实体与在线资源中的相应图像相关联、概念基础(即为视觉概念选择多样化的代表性图像并抽象共同的视觉特征)和关系基础(即选择在语义上反映输入三元组关系的图像)。
2、MMKG的演变过程
表III提供了各种mmkg的统计数据。
值得注意的是,一般意义上最早的MMKG可以追溯到ImageNet(2009),这是一种基于WordNet结构的大规模图像本体。尽管具有丰富的语义层次结构和数百万带注释的图像,但ImageNet作为一个A-MMKG,主要用于对象分类,其知识组件通常未得到充分利用。
NEIL通过关系提取、数据标记和分类器/检测器学习的循环从互联网构建视觉知识。然而,NEIL的可扩展性是有限的,因为它需要大量的计算来对2273个对象的400K个视觉实例进行分类,而典型的KGs需要数十亿个实例。
Visual Genome提供了对象、属性和关系的密集标注。然而,它主要帮助场景理解任务,如图像描述和问题回答。ImageGraph根植于Freebase,通过网络爬虫解析图像搜索结果并应用启发式数据清理规则(例如,重复数据删除和排序)进行组合,专注于对视觉概念进行推理,实现关系预测和多关系图像检索。
IMGpedia将Wikimedia Commons可视化数据与DBpedia元数据连接起来,代表了对mmkg的进一步扩展。IMGpedia强调视觉描述符和相似关系,支持视觉语义查询,但受其常识和百科知识范围的限制。
当前具有代表性的N-MMKG本体和使用这些本体的相应MMKG示例。
目前的kg感知理解和推理研究管道,通常包括四个关键阶段的知识整合。请注意,研究通常采用这些阶段中的一个或多个。
3、多模态知识图谱领域的分类
4、知识图谱与多模态学习集成的综合概述
5、多模态知识图谱的构建及其在下游多模态任务中的应用
总结
本文主要介绍了openai-sora的一些实现思路,回顾了文生视频的一些典型的技术演化,并对知识图谱与大模型的融合进行了论述,里面涉及到许多技术报告,可以进一步看看。
参考文献
1、https://openai.com/research/video-generation-models-as-world-simulators
2、https://www.zhihu.com/question/644473449/answer/3397947587
3、https://mp.weixin.qq.com/s/cIQEKt-6lFoN09Nt8izfsQ
4、https://mp.weixin.qq.com/s/KHAuNP_6pVrjlMDXWgn3-A
5、https://arxiv.org/pdf/2402.05391.pdf
关于我们
老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。
老刘说NLP,将定期发布语言资源、工程实践、技术总结等内容,欢迎关注。
对于想加入更优质的知识图谱、事件图谱、大模型AIGC实践、相关分享的,可关注公众号,在后台菜单栏中点击会员社区->会员入群加入。
更多AI工具,参考Github-AiBard123,国内AiBard123