正确看待OpenAI大模型Sora

    2月16日凌晨,OpenAI发布了文生视频模型Sora。官方是这样描述的:Sora is an AI model  that can create realistic and imaginative scenes from text instructions.Sora一个人工智能模型,它可以根据文本指令创建逼真和富有想象力的场景。Sora能够在同时保持视觉质量和遵循用户提示的情况下,生成长达一分钟的视频。Sora 与 ChatGPT 一样采用 Transformer 架构,并使用了 DALL-E 3 中的重述技术。除了文本生成视频之外,Sora 还能根据图像生成视频,并能准确地对图像内容进行动画处理。也能提取视频中的元素,对其进行扩展或填充缺失的帧。

    几乎在同一时间,OpenAI也发布了关于Sora相关的技术报告:《Video generation models as world simulators》视频生成模型:构建虚拟世界的模拟器,这篇技术报告的侧重点在于将所有类型的视觉数据转化为统一表示的方法,该方法能够对生成模型进行大规模训练,以及对Sora的能力和局限性进行定性评估,而Sora的模型和实现细节未包含在报告中。

     很多的权威媒体或自媒体过分夸大了“Sora的威力”,各种标题党层出不穷,但我认为Sora到目前为止仅为视频生成提供一种新的解决方案,就像ChatGPT,将来作为一种工具服务于人类,而不必过分夸大。对于所处这个行业的技术人员,应该跟随这个趋势,研究Sora的内涵,追赶前沿技术。

     具体的我们看一下报告的内容。报告中指出,人们已经使用各种方法研究了视频数据的生成建模,包括循环网络(recurrent networks)、生成对抗网络(generative adversarial networks)、自回归变换器(autoregressive transformers)和扩散模型(diffusion models)。这些工作通常集中在视觉数据的狭窄类别、较短的视频或固定大小的视频上。Sora是一个视觉数据的通用模型——它可以生成跨越不同时长、宽高比和分辨率的视频和图像,最长可达一分钟的高清视频。以下为报告引用的一些学术研究文章。

    我们来看看文生视频的原理:

1.将视觉数据转化为图块(patch)

我们从大型语言模型中获得灵感,这些模型通过在互联网规模数据上训练获得通用能力。大型语言模型的成功在一定程度上得益于使用能够统一文本的多样化(如代码、数学和各种自然语言)的标记。在这项工作中,我们考虑视觉数据的生成模型如何继承这些优势。与大型语言模型拥有文本标记一样,Sora拥有视觉图块。先前的研究已经表明,图块是视觉数据模型的一种有效表示。我们发现,图块是一种高度可扩展且有效的表示,用于在各种类型的视频和图像上训练生成模型。

参考文献如下:

2.训练一个降低视觉数据维度的网络

3.时空潜在图块处理

基于patch,使得Sora能够训练不同分辨率、持续时间和宽高比的视频和图像。在推理时,通过在适当大小的网格中排列随机初始化的patches来控制生成视频的大小。

在图像和视频生成的早期方法中,通常会将视频调整大小、裁剪或修剪到标准大小——例如,4秒长的视频,分辨率为256x256。但是如果直接在原始数据上进行训练有几个好处:

(1)采样灵活性

Sora能够采样宽屏1920x1080p视频、竖屏1080x1920p视频以及介于两者之间的所有内容。它还允许我们在生成全分辨率内容之前,快速原型设计较小尺寸的内容——所有这些都使用同一个模型。

(2)提高了构图和布局

通过实证发现,在其原生宽高比上训练视频能够改进构图和布局。将Sora与模型的另一个版本进行比较,该版本将所有训练视频裁剪为正方形,这是训练生成模型时的常见做法。在正方形裁剪上训练的模型(左侧)有时会生成主题只部分可见的视频。相比之下,Sora的视频(右侧)具有改进的构图。

4.语言理解

训练文本到视频生成系统需要大量带有对应文本标题的视频。Sora应用了在DALL-E 3中引入的重新标题技术(re-captioning technique)到视频上。首先训练一个高度描述性的标题生成模型,然后使用它为我们训练集中的所有视频生成文本标题。基于高度描述性视频标题的训练提高了文本保真度以及视频的整体质量。

Sora除了能够实现文本到视频的输出,也可以通过其他输入,如预先存在的图像或视频,来进行提示。这种能力使得Sora能够执行广泛的图像和视频编辑任务——创建完美循环的视频、为静态图像添加动画、向前或向后扩展视频等。

挑选了官网有意思的两个demo,其一个视频截图体现了视频连接:

另外一个视频体现了视频编辑:

当然Sora目前还存在许多局限性。例如,它不能准确地仿真许多基本交互的物理,如玻璃破碎。其他交互,如吃食物,并不总是产生正确的物体状态变化。报告中也列举了模型的其他常见失败模式——例如,长时间样本中发展出的不连贯性或物体的自发出现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/472139.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++之function和bind详解-SurfaceFlinger学习必备语法基础

背景 C中的function和bind是为了更方便地进行函数对象的封装和调用而设计的,在SurfaceFlinger源码中也是有很多使用部分。 比如分析Vsync相关源码时候有相关回调时候 可以看到这里的mRegistration就有个参数是 std::bind,怎么这里就可以进行回调呢? 所…

【机器学习笔记】7 KNN算法

距离度量 欧氏距离(Euclidean distance) 欧几里得度量(Euclidean Metric)(也称欧氏距离)是一个通常采用的距离定义,指在𝑚维空间中两个点之间的真实距离,或者向量的自然长度(即该点…

C语言指针(初阶)

文章目录 1:内存与地址1.1内存1.2:如何理解编址 2:指针变量与地址2.1:指针变量与解引用操作符2.1.1:指针变量2.1.2:如何拆解指针类型2.1.3:解引用操作符 2.2:指针变量的大小 3:指针变量类型的意义代码1解引用修改前解引用修改后 代码2解引用修改前解引用修改后 4:const修饰指针…

算法刷题:和为s的两个数

和为s的两个数 .题目链接题目详情算法原理我的答案 . 题目链接 和为s的两个数 题目详情 算法原理 这里我们是利用单调性来使用双指针的对撞指针来解决问题 因为数组给的是有序递增的,因此我们设置两个指针left和right来解决问题,当nums[left]与nums[right]相加会有三种情况:…

写一个程序,输入数量不确定的[0,9]范围内的整数,统计每一种数字出现的次数输入-1表示结束

#include <stdio.h> int main(void) {int x;int count[10];int i;for(i0;i<10;i){//初始化数组 count[i]0;}scanf("%d",&x);while(x!-1){if( x>0 && x<9){count[x];//数组参与运算 }scanf("%d",&x);}for(i0;i<10;i){pr…

复习基础知识1

局部变量 写程序时&#xff0c;程序员经常会用到局部变量 汇编中寄存器、栈&#xff0c;可写区段、堆&#xff0c;函数的局部变量该存在哪里呢&#xff1f; 注意&#xff1a;局部变量有易失性 一旦函数返回&#xff0c;则所有局部变量会失效。 考虑到这种特性&#xff0c;人们…

同学,请实现一个扫码登录

马上要到春节了&#xff0c;小伙伴们的公司是不是已经可以申请请假调休呢&#xff1f;虽然今年刚入职没有年假(好像国家不是这么规定的&#xff0c;但也不好跟公司硬杠)&#xff0c;大小周的我已经攒了 7 天调休&#xff0c;也可以提前回家过年啦&#xff01; 即使是年底&…

悦纳自己:拥抱个人局限,开启成长之旅

悦纳自己&#xff1a;拥抱个人局限&#xff0c;开启成长之旅 在人生的旅途中&#xff0c;我们每个人都会面临无数的挑战和选择。有时我们会因为这些挑战而感到焦虑和不安&#xff0c;因为我们害怕失败&#xff0c;害怕无法达到预期的目标。然而&#xff0c;真正重要的是我们如何…

Java学习笔记------static

static 创建Javabean类 public class student {private int age;private String name;private String gender;public student() {}public student(int age, String name, String gender) {this.age age;this.name name;this.gender gender;}/*** 获取* return age*/public…

C语言—for循环(1)

for 语句在语法格式上&#xff0c;降低了提供循环结构时&#xff0c;遗忘循环三要素的几率。 for语句的应用场景&#xff1a;对循环次数预先可以获知的情况&#xff0c;如果预先无法获知次数时&#xff0c;推荐使用while语句 1.当型循环:(while) 特点&#xff1a; 先判断后执行…

【C语言期末项目-通讯录】-终级版本-可动态申请内存、可存储数据到文件(手把手详细过程,期末评分A+的项目,答辩辅助神博文,建议三连点赞收藏)

目录 ​编辑 前言&#xff1a; 1.项目功能需求分析 2.文件框架说明 3.程序主框架实现 4.创建联系人结构体类型和通讯录结构体类型 4.1创建通讯录 5.程序功能实现--封装功能函数实现不同功能 5.1通讯录初始化 5.2增加联系人 5.3显示所有联系人的信息 5.4删除指定…

基于Java springmvc+mybatis酒店信息管理系统设计和实现

基于Java springmvcmybatis酒店信息管理系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取…