什么是多模态学习?

什么是多模态学习?首先,什么叫做模态(Modality)呢?每一种信息的来源或者形式,都可以称为一种模态。例如,人有触觉,听觉,视觉,嗅觉;信息的媒介,有语音、视频、文字等;多种多样的传感器,如雷达、红外、加速度计等。以上的每一种都可以称为一种模态。同时,模态也可以有非常广泛的定义,比如我们可以把两种不同的语言当做是两种模态,甚至在两种不同情况下采集到的数据集,亦可认为是两种模态。因此,多模态机器学习,…

大家好,又见面了,我是你们的朋友全栈君。

首先,什么叫做模态(Modality)呢?

每一种信息的来源或者形式,都可以称为一种模态。例如,人有触觉,听觉,视觉,嗅觉;信息的媒介,有语音、视频、文字等;多种多样的传感器,如雷达、红外、加速度计等。以上的每一种都可以称为一种模态。

同时,模态也可以有非常广泛的定义,比如我们可以把两种不同的语言当做是两种模态,甚至在两种不同情况下采集到的数据集,亦可认为是两种模态。

因此,多模态机器学习,英文全称 MultiModal Machine Learning (MMML),旨在通过机器学习的方法实现处理和理解多源模态信息的能力。目前比较热门的研究方向是图像、视频、音频、语义之间的多模态学习。

多模态学习从1970年代起步,经历了几个发展阶段,在2010后全面步入Deep Learning阶段。

人其实是一个多模态学习的总和,所以也有”砖家“说了,多模态学习才是真正的人工智能发展方向。

本文将针对多模态学习在深度学习发面的研究方向和应用做相关介绍,主要参考了来自ACL 2017的《Tutorial on Multimodal Machine Learning》。

多模态学习的分类

多模态学习可以划分为以下五个研究方向:

多模态表示学习 Multimodal Representation
模态转化 Translation
对齐 Alignment
多模态融合 Multimodal Fusion
协同学习 Co-learning

下面将针对这五大研究方向,逐一进行介绍。

多模态表示学习 Multimodal Representation

单模态的表示学习负责将信息表示为计算机可以处理的数值向量或者进一步抽象为更高层的特征向量,而多模态表示学习是指通过利用多模态之间的互补性,剔除模态间的冗余性,从而学习到更好的特征表示。主要包括两大研究方向:联合表示(Joint Representations)和协同表示(Coordinated Representations)。

联合表示将多个模态的信息一起映射到一个统一的多模态向量空间;
协同表示负责将多模态中的每个模态分别映射到各自的表示空间,但映射后的向量之间满足一定的相关性约束(例如线性相关)。

什么是多模态学习?

利用多模态表示学习到的特征可以用来做信息检索,也可以用于的分类/回归任务。下面列举几个经典的应用。

在来自 NIPS 2012 的 《Multimodal learning with deep boltzmann machines》一文中提出将 deep boltzmann machines(DBM) 结构扩充到多模态领域,通过 Multimodal DBM,可以学习到多模态的联合概率分布。

什么是多模态学习?

论文中的实验通过 Bimodal DBM,学习图片和文本的联合概率分布 P(图片,文本)。在应用阶段,输入图片,利用条件概率 P(文本|图片),生成文本特征,可以得到图片相应的文本描述;而输入文本,利用条件概率 P(图片|文本),可以生成图片特征,通过检索出最靠近该特征向量的两个图片实例,可以得到符合文本描述的图片。如下图所示:

什么是多模态学习?

协同表示学习一个比较经典且有趣的应用是来自于《Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models 》这篇文章。利用协同学习到的特征向量之间满足加减算数运算这一特性,可以搜索出与给定图片满足“指定的转换语义”的图片。例如:

狗的图片特征向量 – 狗的文本特征向量 + 猫的文本特征向量 = 猫的图片特征向量 -> 在特征向量空间,根据最近邻距离,检索得到猫的图片

什么是多模态学习?

转化 Translation / 映射 Mapping

转化也称为映射,负责将一个模态的信息转换为另一个模态的信息。常见的应用包括:

机器翻译(Machine Translation):将输入的语言A(即时)翻译为另一种语言B。类似的还有唇读(Lip Reading)和语音翻译 (Speech Translation),分别将唇部视觉和语音信息转换为文本信息。

什么是多模态学习?

图片描述(Image captioning) 或者视频描述(Video captioning): 对给定的图片/视频形成一段文字描述,以表达图片/视频的内容。

什么是多模态学习?

语音合成(Speech Synthesis):根据输入的文本信息,自动合成一段语音信号。

什么是多模态学习?

模态间的转换主要有两个难点,一个是open-ended,即未知结束位,例如实时翻译中,在还未得到句尾的情况下,必须实时的对句子进行翻译;另一个是subjective,即主观评判性,是指很多模态转换问题的效果没有一个比较客观的评判标准,也就是说目标函数的确定是非常主观的。例如,在图片描述中,形成怎样的一段话才算是对图片好的诠释?也许一千个人心中有一千个哈姆雷特吧。

对齐 Alignment

多模态的对齐负责对来自同一个实例的不同模态信息的子分支/元素寻找对应关系。这个对应关系可以是时间维度的,比如下图所示的 Temporal sequence alignment,将一组动作对应的视频流同骨骼图片对齐。类似的还有电影画面-语音-字幕的自动对齐。
什么是多模态学习?

对齐又可以是空间维度的,比如图片语义分割 (Image Semantic Segmentation):尝试将图片的每个像素对应到某一种类型标签,实现视觉-词汇对齐。

什么是多模态学习?

多模态融合 Multimodal Fusion

多模态融合(Multimodal Fusion )负责联合多个模态的信息,进行目标预测(分类或者回归),属于 MMML 最早的研究方向之一,也是目前应用最广的方向,它还存在其他常见的别名,例如多源信息融合(Multi-source Information Fusion)、多传感器融合(Multi-sensor Fusion)。

按照融合的层次,可以将多模态融合分为 pixel level,feature level 和 decision level 三类,分别对应对原始数据进行融合、对抽象的特征进行融合和对决策结果进行融合。而 feature level 又可以分为 early 和 late 两个大类,代表了融合发生在特征抽取的早期和晚期。当然还有将多种融合层次混合的 hybrid 方法。

什么是多模态学习?

常见的机器学习方法都可以应用于多模态融合,下面列举几个比较热门的研究方向。

视觉-音频识别(Visual-Audio Recognition): 综合源自同一个实例的视频信息和音频信息,进行识别工作。

什么是多模态学习?

多模态情感分析(Multimodal sentiment analysis): 综合利用多个模态的数据(例如下图中的文字、面部表情、声音),通过互补,消除歧义和不确定性,得到更加准确的情感类型判断结果。

什么是多模态学习?

手机身份认证(Mobile Identity Authentication): 综合利用手机的多传感器信息,认证手机使用者是否是注册用户。

什么是多模态学习?

多模态融合研究的难点主要包括如何判断每个模态的置信水平、如何判断模态间的相关性、如何对多模态的特征信息进行降维以及如何对非同步采集的多模态数据进行配准等。

若想了解传统的机器学习方法在此领域的应用,推荐学习清华大学出版的《多源信息融合》(韩崇昭等著)一书。

协同学习 Co-learning

协同学习是指使用一个资源丰富的模态信息来辅助另一个资源相对贫瘠的模态进行学习。

比如迁移学习(Transfer Learning)就是属于这个范畴,绝大多数迈入深度学习的初学者尝试做的一项工作就是将 ImageNet 数据集上学习到的权重,在自己的目标数据集上进行微调。

什么是多模态学习?

迁移学习比较常探讨的方面目前集中在领域适应性(Domain Adaptation)问题上,即如何将train domain上学习到的模型应用到 application domain。

什么是多模态学习?

迁移学习领域著名的还有零样本学习(Zero-Shot Learning)和一样本学习(One-Shot Learning),很多相关的方法也会用到领域适应性的相关知识。

Co-learning 中还有一类工作叫做协同训练(Co-training ),它负责研究如何在多模态数据中将少量的标注进行扩充,得到更多的标注信息。

什么是多模态学习?

通过以上应用我们可以发现,协同学习是与需要解决的任务无关的,因此它可以用于辅助多模态映射、融合及对齐等问题的研究。

结束语

到此为止,我们对多模态机器学习领域的研究方向和应用进行了一个大致的梳理,受限于篇幅,还有许多未涉及的研究问题。

有什么读后感吗?

也许你以前没有听过多模态学习(MMML)这个概念,读了此文发现原来自己做的正是 MMML 一个分支;

也许你以前觉得 CV / NLP / SSP 才是人工智能的正统,读了此文发现多学科交叉的 MMML 一样可以玩 DL 溜得飞起;

也许你目前正苦于找不到研究的方向,读了此文发现 MMML 打开了新的大门,原来有这么多的事情可以做。

多模态学习是一个目前热度逐年递增的研究领域,如果大家感兴趣,欢迎留言反馈,后续我们会考虑推出几个热门 MMML 方向的经典or前沿论文、模型解析。

推荐几篇入门综述文献
如果想入门 MMML 或者希望对该领域有初步了解,可以从以下几篇综述入手

【1】Atrey P K, Hossain M A, El Saddik A, et al. Multimodal fusion for multimedia analysis: a survey[J]. Multimedia systems, 2010, 16(6): 345-379.

【2】Ramachandram D, Taylor G W. Deep multimodal learning: A survey on recent advances and trends[J]. IEEE Signal Processing Magazine, 2017, 34(6): 96-108.

【3】Baltrušaitis T, Ahuja C, Morency L P. Multimodal machine learning: A survey and taxonomy[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018.
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149423.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月16日 下午10:06
下一篇 2022年6月16日 下午10:06


相关推荐

  • helm安装redis-cluster

    helm安装redis-cluster

    2021年5月14日
    261
  • linux下安装oracle客户端

    linux下安装oracle客户端linux 下安装 oracle 客户端 1 下载 oracle 官网下载安装包根据访问数据的版本下载对应客户端 每种包又分 zip rpm 两种格式包 zip 包相当于解压后免安装版 rpm 包需要安装版 2 安装解压缩到 oracle 事先创建好 oracle 用户及 oracle 目录 unzipinstant basic linux x64 11 2 0 4 0 zipunzipinst sqlplus linux x64 11 2 0 4 0 zip 生成目录 usr l

    2026年3月18日
    2
  • 二级反渗透1T/H二级反渗透纯水机 纯净水反渗透设备 反渗透设备

    反渗透技术原理反渗透技术是美国六十年代后期为解决宇航员在太空的饮水问题而研制的高新技术,也是目前的膜分离技术。简单地说,反渗透装置是利用半透膜在压力差的作用下使含盐水脱盐纯化的设备,它能有效地去除水中的无机盐、细菌、病毒、色素、热源、重金属离子及农药、化肥、清洁剂、胶体物质等污染物。反渗透膜孔径非常小,一般在2-10埃左右,而水中的各种离子杂质的直径约为几十埃,病毒、细菌的直径为几百至几十万埃,因此这些物质都是无法透过反渗透膜的,被截止在膜的浓水端,随浓水排出,透过反渗透膜的即是无菌,无毒害且富氧的纯净

    2022年4月17日
    49
  • 三极管—初识(图文并茂)

    三极管—初识(图文并茂)写在前面 本文章旨在总结备份 方便以后查询 由于是个人总结 如有不对 欢迎指正 另外 内容大部分来自网络 书籍 和各类手册 如若侵权请告知 马上删帖致歉 三极管 不管是在模电还是数电中都是常见的电子器件 利用它的特性 在模电中通常作放大作用 而在数电中则作开关或者逻辑转换 下面主要讲晶体管的开关应用 至于放大作用 太深奥 说起来太长了下文只谈应用 不谈理论 原理什么的

    2026年3月26日
    1
  • LeetCode第一题:两数之和-C++

    LeetCode第一题:两数之和-C++自己的解答(简单的遍历所有可能的组合,找到最终的结果):【不是特别熟悉C++,先有一个vector的插入:vector.puch_back(),主要是各种运用的不熟练,希望能有改进】给出简单代码:classSolution{public:vector<int>twoSum(vector<int>&nums,inttarget){…

    2022年5月4日
    45
  • chattr权限

    chattr权限chattr 权限命令格式 chattr 增加 删除 赋予 选项文件或目录名选项 i 给文件设置时 不能对文件进行删除 改名 添加 修改数据 给目录设置时 则在此目录下不能创建和删除原有的文件 只能修改文件的数据 此权限对 root 一样有效 可以有效防止用户对重要的文件数据进行误操作 示例 1 给文件设置 i 权限 2 给目录设置 i 选项 a 给文件设置时 只能给文

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号