首页 > 其他分享 >深度学习——多模态

深度学习——多模态

时间:2023-07-23 23:24:48浏览次数:48  
标签:模态 声音 模型 深度 融合 学习 图像 文本

什么是多模学习?

我们平常使用的如图像识别,语音识别这种输入单个样本x(尽管样本可能有多个特征),但是输出对应的y值(结果)就是比较简单的单模态模型。

即单个模型对输入的信息进行线性或者非线性的映射。

多模态可以指的是通过多个模型的组合来让深度学习学习到更多不同的特征。如我们生活中对于事物,除了仅仅靠眼睛捕获,还有耳朵分析,嗅觉以及触摸去感受,这就类似于通过多个深度学习模型去学习一个事物的特征。这样做不仅仅能提取到更多的特征,而且更加准确和高效。

多模态的应用

  • 视觉-文本模态:这种多模态包括图像和文本数据。例如,在图像描述生成任务中,模型需要输入一张图像并生成一个对该图像的自然语言描述。

  • 视觉-声音模态:这种多模态包括图像和声音数据。例如,在视频分类任务中,模型需要同时考虑视频中的图像和声音信息,以确定视频的类别。

  • 文本-声音模态:这种多模态包括文本和声音数据。例如,在语音识别任务中,模型需要同时考虑声音和文本信息,以确定所说的话语。

  • 视觉-文本-声音模态:这种多模态包括图像、文本和声音数据。例如,在视频问答任务中,模型需要同时考虑视频中的图像、声音和文本信息,以回答提出的问题。

以上是比较常见的多模态类型,但实际上,还有其他类型的多模态,例如运动-声音模态、触觉-声音模态等。多模态的类型取决于所涉及的感官类型和任务类型。

模态的融合

前融合

前融合比较容易理解,那么就是通过我们各个不同的模型去提取这个样本(x)的特征,如我们想要了解分析一部视频中的人物的情绪。
做法如下:
可以利用卷积提取每一帧的图片人物的表情,通过LSTM,RNN,HMM等提取人物的对话,利用情感分析模型去Transformer分析对白。这样把收集下来的特征进行堆叠,或者加权集成在一起,获得高纬度的特征然后输入到模型中进行学习和输出。

后融合

这个其实和前融合差别并不是很大,只是在收集特征后并不是在输入模型前融合在一起,而是通过各个不同的模型先对输入的特征进行预测然后输出结果进行平均或者加权投票,最终输出最终结果。
如上面的例子,先利用vgg把每一帧的图片进行特征提取,输出结果,利用Transformer去对文字进行处理再输出结果然后把各个模型的各个结果进行加权投票得出最终结果。

混合融合

混合融合是组合了前融合和后融合的方法,其在综合了前融合和后融合的优点的同时,也增加了预测模型的结构复 杂度和训练难度。 由于神经网络结构的多样性和灵活性,在实现混合融合的研究中,神经网络得到了广泛的应用。
Wu 等人构建了视频和声音信号经过仅基于视频信号和仅基于声音信号的听声辨人模型,产生模型预测,同时视频信号和声音信号的集 成特征输入视听相关模型(audio-visual correlative model, AVCM),产生模型预测,采用加权方式整合模型预测,获得 识别结果。
在图像问答任务中,Xu和 Lu用递归神经 网络和卷积神经网络分别学习问题语句和图像的信息,用注意力机制实现问题语句信息和图像信息的融合。
在手势识别任务中,Neverova 等人[105]分别用卷积神经网络对手势视频中的左手、右手包含的时间信息和信息进行学习和融合, 并行地使用卷积神经网络提取身体姿势的图像信息和声音信 息;然后使用全连接神经网络进行各信息融合,在输出层输出辨识结果。

参考连接
https://zhuanlan.zhihu.com/p/475734302

标签:模态,声音,模型,深度,融合,学习,图像,文本
From: https://www.cnblogs.com/ohj666/p/17576168.html

相关文章

  • spartan-6 ax309学习日记合集1
    一、环境安装配置两个开发环境ISE和modelsim,我安装的是ISE14.7(最新版,不再更新,由于Spartan-7及以上才可以使用vivado,故只能使用ISE)和modelsim10.1c(注意一定有c)二、流水灯程序编写学习因为我没有verilog基础,并且是初次接触FPGA开发板,没找到直接的教程,故开始打算先学一点verilog......
  • ChatGPT学习笔记1
    目录前言《原则一:明确具体的指令》《技巧1:使用区分符》《技巧2:结构化输出》《技巧3:条件是否满足》《技巧4:少样本提示》《原则二:给模型思考时间》《技巧1:给定步骤来补全》《技巧2:让模型先梳理再给结论》结语前言今天是我参加知识星球打卡的第七天了,感觉还是同时发来做自己的博客......
  • 高级系统架构师学习(一)系统工程与信息系统基础
    一、前言已经有一段时间没有写博客了,最近事情比较多,工作和家里的事情也比较忙,慢慢的就没写了,不写博客以后人就懒了,故今天下定决心,重新开始强迫自己提升,挤时间学习一些新的东西!这次的专题就不写应用技术了,写一写我学习高级系统架构师的一些心得吧。我是去年报名学习高级......
  • node的一部分知识(还在学习)
    node.js一,node最基础一,为什么要学node.js1.可以让每个人都访问到我们的网页2.为了学习vue二,node是什么一款应该程序,是一个软件,可以运行javascript三,node的作用1.开发服务器端应用2.开发工具类应用3.开发桌面端应用四,node的安装之前安装过二,命令的相关知识一,认识命令......
  • spring6 ioc aop 从入门到精通零基础进阶学习路线?
    当你已经掌握了Spring框架的基础知识以及IoC和AOP的核心概念后,可以进一步深化你的学习。以下是更详细的学习路线:1.IoC容器进阶:-学习如何自定义Bean的初始化和销毁方法,并了解Bean生命周期的各个阶段。-深入了解Spring的作用域(Scope)概念,如单例模式、原型模式、会话模式和请求模......
  • 学习MySQL,创建表,数据类型
    连接本地mysql语句mysql-hlocalhost-uroot-prootMySQL通用语法DDL数据库操作DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)查询所有数据库showdatabases;创建数据库语法:createdatabase[ifnotexists]数据库名称[defaultcharset字符编码];createdat......
  • 无法注册程序集“D:\JAVA学习之路\jni4netTest\FanucDataCollectionAPI\FanucData
    无法注册程序集"D:\JAVA学习之路\jni4netTest\FanucDataCollectionAPI\FanucData"在Java开发中,我们经常需要与其他语言进行集成,以实现更复杂的功能或访问底层资源。JNI(JavaNativeInterface)是一种机制,允许Java代码调用本地代码(通常是C或C++编写的)。然而,在使用JNI时,有时会遇到无......
  • 初识机器学习及机器学习线性拟合的实现
    从最小二乘法到机器学习1,什么是机器学习?机器学习有下⾯⼏种定义:机器学习是⼀⻔⼈⼯智能的科学,该领域的主要研究对象是⼈⼯智能,特别是如何在经验学习中改善具体算法的性能。机器学习是对能通过经验⾃动改进的计算机算法的研究。机器学习是⽤数据或以往的经验,以此优化计算机程......
  • [学习笔记] 倍增 Floyd
    一、朴素Floydfor(inti=1;i<=n;++i){for(intj=1;j<=n;++j){for(intk=1;k<=n;++k){d[i][j]=min(d[i][j],d[i][k]+d[k][j]);}}}二、倍增Floyd/传递闭包要做\(k(\leq10^9)\)次Floyd,怎么办?......
  • GNN学习 GNN Layer(持续更新中)
    GNN学习GNNLayerGNN的通用框架1.对GNN的一个网络层进行信息转换和信息聚合两个操作2.连接GNN的网络层3.图增强,分为图特征增强和图结构增强4.学习目标,有监督学习还是无监督学习,节点/边/图级别1.信息转换和信息聚合GNNLayer=Message+Aggregation不同的实例有不同的信......