LIMoE:使用MoE学习多个模态

文章链接:Multimodal Contrastive Learning with LIMoE: the Language-Image Mixture of Experts

发表期刊(会议): NeurIPS 2022

目录

  • 1.背景介绍
    • 稀疏模型
  • 2.内容摘要
    • Sparse Mixture-of-Experts Models
    • Contrastive Learning
    • Experiment Analysis
  • 3.文章总结

1.背景介绍

在实际应用中,多模态数据通常是高维度的,处理这样的数据可能会导致计算和存储开销巨大。稀疏模型可以帮助缓解这种问题,因为它们具有较少的参数,可以有效地处理高维数据。因此,将稀疏性考虑到多模态学习中,可以在减少计算和存储成本的同时,提高模型的性能和效率。
一些研究工作和实际应用尝试将多模态数据与稀疏模型相结合,以更好地处理来自不同传感器或数据源的信息。这种结合可能涉及将多模态数据转换为稀疏表示形式,或者在多模态模型的构建中引入稀疏性,以提高处理效率和性能。这种融合可以帮助解决处理大规模多模态数据时的挑战,并提供更高效的解决方案。稀疏模型可以作为处理多模态数据的一种方式,以降低计算和存储开销,并提高模型的效率和性能。在多模态学习的背景下,引入稀疏性可以是处理复杂数据的有效策略之一。

同时(多任务)或顺序(持续学习)学习许多不同任务的密集模型(dense model)通常会受到负面干扰过多的任务多样性意味着最好为每个任务训练一个模型,灾难性遗忘意味着模型在早期任务中会随着新任务的添加而变得更差。

稀疏模型

稀疏模型(Sparse models)在深度学习未来最有前途的方法中脱颖而出。 采用条件计算的 Sparse models 不是模型的每个部分都处理每个输入(“dense” modeling),而是学习将各个输入 “route” 到潜在庞大网络中的不同 “experts” 。这有很多好处。

  • 模型大小可以增加,同时保持计算成本不变。这是一种有效且更环保的模型缩放方式,也是高性能的关键。
  • 稀疏性也自然地划分了神经网络。 稀疏模型有助于避免这两种现象通过不将整个模型应用于所有输入,模型中的“专家”可以专注于不同的任务或数据类型,同时仍然利用模型的共享部分。

Google Reaserch团队长期以来一直致力于稀疏性的研究。 今天的人工智能模型通常只接受训练做一件事。 Pathways 将使人们能够训练单个模型来完成数千或数百万件事情。Pathways 总结了构建一个大型模型的研究愿景,该模型可以勤奋地处理数千个任务和众多数据模式。
在这里插入图片描述
到目前为止,语言(Switch、Task-MoE、GLaM)和计算机视觉(Vision MoE)的稀疏单峰模型已经取得了相当大的进展。目前,谷歌团队通过研究大型稀疏模型,通过与模态无关的 “Router” 同时处理图像和文本,朝着 Pathways 愿景迈出了重要一步。 他们提出了多模态对比学习,它需要对图像和文本都有深入的理解,以便将图片与其正确的文本描述对齐。 迄今为止,解决此任务的最强大模型依赖于每种模式的独立网络(“two-tower”方法)。

2.内容摘要

本文提出了第一个使用MoE组合的大规模多模式架构 LIMoE。 它同时处理图像和文本,但使用稀疏激活的自然专业专家。 在零样本图像分类方面,LIMoE 的性能优于可比较的密集多模态模型和双塔方法。 最大的 LIMoE 零样本 ImageNet 准确率达到 84.1%,与更昂贵的 state-of-the-art 模型相当。 稀疏性使 LIMoE 能够优雅地扩展规模,并学会处理截然不同的输入,从而解决多面手和专才之间的紧张关系。

在这里插入图片描述

LIMoE 架构包含许多“专家”,“Router” 决定将哪些 token(图像或句子的一部分)发送给哪些专家。 经过专家层(灰色)和共享dense layer(棕色)处理后,最终输出层计算图像或文本的单个向量表示。

Sparse Mixture-of-Experts Models

Transformers 将数据表示为向量(或标记)序列。 虽然最初是为文本开发的,但它们可以应用于大多数可表示为标记序列的事物,例如图像、视频和音频。 最近的大规模 MoE 模型在 Transformer 架构中添加了专家层(例如自然语言处理中的 gShard 和 ST-MoE,以及用于视觉任务的 Vision MoE)。

标准 Transformer 由许多“块”组成,每个“块”包含各种不同的层。 其中一层是前馈网络 (FFN)。 对于 LIMoE 和上面引用的作品,这个单个 FFN 被包含许多并行 FFN 的专家层取代,每个 FFN 都是一个专家。 给定要处理的 token 序列,简单的 Router 会学习预测哪些专家应该处理哪些 token 。 每个 token 仅激活少量专家,这意味着虽然模型容量由于拥有如此多的专家而显着增加,但实际的计算成本是通过稀疏使用它们来控制的。 如果只激活一名专家,该模型的成本大致相当于标准Transformer 模型。

LIMoE 正是这样做的,每个示例激活一名专家,从而匹配密集基线的计算成本。 不同的是LIMoE Router 可能会看到图像或文本数据的标记。

当 MoE 模型尝试将所有 token 发送给同一位专家时,会出现一种独特的 failure。 通常,这是通过辅助损失和鼓励平衡专家使用的额外培训目标来解决的。 处理多种模式与稀疏性相互作用会导致现有辅助损失无法解决的新故障。 为了克服这个问题,本文开发了新的辅助损失(更多详细信息见论文)并在训练期间使用 Router 优先级(BPR),这两项创新产生了稳定且高性能的多模态模型。

在这里插入图片描述

新的辅助损失(LIMoE aux)Router 优先级(BPR) 稳定并提高了整体性能(左)并提高了路由行为的成功率(中和右)。 成功率低意味着路由器不会使用所有可用的专家,并且由于达到了单个专家的容量而丢弃了许多令牌,这通常表明稀疏模型学习得不好。 LIMoE 引入的组合可确保图像和文本的高路由成功率,从而显着提高性能。

Contrastive Learning

在多模态对比学习(Contrastive Learning)中,模型是根据成对的图像文本数据(例如照片及其标题)进行训练的。 通常,图像模型提取图像的表示,不同的文本模型提取文本的表示。 对比学习目标鼓励图像和文本表示对于相同的图像-文本对接近,而对于不同对的内容则远离。 这种具有对齐表示的模型可以适应新任务,无需额外的训练数据(“零样本”),例如,如果图像的表示比单词更接近单词“dog”的表示,则图像将被分类为狗 “猫”。 这个想法可以扩展到数千个类别,被称为零样本图像分类。

CLIP 和 ALIGN(都是双塔模型)扩展了这个过程,在流行的 ImageNet 数据集上实现了 76.2% 和 76.4% 的零样本分类精度。 本文研究计算图像和文本表示的单塔模型,发现这会降低 dense 模型的性能,可能是由于负面干扰或容量不足。 然而,计算匹配的 LIMoE 不仅比单塔密集模型有所改进,而且还优于双塔密集模型。 本文使用与 CLIP 类似的训练方案训练了一系列模型。 我们的密集 L/16 模型实现了 73.5% 的零射击精度,而 LIMoE-L/16 达到了 78.6%,甚至优于 CLIP 更昂贵的两塔 L/14 模型 (76.2%)。 如下所示,与同等成本的密集模型相比,LIMoE 对稀疏性的使用提供了显着的性能提升。

在这里插入图片描述对于给定的计算成本(x 轴),LIMoE 模型(圆圈、实线)明显优于其密集基线(三角形、虚线)。 该架构指示底层Transformer的大小,从左 (S/32) 到右 (L/16) 增加。 S(小)、B(基本)和 L(大)指的是模型比例。 该数字指的是补丁大小,较小的补丁意味着较大的架构。

在这里插入图片描述

LiT 和 BASIC 将 dense two-tower model 的零样本精度分别提高到了 84.5% 和 85.6%。 除了缩放之外,这些方法还利用了专门的预训练方法,重新利用了已经具有极高质量的图像模型。 LIMoE-H/14 没有受益于任何预训练或特定于模态的组件,但仍然从头开始实现了可比的 84.1% 零样本精度训练。 这些模型的规模比较也很有趣:LiT 和 BASIC 分别是 2.1B 和 3B 参数模型。 LIMoE-H/14 总共有 5.6B 个参数,但通过稀疏性,每个 token 仅应用 675M 个参数,使其更加轻量级。

Experiment Analysis

LIMoE 的动机是稀疏条件计算使通用多模态模型仍然能够发展擅长理解每种模态所需的专业化。 本文分析了 LIMoE 的专家层并发现了一些有趣的现象。

  • 模式专门化专家的出现。在实验的训练设置中,图像标记比文本标记多得多,因此所有专家都倾向于至少处理一些图像,但有些专家要么主要处理图像,要么主要处理文本,或两者兼而有之。
    在这里插入图片描述上图展示了 LIMoE 八位专家的分配; 百分比表示专家处理的图像标记的数量。 有一到两名明显专门研究文本的专家(主要由蓝色专家表示),通常有两到四名图像专家(主要是红色),其余的则处于中间位置。

  • 图像专家之间也存在一些清晰的定性模式。 例如,在大多数 LIMoE 模型中,都有一位专家处理所有包含文本的图像块。
    在这里插入图片描述
    在上面的示例中,有专家处理动物和绿色植物,也有专家处理人类双手。LIMoE 为每个token选择一位专家。 在这里展示了 LIMoE-H/14 某一层上哪些图像token被发送给哪些专家。 尽管没有接受过这方面的培训,但能观察到专门研究植物或轮子等特定主题的语义专家的出现。

3.文章总结

处理许多任务的多模式模型是一条很有前途的前进道路,成功的关键因素有两个:1.规模;2.在利用协同效应的同时避免不同任务和模式之间干扰的能力。 稀疏条件计算是实现这两点的绝佳方法。 它支持高性能、高效的多面手模型,同时还具有出色完成单个任务所需的专业化能力和灵活性,正如 LIMoE 以更少的计算量实现的可靠性能所证明的那样。

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

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

相关文章

lwIP 细节之五:accept 回调函数是何时调用的

使用 lwIP 协议栈进行 TCP 裸机编程,其本质就是编写协议栈指定的各种回调函数。将你的应用逻辑封装成函数,注册到协议栈,在适当的时候,由协议栈自动调用,所以称为回调。 注:除非特别说明,以下内…

阿木实验室普罗米修斯项目环境配置

引言 普罗米修斯项目其实只是个大ROS功能包, 里面每个模块就是每个ROS功能包,比如控制模块,视觉模块等等。对PX4配置的与这个一样,另外他是使用自己的P系列无人机(我个人是P450),所…

Objection

本文作者:杉木涂鸦智能安全实验室 Home objection - 基于frida的命令行hook工具食用手册 实用FRIDA进阶:内存漫游、hook anywhere、抓包-安全客 - 安全资讯平台 Objection是一个基于Frida的命令行hook工具,用于移动设备的运行时探索。它可…

Idea的Marketplace下载不了插件,idea下不了插件

Idea的Marketplace下载不了插件 解决方案(配置代理) 附一张成功界面 2.问题复现 3.问题原因和解决方式:下载安装IDEA之后HTTP Proxy没有进行相关配置的问题,解决方式如下 1.首先打开file->setting->Appearance & B…

Maxscript入门教程:Print与Format命令

本文对Maxscript中的“Print”和“Format”命令之间的差异进行了一些小小的研究,得出的结论主要的差异是它们的结果中的引号“”。 “Print”很简单,直接使用,在调试时非常有用。为了工作,它只需要一个字符串(这是两个…

[学习笔记]在CentOS7中用Docker方式安装Jenkins

文章目录 原理:创建Docker网桥网络安装DinD创建镜像构建镜像运行容器 原理: Docker in Docker (以下简称 DinD)可以在 Container 中直接运行一个 Docker Daemon ,然后使用 Container 中的 Docker CLI 工具操作容器。其…

最详细的Selenium+Pytest自动化测试框架实战

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承 一定的selenium基础——本篇不讲selenium, 测试框架简介 测试框架有什么优点呢: 代码复用率高,如果不使用框架的话&#xff…

【模拟】LeetCode-48. 旋转图像

旋转图像。 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6]…

武汉凯迪正大—门尼粘度试验机

武汉凯迪正大KY-6004型门尼粘度仪用于胶料粘度和硫化指数的测定。试样在一定的温度和压力下,转子以一定的旋转力矩对试样加以一定的剪切力,仪器测出橡胶的反剪切力矩,是再生胶、橡胶、电线电缆行业常用的仪器之一。 武汉凯迪正大KY-6004型门…

科技与艺术相结合,虚拟人裸眼3D动画亮相城市商圈

随着元宇宙概念的火爆,虚拟制作技术的快速发展,虚拟人可以将虚拟世界与现实世界相结合,为用户带来沉浸式体验。如虚拟人壬子希以裸眼3D动画的形式亮相城市商圈,助力文旅以科技与艺术相结合的形式,展现城市文化与科技成…

【SpringBoot】入门精简

目录 一、初识 SpringBoot 1.1 介绍 1.2 项目创建 1.3 目录结构 1.4 修改配置 二、SpringBoot 集成 2.1 集成 Mybatis框架 2.2 集成 Pagehepler分页插件 2.3 集成 Druid数据库连接池 2.4 集成 Log日志管理 一、初识 SpringBoot 1.1 介绍 Spring Boot是一个用于简化Sp…

软件开发流程分析

软件开发流程分析 相关概念1 原型设计2 产品设计3 交互设计4 代码实现详细步骤 相关概念 前端:自研API,调用第三放API 后端:自研API,第三方API 数据库:Mysql,数据采集,数据迁移 服务器&#xf…