热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

论文阅读:《MultimodalMachineLearning:ASurveyandTaxonomy》

来源:Arxiv[https:arxiv.orgabs1705.09406]模态:Modality:模态,某事发生或经历的方式Multimodal:多模态naturallangua

来源:Arxiv[https://arxiv.org/abs/1705.09406]



模态:

Modality:模态,某事发生或经历的方式

Multimodal:多模态

natural language :which can be both written or spoken 自然语言

visual signals: which are often represented with images or videos 视觉图片以及视频

vocal signals: which encode sounds and para-verbal information such as prosody and vocal expressions 声音



 


多模态面临的挑战:

1、表征(Representation:如何以利用多种模态的互补性和冗余性的方式表示和总结多模态数据(how to represent and summarize multimodal data in a way that exploits the complementarity and redundancy of multiple modalities)

多模态数据的异质性:语言通常是象征性的,而音频和视觉形式将被表示为信号

2、翻译(Translation):如何将数据从一种模态转换(映射)到另一种模态(how to translate (map) data from one modality to another)

模态之间的关系通常是开放式的或主观的:存在多种描述图像的正确方法,并且可能不存在一种完美的翻译

3、对齐(Alignment):从两个或多个不同的模态中识别(子)元素之间的直接关系(identify the direct relations between (sub)elements from two or more different modalities)

4、融合(Fusion):结合来自两种或多种模态的信息来执行预测(join information from two or more modalities to perform a prediction)

5、联合学习(Co-learning):在模态、它们的表示和它们的预测模型之间转移知识(transfer knowledge between modalities, their representation, and their predictive models)

协同训练co-training     零样本学习zero shot learning



 


任务:




表征 Representation:

解释:试图通过各模态的信息找到某种对多模态信息的统一表示

难题:如何组合来自异构来源的数据;如何处理不同级别的噪音;以及如何处理丢失的数据

好的表征的特点:



  • 平滑度 smoothness

  • 时间和空间连贯性 temporal and spatial coherence

  • 稀疏性 sparsity

  • 自然聚类 natural clustering

两种表征思路:

1、联合 joint

单模态的表示联合投影到多模态的联合表示

神经网络模型:通常使用最后或倒数第二个神经层作为单模态数据表示的一种形式,为了使用神经网络构建多模态表示,每个模态都从几个单独的神经层开始,然后是一个隐藏层,将模态投影到联合空间,然后联合多模态表示本身通过多个隐藏层或直接用于预测

概率图模型 Probabilistic graphical

RNN序列模型

tips:autoencoder models 自动编码器

2、协调 coordinated

每个模态学习单独的表示,并通过约束进行协调

基于相似度的模型:最小化协调空间中模态之间的距离

结构化协调模型:用于跨模态散列——将高维数据压缩成具有相似对象的相似二进制代码的紧凑二进制代码

代表:

 

 




 


翻译 Translation:

解释:将一种模态数据映射为另一种模态数据

两种思路:

1、example-based 基于示例的



  • 翻译 跨模式检索 图像描述......

2、generative 生成



  • 基于语法(grammar-based), 编码器-解码器模型(encoder-decoder), 连续生成(continuous generation)【基于源模态输入流连续生成目标模态,最适合在时间序列之间进行转换】

代表:

 

 




对齐 Alignment:

解释:从两个甚至多个模态中寻找事物子成份之间的关系和联系。比如给定一张图片和图片的描述,找到图中的某个区域以及这个区域在描述中对应的表述。又比如给定一个美食制作视频和对应的菜谱,实现菜谱中的步骤描述与视频分段的对应。

两种思路:

1、显式对齐 explicit



  • 重点是相似性度量。两种方法:无监督(动态时间扭曲 DTW) 、弱监督

2、隐式对齐 implicit



  • 学习如何在模型训练期间潜在地对齐数据。两种方法:图模型、神经网络模型(使用attention机制)

  • 图像字幕中,注意力机制将允许解码器(通常是 RNN)在生成每个连续单词时专注于图像的特定部分;

  • 问答任务,允许将问题中的单词与信息源的子组件(例如一段文本[236]、图像[65]或视频序列)对齐。

 

 




融合 Fusion:

解释:从多个模态信息中整合信息来完成分类或回归任务

融合的价值:



  • 在观察同一个现象时引入多个模态,可能带来更健壮(robust)的预测

  • 接触多个模态的信息,可能让我们捕捉到互补的信息(complementary information),尤其是这些信息在单模态下并不"可见"时

  • 一个多模态系统在缺失某一个模态时依旧能工作

两种思路:

1、无模型 model-agnostic



  • 早期(基于特征,在特征被提取后立即集成(通常通过简单地连接它们的表示),比较简单)

  • 晚期(基于决策,在每种模态做出决定(例如分类或回归)后执行整合,方法包括:平均、投票方案、基于信道噪声的加权、信号方差、学习模型,允许为每个模态使用不同的模型,因为不同的预测器可以更好地对每个单独的模态进行建模,从而提供更大的灵活性;当缺少一种或多种模态时,它可以更轻松地进行预测,甚至可以在没有并行数据时进行训练,然而忽略了模态之间的低级交互)

  • 混合融合(早期融合和单个单峰预测器的输出)

2、基于模型 model-based



  • Multiple Kernel learning(MKL),多核学习(将不同的核用于不同的数据模态/视图)

  • Graphical models,图模型 后续可以看看

  • Neural Networks,神经网络 循环神经网路,进行端到端的训练

 




共同学习 Co-learning:

解释:通过利用来自另一种(资源丰富)模态的知识来帮助(资源贫乏)模态建模;辅助模态(helper modality)通常只参与模型的训练过程,并不参与模型的测试使用过程

三种方法:

1、并行



  • 需要训练数据集,其中来自一种模态的观察结果与来自其他模态的观察结果直接相关;协同训练、表示学习、迁移学习

2、非并行



  • 不需要来自不同模式的观察之间的直接联系,通常通过使用类别重叠来实现共同学习;零样本学习ZSL

3、混合



  • 通过共享模式或数据集桥接



推荐阅读
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
  • 本文介绍了一家大型电信公司在SOA/BPM基础设施项目中采用的版本控制和分支管理策略。自项目启动以来,团队通过定义详细的命名约定、测试流程和分支规则,确保了项目的顺利进行并成功投入生产。 ... [详细]
  • 解决Anaconda安装TensorFlow时遇到的TensorBoard版本问题
    本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ... [详细]
  • CentOS 6.5 上安装 MySQL 5.7.23 的详细步骤
    本文详细介绍如何在 CentOS 6.5 系统上成功安装 MySQL 5.7.23,包括卸载旧版本、下载安装包、配置文件修改及启动服务等关键步骤。 ... [详细]
  • DCG 创始人兼首席执行官 Barry Silbert 发布致股东信,详细解答了 19 个核心问题,并分享了公司未来的发展方向。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 基于JQuery实现的评分插件
    本文介绍了一个使用JQuery创建的交互式评分控件。当用户将鼠标悬停在星星上时,左侧的星星会变为实心,右侧保持空心,并显示对应的评分等级;移开鼠标后,所有星星恢复为空心状态。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 本文介绍如何利用 Python 中的 NumPy 和 Matplotlib 库,从 NumPy 数组中绘制线图。通过具体的代码示例和详细解释,帮助读者理解并掌握这一技能。 ... [详细]
  • 在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ... [详细]
  • 本文详细介绍了C++中map容器的多种删除和交换操作,包括clear、erase、swap、extract和merge方法,并提供了完整的代码示例。 ... [详细]
  • 在尝试更新Microsoft Edge浏览器时遇到“检查更新时出错:无法连接到Internet”的问题。本文将详细介绍可能的原因及解决方案,包括防火墙设置和证书缺失的处理方法。 ... [详细]
  • 本文深入探讨了基于Pairwise和Listwise方法的排序学习,结合PaddlePaddle平台提供的丰富运算组件,详细介绍了如何通过这些方法构建高效、精准的排序模型。文章不仅涵盖了基础理论,还提供了实际应用场景和技术实现细节。 ... [详细]
  • 本文将探讨Java编程语言中对象和类的核心概念,帮助读者更好地理解和应用面向对象编程的思想。通过实际例子和代码演示,我们将揭示如何在Java中定义、创建和使用对象。 ... [详细]
author-avatar
1500799277_a9483d_353
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有