媒体基础:打开多模态大模型的新思路
编者按:2023年是微软亚洲研究院建院25周年。25年来,微软亚洲研究院探索并实践了一种独特且有效的企业研究院的新模式,并以此为基础产出了诸多对微软公司和全球社会都有积极影响的创新成果。一直以来,微软亚洲研究院致力于创造具有突破性的技术。在人工智能时代,微软亚洲研究院将为计算新范式奠定基础,并为人工智能和人类发展创造更美好的未来。
借此机会,我们特别策划了“智启未来”系列文章,邀请到微软亚洲研究院不同研究领域的领军人物,以署名文章的形式分享他们对人工智能、计算机及其交叉学科领域的观点洞察及前沿展望。希望此举能为关注相关研究的同仁提供有价值的启发,激发新的智慧与灵感,推动行业发展。
我们希望人工智能能够像人类一样,从现实世界的视频、音频等媒介中获得知识和智能。为了实现这一目标,我们需要将复杂而含有噪音的现实世界,转化为能够捕获世界本质信息和动态变化的抽象表示。微软亚洲研究院正在探索多媒体与人工智能的协同发展,从对媒体基础(Media Foundation)的创新研究中找到新的突破口,这一探索将为多模态大模型的研究带来新的思路。
——吕岩,微软亚洲研究院全球研究合伙人
自1956年达特茅斯会议提出“人工智能”一词,人类足足用了近70年的时间,才积累了足够的技术和资源促成人工智能的爆发。而当我们跨过“临界点”,大语言模型(LLMs)在自然语言理解、语音识别、图像生成等方面展现出的一系列巨大进步令人目不暇接。随着 ChatGPT、DALL-E 等应用的出现,我们看到人工智能开始展现出更复杂的能力,比如观察、学习和理解真实世界,并进一步实现推理和创造。
如今我们对人工智能有了更高的期待。我们不仅希望人工智能能够进行创作,也希望它能如同人类一样,通过各种渠道从真实世界中获取知识、实现成长。然而人工智能与人类的认知能力还有很大的差距:人脑能够接收和解析物理世界的绝大多数现象,如视频、声音、语言、文字等,并将其抽象为可保存和积累的信息、知识或技能。而能完成通用任务的多模态人工智能模型,却还处在蹒跚学步的早期阶段。
我们希望人工智能能够从现实世界的数据中进行学习和迭代。然而如何在复杂且充满噪声的真实世界和人工智能所处在的抽象语义世界之间架起桥梁呢?是否可以为不同类型媒体信息构建与自然语言平行的,另一种可被人工智能学习理解的语言?我认为这是非常值得探索的方向。我和微软亚洲研究院的同事们正致力于从神经编解码器(Neural Codec)入手,构建一个全面的媒体基础(Media Foundation)框架,通过提取真实世界中不同媒体内容的表征,形成可被人工智能理解的语义,从而弥合真实世界与抽象语义之间的鸿沟,为多模态人工智能研究开启一扇新的大门。
打破复杂真实世界与抽象语义之间的壁垒
人类之所以能成为无出其右的卓越“学习者”,是因为人类能通过视觉、听觉、触觉和语言等多种方式来观察物理世界并与之互动,从中汲取广泛的技能和知识,从而不断提高我们的智能水平。我们希望能将人类的这一特征“复制”到人工智能身上,使其能够从丰富的真实世界数据中进行学习和迭代。
目前绝大多数人工智能大模型的基座模型都建立在大语言模型之上,通过抽象、紧凑的文本表达来获得对世界的认知。虽然人们陆续研发出针对不同媒体形式的预训练模型,但它们并不能充分反映真实世界的动态变化。来自物理世界的视频和音频信号是复杂且充满噪声的,我们需要找到一种有效方法,将其转换为能够捕获真实世界本质信息和动态变化的抽象表示。
过去一段时间,我和微软亚洲研究院的同事们一直在探索与大语言模型平行的人工智能发展之路。多媒体研究立足于捕捉、压缩、解释、重构和生成各种模态的媒体中的丰富信息,如图像、视频、音频和文本等,并自然而然地将复杂而嘈杂的真实世界转化为一种抽象表示。我们希望这种抽象表示具有三方面的特性:富有语义、紧凑的大小和信息的完整保留。如果能在该领域有所突破,是否就可以为视频、音频等多媒体信号和抽象且语义化的人工智能模型之间搭建桥梁?
于是我们产生了这样的想法:建立一个全面的媒体基础框架,通过神经编解码器,将不同模态的媒体信号转换为紧凑且语义化的表征标记,从而构建真实世界及其动态变化的抽象表示。
神经编解码器构建多媒体的抽象表示
我们构想的媒体基础由两个组件组成:在线媒体表征标记和离线基座模型。其中,在线媒体表征标记模型可以动态地将多媒体信息转换为紧凑抽象的语义表示,以供人工智能观察现实世界并与之交互。而离线基座模型可以由现实世界中提取的媒体表征标记来离线构建,并通过离线学习的知识预测动态变化。无论人工智能用来学习的是语言文本,还是音频或视频,尽可能实现无损的压缩都是其智能的源泉。
从本质上讲,整个媒体基础框架可被视为一种更广泛意义上的神经编解码器。对此我们设计了三个阶段的发展计划:首先,训练初始的编码器和解码器模型,学习每种模态的媒体表征;其次,为每种模态构建基座模型,并进一步优化编码器和解码器;第三,学习包括自然语言在内的跨模态关联,并构建最终的多模态基座模型。媒体的动态表征标记与多模态基座模型一起构成了我们的媒体基础,并为我们迈向多模态人工智能之路提供一种新的思路。
如前所述,抽象的语义表达更加紧凑和简洁,而视频和音频信号却复杂且含有噪声,我们的媒体基础框架是否能够将真实世界的动态变化进行高效且尽可能无损的压缩?至少此前我们所看到的多媒体编解码器都难以胜任这项工作。因此,我们认为当务之急是开发一个新的神经编解码器框架,用于高效构建视频、音频及其动态变化的抽象表示。
在过去的几年里,我和同事们一直致力于开发高效的神经音频/视频编解码器,并取得了令人兴奋的进展。在利用深度学习颠覆传统编解码器架构的同时,我们也实现了更低的计算成本及更优的性能。我们开发的神经编解码器的性能不仅超越了传统的编解码器,也显著优于现有的其它神经编解码器。
在神经音频编解码器方面,我们首次实现了 256bps 的高质量语音信号压缩,并在 256bps 的极低比特率下,通过信息瓶颈实现了解耦的抽象语义表征学习。其意义不仅在于多媒体技术层面——通过这一创新,我们能够利用捕捉到的音频表征来实现各种音频和语音任务,例如语音转换或语音到语音的翻译。
此外,我们还开发了 DCVC-DC(Deep Contextual Video Compression-Diverse Contexts) 神经视频编解码器。它可以将传统编解码中通过规则组合的不同模块和算法转换为深度学习的自动学习方式,有效利用不同的上下文来大幅提高视频压缩率,这使得它在性能上超越了此前所有的视频编解码器。由于构建全面、协同的媒体基础对神经视频编解码器带来了全新的挑战,我们正在对 DCVC-DC 进行深度改造。
探索隐文本语言之外的另一种可能性
我们开发的神经编解码器,本质上是通过从根本上改变对隐空间中的对象、动作、情绪或概念等不同类型信息的建模方式,让模型达到更高的压缩比。这对多模态大模型的意义在于,通过神经编解码器可以将视觉、语言和声音等信息转换为隐空间的神经表达——类似于自然语言处理中的抽象而紧凑的语义表征,但这些多媒体表征更符合自然规律,而且不局限于自然语言顺序的简单描述,能够支持更广泛的应用。
我们的探索验证了通过视频和音频构建全新的媒体基础的可行性,这为开发人工智能带来了全新的视角。虽然自然语言已被证明是构建人工智能的有效方法,但如果我们总是试图将复杂的多媒体信号转化成文本语言或与之相关联,不仅过于繁琐,还会限制人工智能的全面发展。相比之下,构建基于神经编解码器的媒体基础的思路可能更加有效。
当然,通过媒体基础和自然语言模型实现多模态大模型的方式虽然不同,但对于人工智能发展来说都有不可替代的价值。我们不妨将人工智能学习的多媒体表征看作是与自然语言并行的另一种“语言”。这样,大型多模态模型也可以被视为“大型多媒体语言模型”。我相信,神经编解码器的发展将成为媒体基础演进的巨大推动力,其包含的媒体基座模型与大语言模型将共同构建未来的多模态大模型,真正实现我们所期待的全方位、协同的多模态媒体基础与融合,从而更好地释放人工智能的潜力。
目前,我们仍在努力探索神经编解码器在隐空间中对多媒体信息的更多建模方法,全面、协同、融合的媒体基础作为我们的设想和判断,任何一个切入点都充满了无穷的可能。如果我们的这一设想能够为人工智能的进步带来一些激发灵感的星星之火,那对我们来说已经足以感到欣慰和自豪了!
相关论文
Disentangled Feature Learning for Real-Time Neural Speech Coding
论文链接:https://ieeexplore.ieee.org/abstract/document/10094723
Neural Video Compression with Diverse Contexts
论文链接:https://openaccess.thecvf.com/content/CVPR2023/papers/Li_Neural_Video_Compression_With_Diverse_Contexts_CVPR_2023_paper.pdf
本文作者
吕岩,微软亚洲研究院全球研究合伙人、多媒体计算方向负责人,领导团队从事多媒体通信、计算机视觉、语音增强、多模态信息融合、用户界面虚拟化及云计算等方向的关键技术研究。
自2004年加入微软亚洲研究院以来,吕岩和团队的多项科研成果和原型系统已转化至 Windows、Office、Teams、Xbox 等关键产品中。近年来,吕岩致力于推动基于神经网络的端到端多媒体处理与通信框架和多模态智能交互系统的研究突破。吕岩在多媒体领域发表学术论文100余篇,获得美国专利授权30余项,有多项技术被 MPEG-4、H.264、H.265 和 AOM AV-1 等国际标准和工业标准所采用,曾获国家技术发明二等奖。
相关文章:
媒体基础:打开多模态大模型的新思路
编者按:2023年是微软亚洲研究院建院25周年。25年来,微软亚洲研究院探索并实践了一种独特且有效的企业研究院的新模式,并以此为基础产出了诸多对微软公司和全球社会都有积极影响的创新成果。一直以来,微软亚洲研究院致力于创造具有…...
dubbo-admin安装
一、dubbo-admin安装 1、环境准备 dubbo-admin 是一个前后端分离的项目。前端使用vue,后端使用springboot,安装 dubbo-admin 其实就是部署该项目。我们将dubbo-admin安装到开发环境上。要保证开发环境有jdk,maven,nodejs 安装no…...
Kaggle - LLM Science Exam(三):Wikipedia RAG
文章目录 一、赛事概述1.1 OpenBookQA Dataset1.2 比赛背景1.3 评估方法和代码要求1.4 比赛数据集1.5 优秀notebook 二、 [EDA, Data gathering] LLM-SE ~ Wiki STEM | 1k DS2.1 Data overview2.2 Data gathering 三、如何高效收集数据3.1 概述3.2 与训练数据关联的维基百科类别…...
【机器学习】PyTorch-MNIST-手写字识别
文章目录 前言完成效果一、下载数据集手动下载代码下载MNIST数据集: 二、 展示图片三、DataLoader数据加载器四、搭建神经网络五、 训练和测试第一次运行: 六、优化模型第二次优化后运行: 七、完整代码八、手写板实现输入识别功能 前言 注意…...
玩转代码| Vue 中 JSX 的特性,这一篇讲的明明白白
目录 什么时候使用JSX JSX在Vue2中的基本使用 配置 文本插值 条件与循环渲染 属性绑定 事件绑定 v-show与v-model 插槽 使用自定义组件 在method里返回JSX JSX是一种Javascript的语法扩展,即具备了Javascript的全部功能,同时又兼具html的语义…...
(vue)el-descriptions 描述列表无效
(vue)el-descriptions 描述列表无效 原因:element 的版本不够 解决:运行下面两个命令 npm uninstall element-ui //卸载之前安装的版本 npm i element-ui -S //重新安装解决参考:https://blog.csdn.net/weixin_59769148/article/details/1…...
ios 苹果手机日期格式问题
目录 问题解决其他 问题 ios 无法识别的时间戳格式:2023-10-17 11:10:49 可识别的: 2023/10/17 11:10:49 解决 const startTime 2023/10/17 11:10:49 startTime.replace(/-/g, /)// 获取时间差值 export const useDateDiff (startTime , endTime …...
学习嵌入式系统的推荐步骤:
学习嵌入式系统的推荐步骤: 00001. 选择一款Linux发行版作为主要操作系统,如RedHat、Ubuntu、Fedora等。进入Linux后,使用终端进行任务操作。建议不要使用虚拟机,如有需要可考虑双系统安装。 00002. 00003. 学习C语言、数…...
勒索病毒LockBit2.0 数据库(mysql与sqlsever)解锁恢复思路分享
0.前言 今天公司服务器中招LockBit2.0勒索病毒,损失惨重,全体加班了一天基本解决了部分问题,首先是丢失的文件数据就没法恢复了,这一块没有理睬,主要恢复的是两个数据库,一个是16GB大小的SQLserver数据库&…...
超简单小白攻略:如何利用黑群晖虚拟机和内网穿透实现公网访问
文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…...
Ubuntu 16.04 LTS third maintenance update release
Ubuntu 16.04 LTS (Xenial Xerus)今天迎来的第三个维护版本更新中,已经基于Linux Kernel 4.10内核,而且Mesa图形栈已经升级至17.0版本。Adam Conrad表示:“像此前LTS系列相似,16.04.3对那些使用更新硬件的用户带来了硬件优化。该版…...
Java学习_day01_hello java
构成 JDK JDK是java开发者工具,由JRE和一些开发工具组成。JRE JRE是java运行环境,由JVM和java核心类库组成。JVM JVM是java虚拟机,主要用来运行字节码。 执行过程 由IDE或文本编辑器,编写源代码,并将文件保存为*.ja…...
UnitTesting 单元测试
1. 测试分为两种及详细介绍测试书籍: 1.1 Unit Test : 单元测试 - test the business logic in your app : 测试应用中的业务逻辑 1.2 UI Test : 界面测试 - test the UI of your app : 测试应用中的界面 1.3 测试书籍网址:《Testing Swift》 https://www.hackingwithswift.c…...
C++内存管理:其五、指针类型转换与嵌入式指针
一、内存池的缺陷 作者在上一版本里面介绍了链表实现内存池,其中有一个小缺陷:虽然较少了cookie的内存损耗,但是加入了一个额外的指针,仍然需要占用内存。我们仔细看内存池的设计思想,可以发现一个关键点:…...
常见锁的分类
入职体验: 今天运维岗位刚入职,但是目前还没有办理入职手续,但是领导发了一堆资料!看了一下,非常多的新东西,只能说努力一把!!! 一、锁的分类 1.1 可重入锁、不可重入锁…...
vue 鼠标划入划出多传一个参数
// item可以传递弹窗显示数据, $event相关参数可以用来做弹窗定位用 mouseover"handleMouseOver($event, item)" mouseleave"handleMouseLeave($event, item)"举个栗子: 做一个hover提示弹窗组件(用的vue3框架 less插件) 可以将组件…...
svn项目同步到gitLab
安装git 确保安装了git 新建一个文件夹svn-git 在文件夹中新建userinfo.txt文件,映射svn用户,这个文件主要是用于将SVN用户映射为Git用户(昵称及其邮箱)。 userinfo.txt具体格式如下: admin admin <admin163.com> lis…...
图解Dubbo,Dubbo 服务治理详解
目录 一、介绍1、介绍 Dubbo 服务治理的基本概念和重要性2、阐述 Dubbo 服务治理的实现方式和应用场景 二、Dubbo 服务治理的原理1、Dubbo 服务治理的架构设计2、Dubbo 服务治理的注册与发现机制3、Dubbo 服务治理的负载均衡算法 三、Dubbo 服务治理的实现方式1、基于 Docker 容…...
Css 如何取消a链接点击时的背景颜色
要取消 <a> 链接点击时的背景颜色,可以使用 CSS 的伪类 :active。你可以通过为 a:active 应用 background-color 属性设置为 transparent 或者 none,来取消点击时的背景色。下面是一个示例: a:active {background-color: transparent;…...
1.16.C++项目:仿muduo库实现并发服务器之HttpContext以及HttpServer模块的设计
文章目录 一、HttpContext模块二、HttpServer模块三、HttpContext模块实现思想(一)功能(二)意义(三)接口 四、HttpServer模块实现思想(一)功能(二)意义&#…...
ABAP 新增PO计划行时 新增行交货日期默认当前最大交期
ABAP 新增PO计划行时 新增行交货日期默认当前最大交期 DATA: ls_poitem TYPE mepoitem. DATA: ls_jhh TYPE meposchedule. DATA: ls_poitemc TYPE REF TO if_purchase_order_item_mm. DATA: is_persistent TYPE mmpur_bool. DATA: lt_eket TYPE TABLE OF eket. DATA: ls_e…...
VSCode怎么创建Java项目
首先安装好Java的开发环境:JDK在VSCode中安装适用于Java开发的插件。打开VSCode,点击左侧的扩展图标,搜索并安装Java Extension Pack插件。等待安装完成后,重启VSCode生效。创建一个新的Java项目,按下Ctrl Shift P&a…...
软件工程与计算(十四)详细设计中面向对象方法下的模块化
一.面向对象中的模块 1.类 模块化是消除软件复杂度的一个重要方法,每个代码片段相互独立,这样能够提高可维护性。在面向对象方法中,代码片段最重要的类,整个类的所有代码联合起来构成独立的代码片段。 模块化希望代码片段由两部…...
商城免费搭建之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c
1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…...
python教程:selenium WebDriver 中的几种等待
嗨喽,大家好呀~这里是爱看美女的茜茜呐 强制等待:sleep() import time sleep(5) #等待5秒设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。 缺点: 不智能,使用太多的sleep会影响脚本运行速度。…...
【MATLAB源码-第49期】基于蚁群算法(ACO)算法的栅格路径规划,输出最佳路径图和算法收敛曲线图。
操作环境: MATLAB 2022a 1、算法描述 蚁群算法是一种模拟自然界蚂蚁觅食行为的启发式优化算法。在蚁群系统中,通过模拟蚂蚁之间通过信息素沟通的方式来寻找最短路径。 在栅格路径规划中,蚁群算法的基本步骤如下: 1. 初始化: …...
LabVIEW生产者消费者架构
LabVIEW生产者消费者架构 生产者/消费者模式可以轻松地同时处理多个进程,同时还能以不同速率迭代。 缓冲通信 当多个进程以不同速度运行时,就适合采用进程间缓冲通信。有了足够大的缓冲区后,生产者循环可以以快于消费者循环的速度运行&…...
成都瀚网科技:如何有效运营抖店来客呢?
随着电子商务的快速发展和移动互联网的普及,越来越多的企业开始将目光转向线上销售渠道。其中,抖音成为备受关注的平台。作为中国最大的短视频社交平台之一,抖音每天吸引数亿用户,这也为企业提供了巨大的商机。那么,如…...
iMazing2.17.3免费苹果手机备份还原助手
强大的 iOS 设备管理软件不管是 iPhone、iPad 或 iPod Touch 设备,只要将 iOS 设备连接到计算机,就可以处理不同类型的数据。iMazing 功能强大、易于使用,可以帮助您安全备份任何 iPhone、iPad 或 iPod Touch,备受用户信赖。 现在…...
sql查询到了数据但是实体类个别字段为null(映射失败)
参考博客: sql查询到了数据但是实体类个别字段为null(映射失败)_sql语句查到值,加字段!null没值-CSDN博客 问题描述: 1.SQL查询到了数据,在idea调试output控制台窗口打印出SQL语句,字段有值; 2.接收实体对象字段无…...
网站建设中/windows优化大师免费
配置项 全局配置项 我们来看下全局配置项有哪些。在学习具体的配置项之前,先来看下pyecharts生成的图由哪几个部分组成。 针对以上每个部分,都有相应的配置项来进行配置。所有的配置类,都是放到pyecharts.options中。 InitOpts:初始化配置项 可以配置诸如图像宽度,高…...
芜湖营销型网站建设/免费html网站模板
Python笔记-爬取Boss直聘的招聘信息 最近迷上了爬虫,爬取招聘信息,存在MongoDB上 代码思路和上一篇爬取酷狗TOP500差不多,但是在使用CSS选择器的时候,有两组信息是连在一起,所以使用正则来获取 本来使用串行爬取完美…...
网站搭建就来徐州百度网络非常好/如何在百度上推广自己
用了 Docker,好处挺多的,但是有一个不大不小的问题,它会一不小心占用太多磁盘,这就意味着我们必须及时清理。作为一个有信仰的技术公司,我们Fundebug的后台采用了酷炫的全 Docker 化架构,所有服务ÿ…...
axsure建设网站/cpa广告联盟平台
SharedPreferences是Android平台上一个轻量级的存储类,提供了Android平台常规的Long、Int、String等等类型的保存,可以设置权限来限定使用起来很简单。存储的数据会以XML文件的形式保存在/data/data/工程名/shared_prefs/ 目录下。 Application是用来保存全局变量的…...
微信怎么做一些微网站/没经验怎么开广告公司
因为项目的需求,需要对应国际化语言,所以使用native2ascii命令来转换。 环境:Mac OSJDK版本:1.8工具:iTerm native2ascii简介 用来将别的文本类文件(比如*.txt,.ini,.properties,*.java等等)…...
网站建设 技术要求/品牌管理
我正在使用Apache-Commons FileUpload库将文件上传到服务器.一切正常,但是突然提交文件时,由于某些原因FileItem.isFormField()返回true.这是我的代码FileUpload.java Servletif (ServletFileUpload.isMultipartContent(request)){List items new ServletFileUpload(new DiskF…...