Multimodal Machine Learning: A Survey and Taxonomy【未完待续】

版权声明: https://blog.csdn.net/Dorothy_Xue/article/details/87823489

个人笔记

原文链接:https://arxiv.org/pdf/1705.09406.pdf

▲多模态机器学习面临的挑战:representation, translation, alignment, fusion, co-learning

▲主要关注三种模态:

  1. natural language:自然语言,可以说,也可以写。
  2. visual signals:视觉信号,通常用图像或视频表示。
  3. vocal signals:声音信号,编码声音和副语言信息,如:韵律,声乐表达。【副语言:有广义狭义之分。狭义:超音段音位学中的韵律特征等。广义:包括一些非声特征,如面部表情等。详见百度】

▲多模态机器学习旨在:建立能够处理和关联来自多个模态的信息的模型。


(1)representation:学习怎样以一种利用多模态的互补性和冗余性的方式,表示和汇总多模态数据。多模态数据具有异质性,所以构造这种方法有点挑战性。eg:language通常是象征性的,而audio和visual模态表示为信号。

(2)translation:怎样将数据从一种模态转换(映射)为另一种模态。不仅是数据的异质性,模态之间的关系往往是开放的或主观的。eg:描述一张图象的正确方法又很多,但是没有一种完美的translation。

(3)alignment:从两种或两种以上的不同模态中,确定(子)要素之间的直接关系。eg:将菜谱中的步骤与显示正在制作的菜肴的视频对齐。为了应对这一挑战,我们需要衡量不同模态之间的相似性,并且处理可能的长期依赖性和模糊性。

(4)fusion:联合两个或多个模态的信息来进行预测。eg:对于视听语音识别,将嘴唇运动的视觉描述与语音信号融合,来预测说的单词。来自不同模态的信息可能具有不同的预测能力和噪声拓扑,其中至少一种模态可能会确实数据。

(5)co-learning:在模态、模态地表示和模态的预测模型之间传递知识。这一点可以通过co-learning, conceptual grounding和one-shot learning的算法来证明。co-learning探索了怎样利用从一个模态学习的知识,来帮助在不同模态上训练的计算模型。当其中一种模式的资源有限时,如:标注数据,这一挑战尤其重要。


▲多模态机器学习应用:


1. multimodal representations:

        以一种计算模型能采用工作的形式表示数据一直是machine learning的一个挑战。

        我们可以互换使用“特征”和“表示”,每个都是一个实体的向量或张量表示,它可以是一张图像,音频样本,单个单词或一个句子。multimodal representation是使用来自多个这样的实体的信息来表示数据的一种表示。

▲表示多模态存在很多困难:

  1. 如何组合来自异构源的数据。
  2. 如何处理不同级别的噪声。
  3. 如何处理丢失的数据。

        以一种比较有意义的方式表示数据的能力,对于多模态问题至关重要,并且是任意模型的骨干。

▲一些比较好的表示的属性:

  • smoothness  平滑性
  • temporal and spatial coherence  时空一致性
  • sparsity  稀疏性
  • natural clustering  自然聚类

▲其他可取的属性:

  • 表示空间的相似性应该反映相应概念的相似性。
  • 即使即使一些模态,也应该很容易获得representation。
  • 在给定已有的模态的情况下,应该可以确定缺失的模态。

在自然语言处理中,文本特征最初依赖于计算文档中单词出现的次数,但现在多用“利用单词上下文的数据驱动的单词嵌入”(unimodal representation)。

▲虽然unimodal representation方面有大量的工作,但直到近期,大多数multimodal representation只是将unimodal ones简单连接在一起,不过这一点正在改变。

▲两类multimodal representation:

  1. joint representations: 将unimodal signals组合到同一个表示空间中。
  2. coordinated representations: 分别处理unimodal signals,但要对它们增加一定的相似性约束,使它们变成我们想要的协同空间(coordinated space)。

① joint representations: 

        joint representations主要(但不是唯一)用于:在train和inference步骤中都存在多模态数据的任务。

▲joint representation最简单的例子就是:单个模态特征的串联(也称为早期融合)。

▲joint representation的代表性工作:

(1)neural networks:

        一般来说,神经网络由连续的内积,后跟非线性激活函数组成。为了用神经网络来表示数据,首先要对其进行训练,使之能够执行特定的任务(eg:识别图像中的对象)。由于深度神经网络的多层性,假设每个连续层以更抽象的方式表示数据,因此通常使用最后一层或倒数第二层作为数据表示形式。

        为了利用神经网络构造multimodal representation,每个模态从几个单独的神经层开始,然后是一个隐层,将模态映射到一个联合空间中。然后,the joint multimodal representation被送到多个隐藏层中,或直接用来预测。这样的模型可以通过端到端的学习来表示数据并执行特定任务。所以在使用神经网络时,multimodal representation学习和multimodal fusion之间由很密切的联系。

        由于神经网络需要大量标记的训练数据,因此通常使用来自不同,但是相关的领域的无监督数据(eg:自动编码器模型)或监督数据,对此类表示进行训练。

        基于neural network的joint representations的主要优点是:当标记的数据不足以进行监督利用未标记的数据进行学习时,能够利用未标记的数据进行预训练。通常也被用于对现有的特定任务的结果表示进行微调,因为利用无监督数据构建的表示是通用的,并且不一定需要它是最好的。

        其中一个缺点是:不能很自然地处理丢失地数据,尽管有很多方法缓解这个问题。

(2)probabilistic graphical models:

        概率图模型,可以用潜在的随机变量来构造表示。

        DBMs(深度玻尔兹曼机)不需要监督数据来进行训练。由于是图模型,数据的表示是概率的,但是可以将其转换为确定的神经网络,但是这将失去模型的生成方面。

        在单模态数据进行非线性转换后,整合数据,对模型是非常有利的。

        使用多模态DBMs学习multimodal representations的一个很大的优点是:生成性。这一特性使得处理丢失数据的方法更简单,即使丢失了整个模态,模型也能自然的处理。还可以在第二种模态存在的情况下,生成第一种模态的样本,或者从representation中生成两种模态。与自动编码器类似,the representation可以使用未标记的数据进行无监督训练。

        DBMs的主要缺点是:训练难度大——计算成本高;需要使用近似变分训练方法(approximate variational training methods)。

(3)sequential representation:

        我们通常需要表示不同长度的序列,eg: sentences, videos, audio streams。 RNNs及其变体LSTM在不同任务的序列建模方面取得了成功。到目前为止,RNN主要用于表示单模态的单词、音频或图像序列,在语言领域取得很大的成功。与传统的神经网络相似,RNN的隐藏态可以看作是数据的一种表示,也就是说,RNN在时间步t处的隐藏态,可以看作是该时间步之前序列的总结。

② coordinated representations: 

        不是将模态一起映射到一个联合的空间中,而是为每个模态学习单独的表示,但要通过一个约束进行协调。

(1)similarity models:

        相似性模型最小化了协同空间中模态之间的距离。eg: 使单词"dog"与dog的图像之间的距离小于单词"dog"和car的图像之间的距离。

        近年来,由于神经网络的学习表示的能力,所以神经网络已经成为一种常用的构造coordinated representations的方法。优势就在于神经网络可以以端到端的方式一起学习coordinated representations。这种coordinated representation的一个例子:DeViSE——一种深层视觉语义嵌入。

        cross-model retrieval和video description任务,通常用:<主语,动词,宾语>,即<subject, verb, object>组合的语言模型和深层视频模型,来在video和sentence之间构造coordinated space。

(2)structured coordinated space:

        上面的模型增强了representations之间的相似性,但structured coordinated space模型超越了这一点,并且增强了模态表示之间额外的约束。增强的结构的类型通常是基于应用的,hashing, cross-modal retrieval, image captioning的约束是不同的。

        structured coordinated spaces通常用于跨模态哈希——将高维数据压缩成紧凑的二进制代码,相似的对象有相似的二进制代码。hashing在结果多模态空间上增强了一定的约束:1)它必须是一个N维Hamming空间——一个具有可控位数的二进制表示。2)不同模态的相同对象必须有相似的hash code。3)空间必须保持相似性。

         structured coordinated representation的另一个例子,来自图像和语言的顺序嵌入。

         structured coordinated space的一个特殊情况:基于典型相关分析(canonical correlation analysis, CCA),CCA计算线性投影,使两个变量(文中是指模态)之间的相关性最大化,并且增强新空间的正交性。CCA模型已经广泛用于cross-modal retrieval和audiovisual signal analysis。 CCA的延伸尝试构造相关最大化非线性映射。

        (还有KCCA,DCCA,略)

        CCA,KCCA,DCCA都是无监督的,仅优化representations之间的相关性,因此捕捉的多是模态间共享的东西。深度典型相关的自动编码器还包括基于自动编码器的数据重建项。这鼓励了representation捕捉模态的特有信息。语义相关最大化方法也支持语义相关性,同时保留相关性最大化和结果空间的正交性,这也促进了CCA和cross-modal hashing技术的结合。

        ▲ joint representation将多模态数据映射到公共空间中,更适合于:在推理(inference)过程中,所有模态都存在。广泛应用于:AVSR,情感和多模态手势识别。

        ▲ coordinated representations将每个模态分别映射到分开的但是协同的空间中,更适合于:在测试时只有一种模态,应用于:multimodal retrieval and representation, grounding, zero shot learning。

      另外,joint representations用于两种以上模态的情形。coordinated representation大多限制到2种。

2. translation:

        multimodal machine learning一大部分涉及到,从一种模态translating(mapping)到另一种模态。给出一种模态的实体,任务就是生成不同模态中的相同实体。eg:给出一张图像,我们想要生成一句话来描述这幅图像,或者,给出文本描述,生成与其匹配图像。

        multimodal translation是一个长期研究的问题,早期工作有:speech synthesis(语音合成),visual speech generation, video description, 和cross-modal retrieval。

        multimodal translation的方法很广,并且通常有具体的模态,共享大量统一的因素。可以分为两类:1)example-based, 2) generative.

         1)example-based 模型在模态之间translating时使用了一个dictionary.

         2)generative 模型,构造一个model,可以生成translation.

        可以说,构造generative模型更具挑战性,因为它要求能够生成信号或符号序列(eg, sentences)。这对于任何模态——visual, acoustic(听觉),verbal(语言)来说都是困难的,尤其是需要生成时间上和结构上一致的序列时。这使得很多早期的multimodal translation系统依赖于example-based translation。

① example-based:

        example-based算法受限于其训练数据——dictionary.

        可以分为两种:1)retrieval based; 2)combination based

▲ retrieval-based模型,直接使用retrieved translation,并没有对其进行修改。

▲ combination-based模型,依赖于更复杂的规则,基于大量检索实例来创建translation。

▲ multimodal translation的分类:

(1)retrieval-based models:

        retrieval-based模型可以说是multimodal translation中最简单的形式,它依靠找到dictionary中最近的样本,并将其作为translate的结果,检索可以在单模态空间或中间语义空间(intermediate semantic space)中进行。

        给出一个要translate的单模态实例,单模态检索要在源空间的dictionary中找到最接近的实例。

        这种单模态检索方法的优点:它只需要我们正在检索的单个模态的representation.(The advantage of such unimodal retrieval approches is that they only require the representation of a single modality through which we are performing retrieval.)然而,它通常需要额外的多模态后续处理步骤,比如对retrieved translation进行重新排序,这表明这种方法的一个主要问题:单模态空间的相似性并不总意味着时良好的选择。

        另一种方法是在retrieval过程中,使用中间语义空间来进行相似性比较。

        语义空间中的检索方法往往比单模态检索方法更好,因为它们在一个更具意义的空间检索示例,该空间反映了2中模态,并且通常会对检索进行优化。此外,它也可以进行双向translation,这在单模态方法中并不容易。然而,这需要人为地去构造或学习这样一种语义空间,并且需要有大型训练dictionary(成对样本数据集)。

(2)combination-based models:

        使retrieval-based方法更进一步,它不仅仅是从dictionary中检索示例,还会用一种更有意义的方法把这些示例结合起来,来构造更好的translation。基于组合的媒体描述方法是基于:图像的句子描述共享一个可以被利用的公共的、简单的结构。最常见的组合规则是手动的或基于启发式的。

▲ example-based方法存在的问题:

  • 模型是整个字典,这就会使模型很大,推理起来很慢(不过,hashing之类的方法可以缓解)。
  • 除非任务很简单,或者字典很大,否则,期望与源例相关的、完整的、准确的translation总是存在于字典中是不现实的。

(combination模型能构造更复杂的结构,所以能部分解决上述问题,然而它也只能在一个方向上进行translate,不过,semantic space retrieval-based模型可以在两个方向上进行translate.)

② generative approaches:

         在给定单模态源例的情况下,用于multimodal translation的generative方法构造的模型可以进行multimodal translation,这是一个具有挑战性的问题,因为它需要能够理解源模态,也要能生成目标序列或信号。

▲ 分三类:

  1. grammar-based:通常通过使用语法来限制目标域,以简化任务,eg:基于<subject, object, verb>模板来生成受限制的句子。
  2. encoder-decoder:首先将源模态编码成潜在表示,然后送到解码器中,生成目标模态。
  3. continuous generation:基于源模态输入流,连续生成目标模态;最适合在时间序列之间translate. eg:文本到语音(text-to-speech)。

(1)grammar-based models:

        基于语法的模型,根据预定义的语法,来生成特定的模态。首先,从源模态中检测高级概念,比如图像中的对象、视频中的动作。然后,将这些检测到的高级概念,与基于预定义的语法的生成程序,结合到一起,以生成目标模态。

        grammar-based方法的优点是:因为它们使用预定义的模板和限定的语法,所以很可能生成在语法上(对于language)或逻辑上正确的目标实例。缺点:限制了它们,只能生成公式化的而不是创造性的translation。

        此外,grammar-based方法依赖于更复杂的pipline来进行概念检测,每个概念都需要一个单独的model和一个单独的训练集。

(2)encoder-decoder models:

        基于端到端训练的神经网络的编码器-解码器模型是目前最流行的multimodal translation技术之一。这种模型背后的主要思想:首先,将源模态编码为向量表示,然后,用解码器生成目标模态,所有这些都是在单过程pipline进行的。

        使用RNN生成translation面临的问题:模型必须从图像、句子或视频的单个向量representation中生成描述。这在生成长序列时,尤其困难,因为模型可能会忘记初始输入。通过在解码过程中的每一步,包含进编码信息,可以部分解决这个问题。还提出了注意力模型,使生成期间,解码器能更好的聚焦于图像、句子或视频的某些部分。

        最近,在使用生成对抗网络生成图像方面取得了很大的进展,该网络已被用作RNN的替代方案,用于“从文本生成图像”。

(3)continuous generation model:

        用于序列translation,以在线的方式,在每个时间步都生成输出。当从一个序列translate到另一个序列时(eg:text to speech, speech to text, video to text),这些模型很有用。

        针对这类模型提出的不同技术: graphical modals, continuous encoder-decoder approaches,以及其他回归或分类技术。

        这列模型需要解决的额外的困难:模态间时间一致性的需求。

        早期,许多工作使用图模型来在连续信号之间进行multimodal translation,然而这些方法正在被基于神经网络编码器-解码器的技术所取代。

        ▲ multimodal translation方法面临的一个主要挑战是:评估。

             像语音识别(speech recognition)这样的任务,有一个正确的translation。而像语音合成(speech synthesis)、媒体描述(media description)等,却没有。有时,和语言translation一样,有多个答案是正确的,决定哪种translation是最好的的判断往往是主观的。

 

猜你喜欢

转载自blog.csdn.net/Dorothy_Xue/article/details/87823489