浅析多模态机器学习

news2025/1/23 12:54:26

GPT-4的发布给ChatGPT带来了又一次飞跃,ChatGPT不仅支持文字输入,还能看得懂图片、甚至是漫画、梗图,以GPT-4为代表的多模态大模型非常强大。多模态大模型就是指模型可以处理多种结构/类型的数据,例如GPT-4,它既可以处理你输入的文本,也可以处理你上传的图片。

那么,多模态到底意味着什么呢?

1. 什么是多模态?

人类有五种基本感官:触觉、视觉、听觉、嗅觉和味觉。与每一种感觉相关的感觉器官向大脑发送信息,帮助我们理解和感知我们周围的世界。然而,事实上,除了这五种基本的感官之外,还有其他的人类感官是你生活中必不可少的。这些鲜为人知的感觉包括空间意识和平衡等。通过这些感官的交互,也就是多模态,以下是最常见的几种模态:

08208b50adad0951f444f94f0db8509b.png

GPT-4专注于语言和视觉作为一些基本的模态。所谓融合,是指将来自两个或多个模态的信息合并以执行预测任务。有两种类型的融合:- 早期融合:模态将在训练早期就连接起来。- 晚期融合:我需要在每个模态早期进行一些处理,然后再将它们组合起来。

看一些现实世界的例子,了解什么是MMML应用:

f5416e862fbb0558f5b164b326726378.png

2. 单模态分类模型及一些基本概念

从单模态的分类模型开始,分析视觉、文本和声音模态的基本处理方法,还试图澄清了数据集、最近邻居、神经网络基础、推理和模型参数等相关术语和概念。

2.1 单模态的分类模型

从一种模态的分类模型开始,例如视觉分类,给定一张图片,它是不是一只狗呢?

aac2e0e95703107250a10b2b4f1f8141.png

这是三个二维矩阵叠加在一起形成的彩色图像,如何解决这个图像分类问题呢?因为大多数神经网络或分类器只接受二维矩阵,为了制作这个输入向量,需要将这个三维向量分解并将它们叠加在一起,就像下面的图像所示的那样。然后,才能能够通过多分类输出来获取目标的对象分类。

b1d6755e8f0f5b57872217743a95b754.png

对于单模态模型,首先有一个输入,可以是如上所述的3D矩阵,然后将其传递到已经训练好的模型中,得到一个分类(单类或多类)或回归输出。

对于单词、句子或段落这样的模态而言,有两种类型:书面(文本)和声音(转录)。举个例子,假设从一段文本中提取了一个单词,想要了解这是正面还是负面的情绪。该怎么做呢?

096d50fd8708c09d21f6ec6bf3e2eb40.png

为了简单起见,可以使用one-hot向量,这是一个非常长的向量,其长度是字典的长度。这个字典是我们的模型从训练集中创建的,计算出它所发现的所有去重后的单词。对于每一个单词,在向量中有一个索引条目。需要注意的是,某些非常低频的词语,可能不在字典中。

用这个one-hot向量将作为最大熵模型的输入向量,进而进行情绪分类,命名实体分类(名字 vs 地方 vs 实体),或者词性标注(动词,名词,形容词)等。如果想要更细粒度地按单词运行模型,就可以这样做。

但是,如果想要处理更大量的文本,比如一句话或一段话,该怎么办呢?

可以将输入向量变成一个词袋向量,但它仍然是一种one-shot编码,现在对目标文档中的每个单词进行编码,如果一个维度上有这个单词就是1,否则就是0。然后可以运行同样的任务,就像上面做的情绪分类一样。

59710474cba72be28a40c5a8f6d49c60.png

最后,在看看声音模态。假设正在聆听一个音频,基本上,音频是一个非常长的一维向量,可以使用此向量并运行分类问题以转录语音。在实践中,人们用时间窗口在音频信号中切片,并开始处理该数据集以创建Spectogram。在这个音频中,检查获取了多少低频与高频成分,以千赫为记录在Spectogram中。然后,我们将这个Spectogram转换为模型的输入向量。

f01dc7139194617a21b0621d001ec5f8.png

除了仅仅进行转录外,还可以使用这些模型来获取情感分类或语音质量。

2.2 相关术语

数据集是带有标签的样本集合,包括:

  • 训练集:在这个训练集上学习分类器

  • 验证集:通过查看L1或L2函数在此处选择最佳的超参数,基本上希望看到哪些超参数会带来最佳的结果。

  • 测试集:在这个保留的测试集上评估分类器。

最近邻居:最简单但仍然是最有效的分类器之一。    - 在训练时间,时间复杂度为O(1),测试时间为O(N)     - 它使用距离度量来找到最近的邻居。    - 它将使用L1(曼哈顿)或L2(欧几里得)距离。

2.3 神经网络基础

根据激活函数的不同,一个神经元可以被称为一个线性分类器。神经网络中每个部分的组成和功能如下:

1)定义一个神经元的得分函数,目标是预测该类别标签的得分。例如,对于图像分类问题“这是一只狗、猫、鸟还是猪?”,可以将为鸭子、猫、鸟和猪各设置一个神经元。具有线性激活函数的神经元如下图所示:

01f775cd04402932159722405c901d68.png

接下来,在这里学习权重和偏置值。

  • 定义损失函数(可能是非线性的)

  • 优化参数的权重(考虑梯度下降)

然后,考虑多层前馈神经网络。

8c18a13627b661e0237e5b9c5c04c172.png

这个多层网络由一个输入层,几个隐藏层,以及一个可能包含激活函数的输出层组成。每个前面的隐藏层的输出作为后面层的输入。

最后,我还有两个概念需要澄清:

  • 推理:用于测试。推理可以被看作是通过输入获得评分/输出的过程。它既是获得这个分数的行为,也涉及到它的使用。

  • 模型参数:在训练时使用,将使用基于梯度的方法进行优化。基本上,需要有固定训练的数据,通过学习得到最小损失的权重和偏差。

0d6804e6878fd1746292c07b8cb91a27.png

3. 多模态机器学习的核心问题

多模态是一种新的人工智能范式,其中各种模态(文本、语音、视频、图像)与多种智能处理算法结合,以实现更高的性能。

业界有多种实现多模态的方式,通过多模态机器学习,希望确保该空间中的相似性对应着相应概念的相似性,通过存在的其他模态, 给出缺失的模态内容。多模态应用目前包括各种任务,如信息检索、映射和融合。

在多模态机器学习中,大约有五个核心问题——表示、翻译、对齐、融合和协同学习。

3.1 多模态的数据表达

多模态数据的最大挑战是以一种方式总结来自多个模态(或视图)的信息,以便综合使用互补信息,同时过滤掉冗余的模态部分。由于数据的异质性,一些挑战自然而然地出现,包括不同类型的噪声、模态(或视图)的对齐以及处理缺失数据的技术。目前,主要有两种的方法来完成多模态表达:联合表达和协调表达。

94203b65f69c4954cf3f0e5ba8ab4de1.png

e4d29954af325d698d89512a96b9dd62.png

协调表达

多模态数据必须在非常弱的(它们的空间不重叠)或非常强的(最终成为联合表示)之间协调,通过结构化的协调来完成嵌入。

f2c5fdaec46213b83ac0b929760e266e.png

协调表达涉及将所有形式投射到它们的空间中,但这些空间使用约束进行协调。这种方法对根本上非常不同并且可能不适用于联合空间的形式更有用。由于自然界中形式的多样性,协调表达在多模态表示领域中比联合表达具有巨大优势,使用约束进行协调是一种强大的方法。

联合表达

联合表达涉及将所有模态投影到一个共同的空间,同时保留来自给定模态的信息。训练和推理时需要所有模态的数据,这可能会使处理缺失数据变得困难。另外,通过递归模型,可以在每个时间步融合模态的不同视图,最终使用联合表示完成手头的任务(如分类,回归等)。

对于所有模态在推断时都存在的任务,联合表达更适合。另一方面,如果缺少其中一种模态,则协调表达更适合。

3.2 多模态机器翻译

多模态机器翻译涉及从多个模态中提取信息,基于这样的假设,附加的模态将包含有用的输入数据的替代视图。在这个领域中最重要的任务是口语翻译、图像引导翻译和视频引导翻译,它们分别利用音频和视觉模态。这些任务与它们的单语对应任务——语音识别、图像字幕和视频字幕——不同之处在于需要模型生成不同语言的输出。(来源) 下面我们可以看到一个图像字幕的例子出了大错:

898a3706b2ccc54bce3522a065ae9de8.png

上述模型无法将视觉场景与语法句子进行同步理解,这对于强大的多模态模型至关重要。多模态翻译模型有两种类型:基于示例的和生成式的。

7fba8b0331d6c45c88226dcf2bcbbc3d.png

基于示例的模型将存储一个翻译词典,如上所示,然后将其从一种语言模态映射到另一种。在推理过程中,模型将从字典中提取最接近的匹配项,或通过推断字典提供的信息创建翻译。这些模型需要存储更多的信息,运行速度非常缓慢。

生成模型在推理时不需要参考训练数据即可产生翻译。生成模型有3个类别,分别是基于语法的、变压器模型和连续生成模型。

3.3 多模态的对齐

多模态对齐是找到两种或更多模态之间的关系和对应。

78d8fb2f49b5fc00e4b0fcbbf3a98203.png

为了对齐不同的模态,模型必须测量它们之间的相似度并处理长距离依赖关系。多模态对齐涉及的其他困难包括缺乏注释数据集、设计好的模态相似性度量以及存在多个正确的对齐方式。主要有两种类型的多模态对齐:- 显式对齐 :其目标是找到模态之间的对应关系,并对同一事件的不同模态数据进行对齐。例如:将语音信号与转录对齐。- 隐式对齐 :对齐有助于解决不同任务时的模型(例如“注意力”模型)。它是多个下游任务(如分类)的先驱。例如:机器翻译

3.4 多模态的融合

多模态融合可能是更重要的问题和挑战之一。融合是将来自两个或两个以上模态的信息结合起来解决分类或回归问题的实践。使用多个模态提供更强大的预测能力,使我们能够捕获互补信息。即使其中一个模态缺失,多模态融合模型仍可使用。

5bc7c0f0c2fe39cc5aa5c818063bd5a6.png

3.5 协同学习

协同学习是将学习或知识从一种模态转移到另一种模态的挑战。对于在资源有限的模态下建立模型——如缺乏注释数据、嘈杂的输入和不可靠的标签,从资源丰富的模态中转移知识是相当有用的。

1fdcc84c4f79574ab550460866b99022.png

小结

多模态机器学习是一种新的人工智能范式,结合各种模态和智能处理算法以实现更高的性能。多模态机器学习中的核心问题包括表示、翻译、对齐、融合和协同学习。其中,多模态数据的表达是最大的挑战之一,需要使用联合表达和协调表达等方法。多模态机器翻译涉及从多个模态中提取信息,基于这样的假设,附加的模态将包含有用的输入数据的替代视图。多模态对齐是找到两种或更多模态之间的关系和对应,多模态融合可能是更重要的问题和挑战之一,协同学习是将学习或知识从一种模态转移到另一种模态的挑战。

【参考资料与关联阅读】

  • http://multicomp.cs.cmu.edu/research/multimodal-representation

  • https://scholar.harvard.edu/files/diane/files/NAS.pdf

  • 系统学习大模型的20篇论文

  • 深度学习架构的对比分析

  • 解读Toolformer

  • 解读TaskMatrix.AI

  • 解读ChatGPT中的RLHF

  • 一文读懂“语言模型”

  • 知识图谱的5G追溯

  • 图计算的学习与思考

  • AI系统中的偏差与偏见

  • 面向AI 的数据生态系统

  • 机器学习与微分方程的浅析

  • 神经网络中常见的激活函数

  • 老码农眼中的大模型(LLM)

  • 《深入浅出Embedding》随笔

  • 机器学习系统架构的10个要素

  • 清单管理?面向机器学习的数据集

  • DuerOS 应用实战示例——机器狗DIY

  • 《基于混合方法的自然语言处理》译者序

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hugging Face 介绍

Hugging Face 是一家在自然语言处理和人工智能领域著名的公司,以开发开源的软件库和工具为主要贡献,其中最受欢迎的是 Transformers 库,广泛应用于诸如语言翻译、情感分析和问答等多种自然语言处理任务。此外,Hugging Face 还开发…

c++ 11标准模板(STL) std::map(七)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…

100种思维模型之顺势而为思维模型-68

“我领悟到&#xff0c;人是不能推着石头往上走的&#xff0c;这样会很累&#xff0c;而且会被山上随时滚落的石头给打下去。要做的是&#xff0c;先爬到山顶&#xff0c;随便踢块石头下去。”——雷军说。 “只要站在风口上&#xff0c;猪也能飞起来“。——雷军。 顺势而为是…

JetBrains的多数据库管理和SQL工具DataGrip 2023版本在Linux系统的下载与安装配置教程

目录 前言一、DataGrip安装二、使用配置总结 前言 DataGrip是一款多数据库管理和SQL工具&#xff0c;适用于不同类型的数据库。它提供了丰富的功能和工具&#xff0c;可以帮助开发人员更高效地管理数据库、编写SQL查询和执行数据操作。注&#xff1a;已在CentOS7.9和Ubuntu20.…

海思sdk快速上手

mpp&#xff1a;视频H.264的编码压缩 1.看linux、uboot的文档 2.移植SDK到ubuntu 2.1、三个脚本 source sdk.unpack解压 2.2、osdrv/Makefile和readme make OSDRV_CROSSarm-hisiv300-linux CHIPhi3518ev200 all报错 参考&#xff1a;ubuntu16.04 编译错误: /bin/sh: 1: pushd…

《写作脑科学:如何用脑科学改善写作能力》

《写作脑科学&#xff1a;如何用脑科学改善写作能力》 前言引言概述评价结论 &#x1f3d8;️&#x1f3d8;️个人简介&#xff1a;以山河作礼。 &#x1f396;️&#x1f396;️:Python领域新星创作者&#xff0c;CSDN实力新星认证&#xff0c;阿里云社区专家博主 前言 &…

【C++】23.C++的IO流(补)

1.C标准IO流 C标准库提供了4个全局流对象cin、cout、cerr、clog&#xff0c;使用cout进行标准输出&#xff0c;即数据 从内存流向控制台(显示器)。使用cin进行标准输入即数据通过键盘输入到程序中&#xff0c;同时C 标准库还提供了cerr用来进行标准错误的输出&#xff0c;以…

chatgpt赋能python:Python中OP怎么用

Python中OP怎么用 Python是一种高级编程语言&#xff0c;可用于快速开发网站、桌面应用程序、网络爬虫和数据科学等各种领域。Python作为一种功能强大的编程语言&#xff0c;其操作符&#xff08;OP&#xff09;是一个必须学习的基本知识点。本文将介绍Python中OP的使用方法。…

DataTables表格库(一)

目录 1、零配置使用 1.2、代码 1.3、步骤 1.4、效果 2、禁用分页&#xff0c;排序等功能的配置 2.1、说明 2.2、代码 2.3、效果 3、默认排序配置 3.1、说明 3.2、代码 3.3、效果 4、多列排序 4.1、说明 4.2、代码示例 4.3、效果 5、多个表格 5.1、说明 5.2、…

【源码解析】SpringBoot使用DeferredResult实现长轮询的原理分析

使用背景 在Nacos配置更新和Apollo的配置更新&#xff0c;我们可以看到长轮询&#xff08;长连接&#xff09;的身影。长连接的实现可以节约系统资源&#xff0c;长连接可以在连接建立后持续通信&#xff0c;避免频繁地建立和断开连接&#xff0c;减少系统开销。使用长连接可以…

LAMP的运用

LAMP的运用 一、LAMP二、编译安装apache http服务三、编译安装mysqld服务四、编译安装PHP解析环境五、安装论坛 一、LAMP LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够提供动态Web站点服务及其应用开发环境。L…

《痞子衡嵌入式半月刊》 第 77 期

痞子衡嵌入式半月刊&#xff1a; 第 77 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻&#xff0c;农历年分二十四节气&#xff0c;希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly)&#xff0c;欢迎提交 issue&#xff0c…

【JavaSE】Java基础语法(二十八):HashSet集合

文章目录 1. HashSet集合概述和特点2. HashSet集合的基本应用3. 哈希值4. HashSet集合存储学生对象并遍历【应用】 1. HashSet集合概述和特点 底层数据结构是哈希表存取无序不可以存储重复元素没有索引,不能使用普通for循环遍历 2. HashSet集合的基本应用 存储字符串并遍历 …

Pytorch深度学习之神经网络入门详解

目录 Pytorch 入门 1.将每个图片的label作为txt文件写入另外一个文件夹&#xff08;txt文件名与图片文件名相同&#xff09; 2.tensorboard的summary writer 3.torchvision中的transforms 4.DataLoader 5.神经网络-卷积层Conv2d 6.最大池化层 7.非线性激活函数Relu 9.…

微信的大动作,很多人要颤抖了

4月25日&#xff0c;微信团队发布关于微信公众号营销内容合规规范通知&#xff0c;要求公众号在投放商业广告时需要标注广告字样。 刚开始觉得也没啥&#xff0c;无非就是加个广告的字样&#xff0c;让消费者可以及时识别出来&#xff0c; 但从效果来看&#xff0c;似乎效果并不…

华为OD机试真题B卷 Java 实现【猜密码】

一、题目描述 小杨申请了一个保密柜,但是他忘记了密码。只记得密码都是数字,而且所有数字都是不重复的。 请你根据他记住的数字范围和密码的最小数字数量,帮他算下有哪些可能的组合,规则如下: 输出的组合都是从可选的数字范围中选取的,且不能重复;输出的密码数字要按照…

意外的坚持,意外的收获!

前言&#xff1a; 转眼间&#xff0c;2023就快过了一半&#xff0c;回忆间感觉跟过完年没多久一样&#xff1b;时间是真的过的快...... 简单总结一下最近&#xff1a; 一、锻炼身体&#xff1a; 最近这段时间开始恢复锻炼身体&#xff0c;现在感觉一天下班回来&#xff0c;身体…

Java 21 新特性和改进

Java 21 是 Java 17 之后的下一个 LTS 版本。虚拟线程在 Java 21 中将成为正式功能。可以预期的是&#xff0c;Java 21 会成为一个很流行的 Java 版本。 Java 21 将在 2023 年 9 月 19 日发布。目前 Java 21 包含的内容已经基本确定了。下面来梳理一下 Java 21 中会包含的内容。…

【AI提示】ChatGPT提示工程课程(吴恩达OpenAI)转换文本(中文chatgpt版)

设置 翻译 通用翻译器 语调变换 格式转换 拼写检查/语法检查。 转换 在本笔记中&#xff0c;我们将探索如何使用大型语言模型进行文本转换任务&#xff0c;例如语言翻译、拼写和语法检查、语气调整和格式转换。 设置 import openai import osfrom dotenv import load_dotenv, f…

Maven初级

Maven初级 Maven简介 传统项目管理状态分析 jar包不统一&#xff0c;jar包不兼容工程升级维护过程操作繁琐 Maven是什么 Maven的本质是一个项目管理工具&#xff0c;将项目开发和管理过程抽象成一个项目对象模型&#xff08;POM&#xff09;POM&#xff1a;项目对象模型 Ma…