赞
踩
注意:sora虽然未开源,但这个系列是学习常见text-to-video模型背后的原理。
Sora能力总结:
2023年是AI生成视频技术爆炸性发展的一年。这些视频剪辑生成模型关注时间一致性、内容控制和视频长度。
来源:https://briansolis.com/2024/01/generative-insights-in-ai-january-5-2024/
2024开年发布的Sora模型是OpenAI推出的首款AI视频模型,它代表了AI视频工具领域的一个重要进步。
Sora模型的一个重要特点是它能够生成长达一分钟的连贯视频,这是一个显著的进步。对于短视频来说已经是一个完整的时长,而对于其他AI视频工具来说,3秒的视频长度可能连视频素材的门槛都未达到。Sora的出现,使得从图文工作者无缝切换为视频工作者的目标更近了一步,因为它可以直接根据脚本生成成品视频。
总的来说,Sora模型的发布标志着AI视频生成领域的一次重大飞跃,它为视频内容的生产和创作提供了新的可能性
优点:
缺点:Sora对物理规律的理解仍然十分有限
Openai在Sora论文的摘要结尾指出:Our results suggest that scaling video generation models is a promising path towards building general purpose simulators of the physical world.
openai希望Sora模型能够真正理解物理世界。
Sora发表文献:
https://openai.com/research/video-generation-models-as-world-simulators
Sora模型训练流程一句话:就是将高维视频降维到低维数据加上文本编码,再还原回高维视频的过程。
但Sora的很多技术并非原创,而是整合了很多前人的研究成果。
NxHxW是描述一个多维数组或张量(Tensor)维度大小的常见表示方式,特别是在计算机视觉和机器学习领域。这里的N、H和W分别代表不同的维度,具体含义如下:
例如,如果一个张量的维度表示为10x128x128,那么这意味着:
这种表示方法有助于快速理解数据或模型输入的形状和大小,对于进行深度学习模型设计和调试非常重要。
将NxHxW的帧图像通过编码器切分,得到Patches,将patches展开(flatten)为一维向量。
"Spatial Temporal Patch"可能是指“Spatiotemporal Patch Shift (TPS)”方法,这是一种用于视频基础的动作识别的3D自我注意力建模方法。这个方法是为了解决在视频数据上直接应用时空变压器所带来的计算和内存负担。它通过在时间维度上以特定的马赛克模式移动部分补丁,将标准的空间自我注意力操作转换为时空操作,几乎不增加额外的成本。因此,可以以与2D自我注意力几乎相同的计算和内存成本来计算3D自我注意力。这个方法作为即插即用的模块,可以插入到现有的2D变压器模型中,以增强时空特征学习。它在Something-something V1 & V2、Diving-48和Kinetics400上的表现与最先进的方法相当,同时在计算和内存成本上更为高效。
目前所采用的扩散模型大都是来自于2020年的工作DDPM: Denoising Diffusion Probabilistic Models,DDPM对之前的扩散模型(具体见Deep Unsupervised Learning using Nonequilibrium Thermodynamics)进行了简化,并通过变分推断(variational inference)来进行建模,这主要是因为扩散模型也是一个隐变量模型(latent variable model),相比VAE这样的隐变量模型,扩散模型的隐变量是和原始数据是同维度的,而且推理过程(即扩散过程)往往是固定的。
来源:扩散模型之DDPM
对图片加噪点,让图片逐渐变成纯噪点图;再让 AI 学习这个过程的逆过程,也就是如何从一张噪点图得到一张有信息的高清图。这个模型就是 AI 绘画中各种算法,如Disco Diffusion、Stable Diffusion中的常客扩散模型(Diffusion Model)。
来源:Papers with Code - Denoising Diffusion Probabilistic Models
如下图,训练时使用真实的狗狗图片,经过扩散和反扩散生成AI版狗狗图片
来源:The two models fueling generative AI products: Transformers and diffusion models
U-net是一种卷积神经网络(CNN),最初是为了医学图像分割而设计的。
它的特点是具有对称的“U”形结构,左侧是收缩路径(编码器),右侧是扩张路径(解码器)。
U-net在编码器和解码器之间使用了跳跃连接,使得模型能够保留更多的位置信息,这对于图像分割非常重要。
U-net可以作为Diffusion模型中的去噪网络。在Diffusion模型中,去噪过程涉及到逐步恢复数据的过程,U-net由于其特殊的结构和跳跃连接,能够有效地恢复图像的细节和结构信息,因此在某些Diffusion模型中,U-net被用作去噪网络。
U-net主要用于图像分割等像素级别的预测任务,而Diffusion模型是一种生成模型,用于生成新的图像或其他类型的数据。
U-net的结构是固定的,而Diffusion模型的结构更加灵活,可以使用不同的去噪网络。
来源:Papers with Code - U-Net: Convolutional Networks for Biomedical Image Segmentation
来源:Papers with Code - High-Resolution Image Synthesis with Latent Diffusion Models
Latent Diffusion Models (LDMs) 是一类特殊的Diffusion Models,它们在一个压缩的潜在空间内操作,而不是直接在数据的原始空间内。这种方法使得模型能够以更高的效率和较低的计算成本生成高质量的图像、文本或其他类型的数据。LDM通过学习潜在空间中的数据分布,然后应用扩散过程来生成或编辑数据。
Latent Diffusion Models的开发提供了一种新的视角来看待和解决生成模型中的效率和质量问题,特别是在处理高分辨率图像和复杂数据结构时。通过在潜在空间内操作,LDMs展现了在保持生成内容质量的同时减少计算资源需求的潜力。
来源:复刻Sora有多难?一张图带你读懂Sora的技术路径-阿里云开发者社区
OpenAI发布的视频生成模型Sora,具备生成高保真视频的能力,是构建物理世界通用模拟器的一种可能路径。Sora的技术架构包括视频压缩网络、用于视频生成的Scaling Transformers、语言理解以及涌现的模拟能力。该模型的实现基于OpenAI的历史技术工作,如视觉理解、Transformers模型和大模型的涌现、Video Caption等。
einops是一个用于操作张量的库,它的出现可以替代我们平时使用的reshape、view、transpose和permute等操作einops支持numpy、pytorch、tensorfrflow等。
来源:Papers with Code - An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
ViT的应用:Papers with Code - Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text
ViT在线运行示例:https://colab.research.google.com/github/SiYangming/sora-tutorial/blob/main/docs/chapter2/chapter2_3/ViT-BestPractice.ipynb
Sora通过创新的时空patches和灵活的建模将静态图像转换为逼真的视频
参考:https://towardsdatascience.com/explaining-openai-soras-spacetime-patches-the-key-ingredient-e14e0703ec5b
摊大饼法:从输入视频剪辑中均匀采样 n_t 个帧,使用与ViT相同的方法独立地嵌入每个2D帧(embed each 2D frameindependently using the same method as ViT),并将所有这些token连接在一起
将输入的视频划分为若干tuplet,每个tuplet会变成一个token;
经过Spatial Temperal Attentioni进行空间/时间建模获得有效的视频表征token,即上图灰色block。
时空patches联合建模是 Sora 的核心创新,它建立在 Google DeepMind 对 NaViT 和 ViT 的早期研究之上,使模型能够灵活地有效处理视觉数据,而无需调整大小或填充。
ViViT基于纯变压器的视频模型分类,借鉴了ViT图像分类中取得的成功。 ViViT从输入视频中提取时空标记,然后由一系列转换器层进行编码。
来源:Papers with Code - ViViT: A Video Vision Transformer
SORA 支持不同长度、不同分辨率的输入:NaViT多个patchesa打包成一个单一序列实现可变分辨率–》使用不同分辨率、不同时长的视频进行训练保证推理时在不同长度和分辨率上的效果–》带来大量的计算负载不均衡–》可能使用Googlef的NaVit相关技术降低计算量支持动态输入
来源:Papers with Code - Patch n’ Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution
质量训练数据的作用:Sora 利用庞大且多样化的训练数据集,其中包含不同长度、分辨率和长宽比的视频和图像,使其能够理解复杂的动态并生成多样化的高质量内容。
视频压缩网络类比于Latent Diffusion Model中的VAE,但压缩率是多少,Encoder的复杂度、时空交互的range还需要进一步的探索和实验。
Peebles 在ICCV上发表了一篇 Dit 的工作该文章在 Technical Report的 Reference中给出:结合 Diffusion Model 和 Transformer,通过 Scale up Model 提升图像生成质量图像的scaling技术运用到视频场景非常直观,可以确定是 SORA 的技术之一,训练算力Scale up后视频生成质量有所提升。
Diffusion Transformer, DiT=VAE encoder + ViT + DDPM + VAE
DiT 利用 transformer 结构探索新的扩散模型,成功用 transformer 替换 U-Net 主干
来源:Papers with Code - Scalable Diffusion Models with Transformers
网络结构:Diffusion Transformer,DiT
训练数据:OpenAI 使用类似 DALLE3 的Cationining 技术,训练了自己的 Video Captioner,用以给视频生成详尽的文本描述。
保证视频一致性:模型层不通过多个 Stage 方式来进行视频预测,而是整体预测视频的 Latent,在训练过程中引入 Auto Regressive的task,帮助模型更好地学习视频特征和帧间关系。
来源:Papers with Code - Photorealistic Video Generation with Diffusion Models
网络结构:DALLE 2
来源:Papers with Code - Hierarchical Text-Conditional Image Generation with CLIP Latents
杨知铮老师的思考:
SORA的启发:
[1] 一文看Sora技术推演.阿里CV算法专家
[2] OpenAI王炸模型引爆科技圈,我们第一时间深读了官方技术报告.腾讯科技
[3] 魔搭社区基于ViT的扩散模型技术的开源教程: https://mp.weixin.qq.com/s/LQGwoU6xZJftmMtsQKde_w
[4] 复刻Sora有多难?一张图带你读懂Sora的技术路径.modelscope成晨
[5] https://datawhaler.feishu.cn/wiki/RKrCw5YY1iNXDHkeYA5cOF4qnkb?fromScene=spaceOverview#GWt8dCJcVodY0Nx6BdNcx2ohnif
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。