让多个模型达成迭代共识,MIT &谷歌新方法激发模型「群体智慧」

简介: 让多个模型达成迭代共识,MIT &谷歌新方法激发模型「群体智慧」

在给定一组大型预训练模型的情况下,如何利用来自不同模型的专家知识来解决零样本多模态任务,并能同时解决图像生成、视频问答、小学数学和机器人操作等任务?来自 MIT CSAIL 和谷歌大脑的研究者在这篇论文中给出了他们的解决方案。

 

目前大型预训练模型已经在不同领域显示出了显著的零样本泛化能力:从零样本图像生成、自然语言处理到机器推理、动作规划。这些模型使用来自互联网的大型数据集进行训练,这些数据集的规模通常达到数十亿。


单个预训练模型会攫取互联网知识的不同方面,其中语言模型(LM)挖掘新闻、文章和维基百科页面中的文本信息,视觉语言模型(VLM)对视觉和文本信息之间的映射进行建模。虽然希望建立能够捕捉互联网数据所有可能模式的预训练模型,但这样一个全面的模型很难获得和维护,需要大量的内存、大量的精力、数月的训练时间和数百万(或千万)美元。


在这种情况下,一种扩展性更强的替代方法是将不同的预训练模型组合在一起,利用来自不同专家模型的知识来解决复杂的多模态任务。构建用于组合多个模型的统一框架面临很大的挑战,Alayrac 等人之前的工作已经探索了构建预训练模型的两种主要方式:在大型数据集上联合微调模型或者使用通用接口(如语言)组合不同的模型。

 

但是,这些工作有几个关键限制。首先,简单地组合模型并不能充分利用每个预训练模型,因为模型之间没有闭环反馈。级联模型,如 Socratic 模型,允许单向通信,但防止后期模型处理的信息传播回早期模型以纠正错误。其次,通用接口仅限特定类型的模型。在 Socratic 模型中,语言被用作中间连接,但语言接口不足以解决许多现实世界的任务,例如需要连续表示的连续机器人控制。此外,Socratic 模型需要预先设计的语言模板用于模型之间的通信,这限制了可扩展性。第三,联合微调多个模型需要仔细优化,以确保模型行为保持稳定。这种模型还需要大量内存和大数据集,并且只能用于解决特定任务。


为了解决这些困难,来自 MIT CSAIL 和谷歌大脑的研究者提出了一个统一的框架,在没有任何训练 / 微调的情况下,以零样本方式构建模型。



论文地址:https://arxiv.org/pdf/2210.11522.pdf


他们的框架使用单个模型作为生成器和评分器。生成器迭代地生成答案,每个评分器提供反馈分数,表示它们的意见。生成器细化其输出,直到所有评分器达成共识。生成器和评分器之间的这种迭代闭环通信使模型能够纠正由其他模型引起的错误,从而大大提高性能。


动态流程展示图。


下图 1 为框架。


 

集体评分器的灵感来源于「群体智慧」的理念。每个评分器都向生成器提供反馈,以弥补其他评分器的潜在弱点,如视觉语言评分器可以纠正语言模型的偏差。当来自同一系列的不同预训练模型实例具有不同的输出,这会生成更稳健的评分器。作者已经证明,用这样一组评分器引导生成器显著优于由单个评分器指导的生成器。

 

这些观察结果表明,作者所提出的方法作为一个通用框架的有效性,可以用于构建解决各种零样本多模态任务的预训练模型。



方法概览


作者的目标是在给定一组大型预训练模型的情况下,利用来自不同模型的专家知识来解决零样本多模态任务。他们将预训练模型分为了两类,即生成器(G)如 GPT 和可以生成候选解的扩散模型,以及评分器(E)如 CLIP 和可以输出标量分数以评估每个生成解的分类器。


作者提出了 PIC(通过迭代共识合成预训练模型的集合),这是一个为多模态任务合成预训练模型集合的框架。PIC 的核心思想是通过迭代优化生成解,在迭代优化中利用来自不同模型的知识共同构建共识解。在 PIC 中,生成器 G 迭代并顺序地生成候选解,每个候选解都基于来自一组评分器的反馈进行细化。特别地,作者寻求一个解 x^∗,使得


 

其中 {En} 是评分器的集合。在每一次迭代中,作者对解进行细化,使其得分低于前一次迭代。方程(1)中描述的过程收敛到一个解,该解可使多个预训练模型的能量最小化,从而最大化生成器和评分器之间的一致性。与 Socratic 模型不同,不同的预训练模型被顺序调用,通过闭环迭代细化,可以获得 x^∗ 使生成器和评分器能够相互通信,对最终解达成一致。


接下来作者展示了 PIC 如何广泛应用于图像生成、视频问答、小学数学和机器人操作等任务。为了优化方程(1),作者考虑了两种不同的优化过程:1) 利用每个评分器 E_n(x)的梯度的连续方法;2)直接采样可能解的离散方法。



实验结果

 

作者对所提框架在四个代表性任务上合成预训练模型进行了评估,它们分别是图像生成、视频问答、小学数学和机器人操作。


图像生成

 

下表 1 是在 ImageNet 上的零样本图像生成的评估。合成多个评分器进一步提高了性能。



视频问答

 

作者在 ActivityNet QA 上将 PIC 与 SOTA VQA 方法之一 JustAsk 进行比较。在下表 2 中,JustAsk(FT)在 ActivityNetQA 上进行了微调,从而获得了最佳结果。对于零样本 VQA,作者的方法(PIC)明显优于 JustAsk(预训练)。使用多个评分器可以进一步提高性能。


 

在下图 3 中,作者展示了给定视频(仅显示单个视频帧)和问题情况下不同方法生成的答案。作者的方法成功地识别了性别和服装,但在如何计算数字上所有模型都失败。



小学数学

 

在下表 3 中,作者用 PIC、GPT-Pretrain、GPT-FT 三个模型来解决 GSM8K 上的数学问题,并做了对比。PIC 由 GPT-2 和预训练问题解分类器组成,PIC 优势明显甚至比在 GSM8K 上进行微调的 GPT-FT 也好很多。


下图 4 显示了不同方法的结果。作者的方法可以解决加、减、乘、除的数学题,甚至是三位数的解。相比之下,GPT-FT 却无法理解数学题目。



机器人操作

作者评估了所提的操作对象方法在实现由文本描述(Text)或真实世界图像(Image)指定的对象关系的效果。在下表 4 中,作者发现使用多个相机视角的评分器可以显著提高两种设置的准确性。


 

下图 5 显示了使用所提方法操作对象以完成给定任务的示例结果。作者的方法能够让机器人在给定语言目标或图像目标的情况下,对不同大小、颜色和形状的对象进行零样本操作。


相关文章
|
数据可视化 算法 大数据
电商平台数据可视化分析网红零食销量
电商平台数据可视化分析网红零食销量
|
12月前
|
数据采集 存储 调度
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
在Python网页抓取领域,BeautifulSoup和Scrapy是两款备受推崇的工具。BeautifulSoup易于上手、灵活性高,适合初学者和简单任务;Scrapy则是一个高效的爬虫框架,内置请求调度、数据存储等功能,适合大规模数据抓取和复杂逻辑处理。两者结合使用可以发挥各自优势,例如用Scrapy进行请求调度,用BeautifulSoup解析HTML。示例代码展示了如何在Scrapy中设置代理IP、User-Agent和Cookies,并使用BeautifulSoup解析响应内容。选择工具应根据项目需求,简单任务选BeautifulSoup,复杂任务选Scrapy。
319 1
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
|
SQL 存储 关系型数据库
什么是MySQL Workbench
【10月更文挑战第17天】什么是MySQL Workbench
1485 0
|
缓存 关系型数据库 MySQL
MySQL并发支撑底层Buffer Pool机制详解
【10月更文挑战第18天】在数据库系统中,磁盘IO操作是性能瓶颈之一。为了提高数据访问速度,减少磁盘IO,MySQL引入了缓存机制。其中,Buffer Pool是InnoDB存储引擎中用于缓存磁盘上的数据页和索引页的内存区域。通过缓存频繁访问的数据和索引,Buffer Pool能够显著提高数据库的读写性能。
633 2
|
人工智能 小程序 API
【一步步开发AI运动小程序】十三、自定义一个运动分析器,实现计时计数02
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,详细解析了俯卧撑动作的检测规则构建与执行流程,涵盖卧撑和撑卧两个姿态的识别规则,以及如何通过继承`sports.SportBase`类实现运动分析器,适用于小程序开发者。
|
机器学习/深度学习 人工智能 自然语言处理
探索AI技术:从基础原理到实际应用的全面剖析
本文旨在为读者提供关于人工智能(AI)技术的全面了解。从探讨AI的基本概念和关键技术入手,逐步深入到AI在不同领域的应用实例,包括医疗、金融和自动驾驶等。同时,文章也详细讨论了当前AI技术面临的伦理问题和社会影响,以及可能的解决方案。最后,本文还展望了AI技术未来的发展趋势,帮助读者更好地理解这一前沿科技的现状与未来。
1142 5
|
缓存 网络协议 网络架构
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
数据链路层,Ethernet_II帧格式、IEEE802.3帧格式,帧格式的区分以及链路层每种帧格式有什么作用,怎么区别分辨帧格式,以太网MAC地址的组成,ARP地址解析协议原理、什么是单播帧?什么是组播数据帧?什么是广播帧?...............
1732 0
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
|
关系型数据库 MySQL Unix
MySQL 计算时间差分钟
【5月更文挑战第3天】
1452 2
|
数据采集 机器学习/深度学习 人工智能
【AI 生成式】LLM 通常如何训练?
【5月更文挑战第5天】【AI 生成式】LLM 通常如何训练?
|
存储 缓存 安全
Java性能优化(二):Java基础-String对象及其性能优化
在深入探讨了String字符串的性能优化后,我们认识到优化字符串处理对提升系统整体性能的重要性。Java在版本迭代中,通过精心调整成员变量和内存管理机制,不断对String对象进行优化,以更高效地使用内存资源。String对象的不可变性是Java语言设计中的一个关键特性,它不仅确保了字符串的安全性,也为字符串常量池的实现提供了基础。通过减少相同值的字符串对象的重复创建,常量池有效地节约了内存空间。然而,不可变性也带来了挑战。在处理长字符串拼接时,我们需要显式使用类来避免性能下降。
337 1

热门文章

最新文章