ai_drive42_如何兼容一致性和互补性?多模态融合基础问题及算法解析

张长青,天津大学智能与计算学部副教授、博士生导师,入选天津大学北洋学者-青年骨干教师计划。主要研究方向为机器学习、计算机视觉、医学图像分析。主要成果发表在国际期刊(IEEE TPAMI/IJCV等)及CCF- A类会议。多篇论文入选NIPS/CVPR等顶级会议的Spotlight和Oral论文。

本文内容整理自直播间第 42 期分享。点击文末“阅读原文”可跳转至B站收看本期及往期分享完整视频。如需配套ppt,请通过公众号回复关键词“ppt”或点击对话框工具栏按钮获取。

1. 多模态融合研究背景

多模态融合是非常关键的领域。现在的数据越来越丰富:维度越来越高,种类越来越多,传感器的种类越来越多、精度越来越高,再加上有多种多样的特征提取方式,也可以看成是多种角度的信息。

1.1 医疗场景

在这里插入图片描述

上图这个例子,是斯坦福大学发表在 nature 上的一篇论文。例子中第一个图展示了五种传感器,用来对医院的病房、手术台等一些重要的区域进行监控,从而为后续分析收集多源信息。

可以看到,只用一种传感器,往往是很难准确去分析当前发生了什么、有哪些人、有哪些物体。第一幅图像实际上有好几位医生、护理人员还有病人,但是只根据光学传感器是很难鉴别的。

如果用第三种传感器,根据近红外图像则很容易看到,左侧有一位医护人员,右侧有一些病人或者家属,就能看得比较清楚。

在这里插入图片描述

还有其他的一些传感器,包括有相对远近关系的 Depth 传感器,还有雷达、声音传感器等,就可以让这个场景对机器来说是可看到、可听到、可以感知物体的远近的。多源传感器可以对场景进行更好的感知。

有了多模态的数据之后,就可以通过多模态融合算法进行一些分析。例如观察当前病房中,病人是在休息,还是在散步,或者说有医护人员在进行护理等一些活动或者状态。就形成一个非常全面的系统,可以对医院重要的区域进行监控和分析,比如说某一个病人睡了多久、医护人员一天对他会护理了多少次等等,有了这些基本信息之后,就可以提取更多的信息和分析。

1.2 机器人场景

在这里插入图片描述

第二个场景是机器人。上面的这个工作是机器人中的对机械手抓取状态的评估。人类如果抓取一个物体,会知道有没有抓稳、有没有把这个物体抓得过紧?是否会损坏物体?但是机械臂是比较难知道的。人类的手可以感知温度、湿度、力度等,手是非常灵巧和敏感的。但是机械臂要想感知的话,必须装上传感器。

比较典型两种传感器,一种是视觉传感器,可以监控物体的形变,即在抓取的时候,抓取的物体发生了多大的形变,包括如何影响物体的各个部分,和原来的进行对比,分别产生了什么样的形变。力学传感器阵列可以感知力度。

在这里插入图片描述

这就构成了两个模态。抓取的过程是一个时间序列,所以说是 3D 的信号。实际上是视觉和触觉融合感知对抓取状态的评估。所使用的方法也是用深度学习模型进行了融合,这种融合相对来说比较直观。

1.3 数据的多视图

无论是医疗还是机器人,多模态融合是无处不在的。以前传统的多模态探究,最常见的实验是在 Benchmark 数据上进行。

图片Benchmark 数据通常包含不同类别的数据,比如 RGB、Depth 等,也有医学领域各种不同设备产生的医学图像等。多媒体中也有很多这样的数据,有文本、语音、图像可以进行联合分析。所以多模态融合对很多应用都起到了关键性作用,之所以能够成功应用,是因为信息之间有很强的互补性。

在这里插入图片描述

上图是一组模拟的数据。在模拟数据中,真正的数据分布是不知道的。我们知道的往往是视图 1、视图 2、视图 3 从不同的角度获取的这些模态,就像描述一则新闻,有人写了新闻稿,有人拍了视频,这就是两个角度。把不同的角度进行融合,我们希望能够得到真正的数据分布。

为什么要得到真正的数据分布呢?一个主要原因就是要进行模式识别,或者是进行分类、聚类、预测。模式表示清楚之后,进行分类、聚类就会变得比较容易一些。

简单做个总结,多模态融合有几个特性,怎么样根据这些特性,或者是根据一些原则进行模型设计,是很多机器学习方法的出发点。

2. 多模态数据融合策略

在这里插入图片描述

看上图,其中比较早的综述中总结了两个特性,

    1. 一个称为一致性,就是说不同来源的信息要分析出相同的模式或者结果,不能说从这个角度来看属于第一类,另外一个角度它就应该属于第二类。当然会遇到这种情况,但是真正去做的时候,大部分任务都是想通过多模态或者多源信息融合让分类更加准确,每一个分类都有一个固定的结果,一个最终的分类结或者聚类结果,也就是保持一致性。
    1. 另外一个特性称为互补性,是多视图学习非常基础的特性,如果没有互补性,就代表任何一个视图的信息都是够用的,这样多视图学习就没有存在的必要了。
  • 3.第三个是后来探索过程中发现了一些特点,对此研究者设计了一系列的方法,称为兼容性。目的在于如何兼容上述前两个特性。一致性上,我们看到很多方法把它总结称作 common 或者 share 等,即提取共享的公共的信息,而互补性可能就是独立的或者互斥的一类信息。

从不同的角度来看数据,往往既有一致性,也有互补性,好比你和另一个同学评价某一位老师,对这个老师会有一些共性观点,但是可能还会同时有不一致的看法,那就是互补性。我们主要围绕上述三个特性展开做简单的讲解。

2.1 多视图之间的一致性

在这里插入图片描述

一致性常用的策略就是最大化相关性(提取共享成分)。代表性的方法是 CCA,最大化两个视图之间的相关性,找出最相关的成分,作为最后的表示。基于 CCA 的方法有 Deep CCA 等方法,他们的共性在于都要最大化两个模态或者两个视图之间的相关性。

另外也有在各自任务上进行了最大化相关性提取共享成分的一些方法。比如上图中的谱聚类,实际上是要经过分解之后得到一个低维嵌入,即一个降维后的表示 U,U^V 和 U^W 就是它的两个角度的低维表示。

怎么样去约束相关性或是共享性?办法就是通过让两两样本间的距离相似,也就是说,从这个角度来看 A 和 B 相似,从另外一个角度来看 A 和 B 也应该相似。我们看上图,从两个角度所获得的相似度矩阵,让这两个相似度矩阵变得比较像,实际上就是约束成对的视角关系。这是 2011 年一篇论文的内容。另外右侧这个 2013 年的工作,从数学上非常简单,以前两个视图最大相关是通过一个线性映射得到的,现在有了神经网络之后进行非线性映射,但核心还是 CCA。

在这里插入图片描述

看上图,我们曾经在 2015 年提出了一个方法。以前最大化共性都是这种用成对的关系来进行这种约束。我们提了一个叫基于张量的高阶模型,张量模型怎么做呢?可以看到最左边代表了有不同的视图的特征,它们特征维度可能是不一样的。但是它在子空间自表示状态下,就都会变成一个 N 乘 N 的矩阵,这时候首先它们的大小就一样了,其次它们的语义关系也是一样的,因为这个自表示矩阵包含了成对之间的关系,A 样本和 B 样本之间的关系,实际上类似于一个核矩阵或者类似于一个 graph,这样的话不但维度对齐,而且语义上也是对齐的。第一个角度的第一个元素和第二个角度、第三个角度的第一个元素都是对齐的,都是衡量同样的一对样本之间的关系。

这样我们就很容易想到张量。张量是什么?张量实际上就是矩阵的泛化。我们把它拼成张量之后,又有什么样的好处?刘光灿老师有一个非常著名的工作 —— 低质子空间聚类,它实际上约束的是样本和特征之间、两个维度上的 Low Rank。它是一个矩阵,矩阵按行按列来讲,分别是样本之间的关系和特征之间的关系。变成张量之后就有了三维的关系,那么第三维实际上是就是视角之间的关系,它变成了这么一个张量。张量的好处在于考虑了全局性和高阶特性,不再是这种成对成对、局部的约束,它是整体地约束一个空间。

当然,这里的三维不再是我们特征的维度,它指的是什么?指的变化的维度,一个是样本维度,一个特征维度,还有一个 view 的维度,这样就能约束这种高阶的关系。高阶关系往往有比较好的效果,要比这种只约束传统低阶层面上的方法明显要好。

在这里插入图片描述
后来这个方法又被扩展,把它扩展成了不需要加入任何超参数、半监督的表示学习方法。

另外还有一些研究者后续把它扩展成为了约束张量的时候加入了一些其他的数学方法。效果也非常好,在常见的一些一些数据上已经做到了 95% 以上,好几个数据已经达到了 100%。在无监督的情况下已经能够达到 100%,这个性能还是很惊人的。

小结,这部分讲的是一致性,我们基于一致性把它扩展到了高阶空间,相当于还是在传统的策略上进行了进一步的探索。

2.2 多视图之间的互补性策略

在这里插入图片描述

另外一个叫互补性,同样非常重要。那么互补性常见的方法有哪些?

上图 2013 年的这项研究,做的是多视图聚类的集成。实际上就利用了互补性,不同角度先独立学习,比如说先去学习聚类的初始结果,最后再去融合。

还有表示学习,包括监督学习中,一部分典型的工作就是进行多模态共享信息和单模态特有信息的显示分离或者保留。

上图右侧这个图是 CVPR 2017 年的一个工作。

当时我认为这个工作做的挺好的,但设计要复杂一些,要把公有信息和私有信息人为地进行定义,再去约束它们。这种叫显式分离,包括上图中监督学习的其他几项研究和刚才说的 CVPR 2017 年的工作,划分一块公有,一块私有,私有的部分也称它为模态或者叫视图所特有的信息,都属于此类。

在这里插入图片描述

如上图,基于此我们在 2015 年 2017 年分别有两篇文章,提出了一种主动去增强多视图之间互补性的方法。

当时做的子空间聚类,因为聚类的时候,子空间聚类会学到这种相似度矩阵。对于相似度矩阵,左边的这个图中,因为子空间表示要求重建得要好,说明这个图构建的关系好。光构建的关系好还不够,我们还想让第一个视图和第二个视图之间的关系有一些互补性,如何实现?

互补体现在数学上可以用独立性刻画,所以我们提出来一个称为多样性诱导的多视图聚类方法,引入了希尔伯独立性标准,可以挖掘这种复杂的非线性依赖,强制让它们拥有好而不同的特性,与监督学习中的集成学习思想一致。监督学习中既要分类结果好,各个集成器之间又要有一些不同特性,往往会通过一些独立性的条件进行约束。

之后进一步增强了这个方法,把它扩展成了一种叫位置感知的互斥多视图学习,即在某个视图上 A 和 B 它们之间的关系很强,在另外一个视图上就尽量不挖掘这对样本的关系,去挖掘别的关系,在不同视图上都去找强关联样本对。

在此做个总结,首先是一致性,大家要往一块靠,挖掘共享的东西。其次是互补型,要尽量的发挥互补的效果,怎么样发挥互补效果呢?就是尽量让它们在学习的过程中有一些独立性。

2.3 多视图之间的兼容性策略

容性策略
在这里插入图片描述

这两方面是正反两面,强调那个面,要根据应用情况或者先验知识综合考虑,但是更多时候我们不知道当前应用到底更需要共享的信息还是更需要每个视图所特有的一些信息。

针对这个问题,我们就提出了一种叫自适应兼容性的多模态融合方法,它可以同时来兼容共享和特有信息。

在这个思想下,我们设计了一些算法,包括有聚类的、表示学习的、分类的方法。上图是一些参考文献,接下来主要介绍比较有代表性的,最近发在 IEEE TPAMI 2020 年的论文,会把这个问题阐述清楚。

在这里插入图片描述

先看为什么需要兼容性。上图左边有一个圆,右边有一个圆,这两个圆实际上就好像是两个模态,或者是两个角度的信息。

我们到底需要它们共享的那一块还是需要都各自独有的那一块?

哪一部分更有用?其实往往很难预先知道。

在缺乏其他信息的情况下,我们更想让它保持数据本来的一些关联和独立,也就是说它应该本来是什么样的关联就是什么样的关联,我们不应该把它的关联假设的太强,太强的话就相当于你会把它们所独立的、所特有的一些信息给削弱或者去掉,比如说 CCA。

我们也不能把共享信息给去掉,只保留两边的,这种方法肯定很少,因为公共信息往往可能更重要一点,这也是为什么很多方法都聚焦怎样去挖掘它们之间的共性。我们提出了另外一个思路,认为它的共性和个性都重要,要求同存异。

在这里插入图片描述

可以看一个简单的模型,左边这个模型,这个公式其实非常简单, X^V,V 就代表第 V 个视图,f_V 就代表从第 V 个视图里面进行映射,或者从中进行信息的抽取,经过一个映射或者经过一个神经网络也好,实际上就是对信息进行抽取。

这个模型每一个角度的信息都要抽取,抽取完之后都要跟 ( 就是一个我们要求的公共信息) 进行比较。跟它进行比较的话,相当于各个视图都要向它靠近。

实际上是 CCA 以及基于 CCA 的这些方法暗含的一个思想。但是它实现不了我们所说的这种兼容性,因为它提取的是共享信息。

那怎么样才能实现这种兼容性?

右边这个图,告诉我们 X1、X2 是不同角度,相当于 X1 是一个摄像头拍摄到的内容,X2 是另外一个摄像头角度拍摄到的另外一些内容。这个时候希望怎么样?融合,我们希望是得到一个更好的表示,让这个表示能够进行分类和聚类,或者是进行回归、进行预测。这个时候就不能把 X1、X2 输入到网络里面,让它们抽取信息,更好的方法应该是想获得到一个信息,这个信息可以从不同的角度来进行信息抽取,能抽取出来所不同角度的信息,这个信息就是我们认为的完整或者完备的信息。

抽取就是映射。这个时候它的映射方向就变了,不再是把观测到的信息作为输入,而是把随机初始化的一个信息作为输入,让它进行优化,优化的过程中能够得到我们看到的这些信息,所优化出来的 它就是一个好的表示。这个 会不会维度很高?如图所示,两个观测是平面,完备表示是立体,其维度是否一定会高于观测?其实不一定。而且通过实验也可以验证,因为 X1、X2 如果非常冗余的话, 的维度就可以压缩,既有视图间的冗余,也可能有视图内部的冗余,所以 到底应该高还是低,跟具体应用有关。

X1 是文本,X2 是图像,这个文本如果冗余度很高、维度很高,就可以进行较大的压缩。这个 不用跟文本一样,较低维度就可以了。所以说它不一定是高维的,它虽然是一个完备的信息,但是可能是一个维度非常低的表示。这样它既有完备性,又有紧致性。紧致的话它就不容易过拟合,这就是我们为什么有那么多降维方法。

3. 多模态数据缺失建模

3.1 模态数据缺失

在这里插入图片描述

3.2 基于信息完备性

在这里插入图片描述
多模态面临的这种缺失是非常常见的。可以预处理,但是预处理会有各种各样的麻烦,补全也好,数据丢弃也好,或者根据缺失的情况进行分组,然后再去学分类器也好,会有各种各样的问题。

其次,去设计一个模型的话,怎么样说明这个模型它是比较好的,比较充分利用了这些缺失的信息?最后,如果样本比较少,然后又加上一些缺失的话,尤其是在一些医学数据中,这个情况非常难以保证泛化性。上面列举的这三个问题是可能也比较容易想到的,也是比较重要的核心问题。

在这里插入图片描述
现在基于前面我们提出的兼容性,把它归纳起来,它也可以称为完备性,可以基于信息完备性的模型来进行解决上面的一些问题。

为什么叫完备性?先看上图右边这幅图,是前面那个图的一个实际场景,完备性就代表了我们看到的圆、矩形,其实都是一个角度的信息,真正的信息它应该是一个圆柱。左边是一幅名为《横看成岭侧成峰》的山水画,从不同角度来看的话,看到的都不一样。这个时候它到底应该按岭还是按峰对它进行分类?实际上它就应该是这座山本来的样子,它本来的样子到底是什么?应该去试图能恢复出能描述这座山的本身信息,怎么样才能描述它?只有跟观测结合起来,我们随机初始化一座山,如果这座山能从不同的角度拍照的话,能得到我们观测到的山,有 A 同学说它是岭,有 B 同学说它是峰,而且峰很高,岭很长,我们就不断地去做出一个假山。然后 A 同学说像我看到了,B 同学说也像了,这个时候这座山它就是我们所需要的本真的物体。用得到的本真的表示或者完备的表示去进行模式分析,才有可能正确的分析,那进行数学上建模的话就比较简单了。

在这里插入图片描述

我们做了一个分类模型,在分类模型中,首先有各个角度观测到的多模态信息。还有它的标记,标记用 来表示。各个角度搜集到的信息用 表示,大家注意这里用了一个花体的 ,代表的是一个集合,也就是说有各个模态,但是有些模特是缺掉的,那缺掉那个就不出现在集合里面就可以了。

就是我们想要得到的真正的这座山的表示。这个表示可以很好地推导出来。而各个角度的观测, 也可以当做一个观测, 是一个标记,标记的话实际上是一种语义的维度,或者叫语义的角度。把它展开,展开之后就变成了这么一个形式。这个形式是假设它有条件独立性,真实情况下可能不一定完全独立,但是为了简化,这是一种常见的手段。

在这里插入图片描述
条件独立化之后,就可以很好的进行建模和求解,要让上图中 、 分别最大化,但是在概率模型下,是不太容易求解的,因为概率建模还是比较复杂的,尤其是有缺失情况。可以把这个概率模型转化成一种能量模型,就会变成一种可以去定义损失的一种简化。

能量模型变成这样之后,Δ 实际上就是损失,对于多视图,转化之后非常简单,定义也非常简单,上图最下面的公式所描述的,类似于重建。 实际上也可以类似地去构建,但是 也用这种重建误差去约束的话,实际上不太好,因为 只是一个 label,怎么样充分去利用它下文会讲。

3.3 表示结构性

在这里插入图片描述

整体上它就变成了一个 log 似然函数,包含两部分,一部分是多模态的重建,另外一部分是这个 要让它进行分类,能够分好, 具有很好的判别性。为了让这个分类 用的比较好,跟传统各个模态用的有点不一样,因为 作为类别信息还是比较重要。我们设计了一个结构化的、没有任何参数的分类器。

为什么要设计无参分类器?因为 本身就是一个变量,再基于变量给它训练神经网络也好,训练 SVM 也好,实际上是不太好的,因为又会引入新的变量,变量越多,这个模型的自由度就越大,就越容易过拟合。而且会变得越来越繁琐,还可能需要加正则项等,调参也会变得比较麻烦。最好是给它加一个无参的分类器。我们的无参分类器大概的思想就是在训练的时候,让每一个 到属于它自己类别的这些样本点的平均距离或者是叫类中心最近,而且要比到其他类别的平均距离要近至少一个 margin。这个时候就形成了一种叫类内的紧致,类间就会有一个 margin,就变成可分了,具有了比较好可分性。这个时候它就没有任何参数,实际上就变成了有点类似于聚类的方式。

在这里插入图片描述

在这里插入图片描述

上图是整体的分类器部分的一些细节。左侧是样本,右侧中间这一块彩色的分布点,是隐表示,或者叫完备性表示。这个完备性表示可以通过各个神经网络退化,有三个神经网络,代表有三个模态。隐表示是完备的。它要能通过每一个神经网络看到各个对应的模态,就要去掉那些别的模态的信息,保留自己这个模态的信息。能退化到自己的这个模态,我们认为它就是完备的。

这个时候就好办了,缺的黑色的部分怎么办?我们在分类的模型中里面用了一种消极的方法。缺的这些部分本质上也会退化出一个模态,退化出一个数据,但是这个数据因为缺掉了,没有 ground truth,不能对它进行约束,不能进行比较,这个误差就不记数了,不能用缺掉的这个信息对神经网络、对引表示进行约束,所以把它过滤掉就行了。

好,这个时候包括各个模态和 Label 就都可以融入到学习的过程。在测试阶段,我们可以用类似的方式进行测试。有了一个样本,我们可以恢复出它的隐表示,或者说完备表示,然后用分类器进行分类。

好,通过这两个方面,就可以增强这个模型的泛化性了:一个是完备性,另外一个就是结构性。结构性是很好的一个先验。它是一种归纳偏置,会让这个模型变得更简洁性。这就是整体的训练框架,右侧是测试框架,测试框架就比较简单,但测试框架有一个小的 trick,它要微调一下。这个细节解释起来比较占篇幅,可以看我们的论文。

在这里插入图片描述

所以整体上这个模型写出来目标函数是非常简洁的,如上图,只包括两个部分,一部分就是信息完备性,它实际上是基于一种退化网络组,另外一种叫结构化表示,结构化表示就是类似于聚类分类器。

结构化表示实际上就是上文提到的类似于聚类的分类器,是完全无参的、结构化的分类器,上图也给了一个简单的理论的分析,可以说明学到的完备表示比其他表示在理论上都要好,或者说比最好的模态不会差。

在这里插入图片描述

前文讲到分类时,我们采取了一种非常消极的策略,前文图中缺掉的黑块没有管,实际上缺掉的黑块也可以用,虽然没有任何信息,没有任何 ground truth 也可以用。大家可以先思考思考怎么用。

这样来想,虽然这块缺掉了,但是你会补上一块,补上一块不能和 ground truth 比,但还是可以约束补充的信息。这里其实已经给出了答案,就是我们要想办法约束它补出来的数据符合一些特性。约束它符合什么样的特性呢?举例来说,人脸的各个部分,眼睛、鼻子、嘴三个部分可以看作三个模态,比如最后一个嘴巴缺掉了,但是通过完备表示,补上图像的一块,这一块我们不知道是什么,但是我们可以知道它是嘴巴,为什么呢?因为我们有白色的可见的观测,补的这一块和这些观测应该来源于同一分布,补充的部分应该像嘴巴。

我们可以用 GAN 来约束它,这是非常自然的扩展。但是这个约束会传递到我们的网络里面,进而传递到隐表示里。因为能够补得像嘴巴、像鼻子、像眼睛,说明完备性的信息就更合理了,会引起隐表示的变化,隐表示就会变得更好。和 GAN 是不一样的,后者是是随机采一些噪音,然后进行对抗学习,所采集的信息是没有什么含义的,只是来自于一个随机分布。而我们的表示是和这些样本一一对应的,要学到真正的能够将来进行分类和聚类,来进行模式识别的一个表示。讲到这里就比较清晰了,做个小结:经典的 GAN 分为判别器和生成器,判别器要能很好地区分,做出正确的判断,而生成器要欺骗它。

在这里插入图片描述

而如上图,我们是怎样对抗就一目了然了,这些黑色的块我们会补上,并且要跟这些白色的块要像,也就是要来自于它们的分布。根据整体公式,我们设计出这么一个多视图的对抗模型。

在这里插入图片描述

这样的话,如上图横向上同时利用了所有的样本,而且我们还约束了这些块在横向上应该来自于同一个分布;纵向上的每一个视图之间的相关性我们都挖掘了,用一个公共的表示来进行了关联。我们把刚才使用 GAN 的方法称为分布正则,最终实际上是对隐表示进行了正则。整体的模型就变成了上图下面的公式,包括了三个变量,这里和 GAN 又有了差别,除了生成器和判别器之外,我们还多了一个隐表示,也需要动态去更新。原来的 min-max 形式变成了一个 min-max-min 这么一个形式。为什么 是 min 呢?因为 表示要和网络联合起来优化,一起去欺骗判别器,它们两个相当于是一合伙人。生成的要好,输入信号也要足够的好,要足够的全面。

在这里插入图片描述

可以大致看看上图的分类结果,这是在不同的数据集上做的,做了有 12 个左右的数据,上图展示的是其中一部分。可以看出分类效果明显都要好很多。当然这是在不同的缺失率下和一些方法进行对比。视图比较多(比如有 6 个时),缺一些的话问题不大,但是对于视图相对来说少的情况,别的方法就会很糟糕,这时候完备性加上对抗可能就会比较好。

在这里插入图片描述

注意卡上图,也做了一些补全,比如最近邻的方法,原因在于虽然样本没有了第一个视图,但是可以用它的第二个视图,第三个视图去检索,看谁和它在第二个视图,第三个视图最近,用它的第一个视图把它补过来。也可以用平均的值的方法等等。另外,还可以用一些学习的方法,好比说可以学习模态到模态的映射。我们用了 CRA 和均值填充这两个方法,可以看到上图用 CRA 这个方法是对数据有要求的,要求有一定比例的样本是完整的,实验中我们设定 30% 的是完整数据。即便这样,在每个数据集上我们都还是有明显的提升。如果抛开这个方法和均值方法进行比较的话,提升是非常大的。

在这里插入图片描述

上图进行了一些可视化表示,可以看到在 50% 的缺失率下,我们的方法无论是监督版本还是非监督版本得到的表示,基本上都和它的标记有较好的一致性。我们可以看到上面 C 图和 F 图是我们的结果(C 图是无监督的,F 图是有监督的),F 图效果更好。

在这里插入图片描述

因为我们能补全了,所以也进行了补全实验的一些分析。可以看到补全直接进行分析的话,看补全之后谁绝对误差最小。最下面的红色和紫色两条都是我们的,红色是没有加对抗,紫色是加对抗,基本上和我们预想的还是非常匹配的。加上对抗几乎都是明显要好一些。不加对抗的虽然还不错,但是还是要稍微差一些。

在这里插入图片描述

可以看上图,补全之后,我们也进行了一些聚类的分析,聚类的话指标越高越好,也是同样的,可以看到这个紫色的,也就是加上 GAN 之后,基本上是达到一个最好的效果。

在这里插入图片描述

继续看上图,我们也在真实的缺失数据集上进行了一些分析。真实的缺失数据可能公布出来的比较少,原因在于为了让数据能够被更多的人使用,数据提供方把不完整的一些样本做了手工筛除。

在这里插入图片描述

如上图,这个模型早期的版本是我们在 2017 年的 CVPR 上一篇论文提出的,非常简单的线性的版本,并且是无监督的。之后我们发现线性的版本可以很好的做一些医学小样本数据,图中可以看到,不同时间点的大脑的医学影像数据,当中每一个人都会有一些缺失,比如某个人在 18 个月的节点没有来检查,相当于丢掉了这个模态。所以前面的图就会很乱。如何利用乱成这样的数据呢?用我们完备性的模型的思想就可以解决这个问题,当然会进行一些小的改动,比如扩展到了做多任务回归,回归得到幼儿将来的智力水平、语言水平等等分数。

在这里插入图片描述

再看一个例子,也对肺炎诊断进行了一些测试。

在医生的指导下,手工提取各种各样的肺炎特征,得到多特征信息,或者叫多视图信息。

我们这时候就可以用上文所述的模型,进行一些测试,发现我们学到的隐表还是比较好的。

柱状图中蓝色的部分是我们在不同的分类器上所做的对比,发现学出完备的表示明显比直接拼接要好很多。

4. 总结

在这里插入图片描述

简单总结一下多模态学习。

首先,在探索追求一致性、互补性的基础上,我们提出了完备性的概念。另外一点,从完整的多模态学习逐渐可能会转移到模态缺失情况下的学习,这样自适应缺失数据的模型可能是进入真实应用所要研究的趋势。真正要到工业级的应用,数据在很多情况下都是不完整的,尤其在某些领域中,甚至包括无人机在内的在无人驾驶,多元传感器也一定是缺失的。

再者,关于多视图学习或者是多模态融合的理论框架还比较少,可能也是未来值得研究的方向,面临的问题包括到底能不能判断我们的应用应该用哪个模型呢?这方面的研究还比较少,只是目前提出的模型比较多。

另外,关于多模态融合的可解释性,可解释性在整个机器学习领域是个热门,而多模态融合往往是融合成一个公共的表示,融合成一个隐空间,实际上它的解释性就会比较弱,怎么样提高这种情况下的可解释性呢?比如说从解耦的角度去考虑。前面我们提的结构化的分类器,实际上它已经有了一定的可解释性,面对一个缺失的样本,我们知道这个样本的隐表示之后可以用无参的分类器去检索跟它比较近的样本是哪些,在这个隐空间里面得到一些可解释性。但是提供的是一定的可解释性,是非常有限的。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值