购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 表示学习

表示学习(Representation Learning)的原理涉及数据的降维、特征提取和重构等技术。通过降维,可以将高维数据映射到一个更低维的空间,同时保留最重要的信息。特征提取则是指从原始数据中提取有意义的特征或表示,使得数据更容易被分类或聚类。重构是指从学习到的表示还原出原始数据,以确保学到的表示包含足够的信息。

在深度学习中,表示学习是指通过无监督学习或自监督学习的方式,将原始数据转换为更加有意义和可处理的表示形式。这些表示形式可以是低维稠密向量、分层结构或时间序列等,有助于提取出数据中的高级特征和结构。

表示学习的常见方法和原理如下:

(1)自编码器

自编码器(AutoEncoder, AE)通过将输入数据压缩成低维编码,再将其重构为与原始数据尽可能相似的输出,来学习有效的数据表示。自编码器包括编码器和解码器两个部分,编码器用于压缩数据,解码器用于重建数据。

(2)变分自编码器

变分自编码器(Variational AutoEncoder, VAE)是一种生成模型,它通过学习数据的概率分布来实现表示学习。VAE使用编码器将数据映射到潜在空间中的分布参数,然后使用解码器从该概率分布中采样并生成与原始数据相似的输出。VAE通过最大化观测数据和潜在变量之间的边缘似然来学习潜在空间的概率分布,从而实现对数据的生成、重构和插值等。

(3)卷积神经网络

卷积神经网络(Convolutional Neural Network, CNN)主要用于图像处理领域,通过使用多层卷积和池化层来提取图像中的局部特征和全局特征。CNN通过逐层堆叠特征提取层,逐渐形成高级抽象的表示。

(4)生成对抗网络

生成对抗网络由生成器和判别器两个模型组成。生成器试图生成逼真的数据,而判别器试图区分生成的数据和真实数据。通过对抗的过程,生成器逐渐改进生成样本的质量,判别器则提高区分能力,最终生成器可以生成与真实数据类似的样本。

(5)时序模型

时序模型(Sequential Model)主要用于处理时间序列数据,包括循环神经网络和长短期记忆网络等。时序模型能够处理具有时间相关性的数据,将历史信息编码到当前表示中,更好地捕捉数据中的时序模式。

(6)Transformer模型

Transformer模型是一种基于自注意力机制的模型,主要应用于序列到序列的任务,如机器翻译、摘要生成等。Transformer模型通过多层编码器和解码器的堆叠,利用自注意力机制同时考虑输入序列的所有位置信息,有效地捕捉输入序列的上下文关系。Transformer在处理长序列数据和并行计算上具有优势,被广泛应用于自然语言处理领域。

这些表示学习方法在深度学习中具有重要意义,可以有效地提取数据中的有用信息,改善任务的性能,并推动深度学习在各个领域的应用。

1.4.1 表示学习的直观理解

表示学习一般指模型自动从数据中抽取特征或者表示的方法,是模型自动学习的过程。表示学习的重点是自动学习,它与传统机器学习中的特征工程(Feature Engineering)不同,特征工程主要指对于数据的人为处理提取,如处理缺失值、特征选择、类型转换、维度压缩等预处理手段。表示学习与特征工程的区别如图1-7所示。

近年来,以深度学习为代表的表示学习技术非常火热,在图像处理、语音识别和自然语言处理等领域获得广泛关注。那么,到底什么是表示学习呢?

图1-7 表示学习与特征工程的区别

在深度学习领域,表示是指通过模型的参数,采用何种形式、何种方式来表示模型的输入数据。表示学习的基本思路是不依赖于人工经验,自动地找到对于输入数据更好的表达,以方便后续任务。表示学习有很多种形式,比如卷积神经网络参数的有监督训练是一种有监督的表示学习形式,自编码器、受限玻尔兹曼机(RBM)、GPT、BERT等参数的无监督预训练是一种无监督的表示学习形式,词嵌入及预训练模型等之后再进行有监督微调是一种半监督的表示学习形式。

表示学习是对输入数据的简明表达,其目的就是方便后续任务。人类的表示学习处处都存在,如图1-8所示,“你找小张去火车站接小刘”这个过程就是一个典型的表示学习过程,同时说明了表示学习的主要目的。

图1-8 表示学习的直观理解

你向小张描述小刘的主要特征,而小张基于你的描述,在脑海中想象小刘的样子,最后在火车站找到小张,从维度角度来看,就是一个高维到低维再到高维的过程。

这个模型架构就是典型的自编码器的架构,很多生成模型(如AE、VAE、Transformer、Diffusion等)都采用类似的架构。图1-9为自编码器的架构。

图1-9 自编码器的架构

1.4.2 表示学习的常用方式

在表示学习中,表示的对象是指待学习的数据,可以是图片、文本、音频等不同类型的数据。这些数据在原始形式下可能很难直接被计算机有效地理解和处理,因为它们可能是高维度、复杂且包含噪声的。表示学习的目标就是找到一种更加有意义和表征性强的表示形式,将原始数据转换为计算机更容易处理的形式。

在表示学习中,可以根据学习的方式和特点将表示分为多种类型。以下是一些常见的表示方式。

(1)整数表示

整数表示(Integer Representation)将类别特征映射为整数值。例如,对于颜色特征,可以将“红色”表示为0,“蓝色”表示为1,依此类推。但需要注意的是,这种表示方式会引入一个假象的顺序关系,因此在某些情况下可能不适用。

(2)独热编码表示

独热编码表示(One-Hot Encoding Representation)将类别特征映射为只有一个元素为1、其余元素都为0的一个二进制向量。每个类别都对应一个唯一的向量。独热编码适用于没有顺序关系的类别特征。

(3)分布式表示

分布式表示(Distributed Representation)将数据表示为其所属分布的参数。常见的方法包括使用均值和方差表示高斯分布,使用概率密度函数或累积分布函数表示离散分布。

(4)连续表示

连续表示(Continuous Representation)是与整数或独热编码等离散表示相对的一种表示方式,它将数据表示为连续的实数向量。在连续表示中,数据在特征空间中可以形成连续的流形结构,使得相似的数据在表示空间中更加接近。深度学习中的神经网络通常使用连续表示。

(5)词嵌入表示

词嵌入表示(Word Embedding Representation)是一种将离散的词语转换为低维实数向量的表示方法。它通过学习词语之间的语义关系,将具有相似语义的词语在向量空间中映射到相近的位置。词嵌入具有两个重要特点:一是能够保留词语的语义信息,比如上下文和语义相似性;二是能够捕捉词语之间的线性关系,比如类比关系。这些特点使得词嵌入在自然语言处理等领域中得到广泛应用。

1.4.3 表示学习与特征工程的区别

表示学习和特征工程是机器学习中两个相关但又有所不同的概念。它们之间的区别可从以下3个方面进行说明。

(1)定义

表示学习是一种自动学习数据的优质表示或特征的方法,它通过学习数据本身的表征来提取更有意义、更高层次的特征。这些表示可以是低维的、稠密的向量,能够捕捉到数据中的有用信息,为后续的学习任务打好基础。

特征工程是指通过人为的方式对原始数据进行转换和提取,以生成更有信息量和判别性的特征。特征工程依赖于人类领域知识和直觉,目的是将数据转换为机器学习算法更容易理解和处理的形式。

(2)目标

表示学习的目标是学习到数据的最佳表示或特征,以便为后续的机器学习任务提供更好的输入,同时通过自动学习提取到的特征来捕捉数据中的潜在结构和关系。

特征工程的目标是基于领域知识和对问题的理解,通过人为构造和选择特征来提高机器学习模型的准确性和泛化能力,从而改善算法的性能。

(3)自动化

表示学习是一种自动学习方法,它可以通过训练算法来自动地学习数据的最佳表示。表示学习算法能够自主提取和学习特征,不需要人为设定和构造特征,从而减少了人工干预和依赖。

特征工程需要人为地根据问题和数据的特点进行特征的构造和选择。特征工程的过程需要人们运用领域知识和经验来判断哪些特征是有用的,以及如何将原始数据转换为特征。

总的来说,表示学习是一种自动学习数据优质表示或特征的方法,它通过学习数据的表征来提取更高层次的特征,减少了对人工特征工程的依赖。而特征工程则是通过人工构造和选择特征来改善机器学习算法的性能,它依赖于领域知识和人类直觉。表示学习更注重自动化和学习的能力,而特征工程更注重特征的构造和选择的能力。在实际应用中,表示学习和特征工程往往可以结合使用,以获得更好的特征表示和模型性能。

1.4.4 图像的表示学习

图像的表示学习是指通过机器学习方法,将图像转换成更有意义、更高层次的特征表示的过程。在图像的表示学习中,主要包括以下3个方面的内容:输入、使用方法和输出。

(1)输入

图像表示学习的输入通常是一张或一批图像,这些图像可以是彩色图像(RGB格式)或灰度图像。每张图像由像素组成,每个像素代表图像的一个点,而彩色图像由红、绿、蓝三个通道的像素值组成。因此,对于彩色图像,其输入数据通常是一个三维数组,而对于灰度图像,输入数据是一个二维数组。

(2)使用方法

图像的表示学习有多种方法,常见的方法如下。

1)卷积神经网络。卷积神经网络是一类特别适用于图像处理的神经网络结构,通过多层卷积和池化层来逐步提取图像的特征表示。

2)自编码器。自编码器是一种无监督学习方法,通过学习将输入图像编码成低维表示,再将其解码还原成原始图像,以促使模型学习到更有意义的特征表示。

3)生成对抗网络。生成对抗网络是一种通过两个对抗性的神经网络(生成器和判别器)共同学习,使得生成器可以生成逼真图像的方法。其中,生成器也可以用来提取图像特征。

4)预训练模型。在大规模图像数据上预训练好的模型,如ImageNet数据集上训练的模型,可以迁移学习到其他任务或数据集上,从而得到更好的图像特征表示。

(3)输出

图像表示学习的输出是经过学习得到的图像特征表示,通常是一个向量或矩阵。这些特征表示在机器学习任务中可以作为输入,用于分类、目标检测、图像生成等任务。通过图像表示学习,模型可以学习到更加抽象和语义丰富的特征,从而提高了图像处理任务的性能。

总的来说,图像的表示学习是一种将图像转换为有意义特征表示的技术,通过不同的方法可以得到高质量的图像特征,这些特征可以应用于各种图像处理任务中。

1.4.5 文本的表示学习

传统的语言模型通常把学习得到的上下文信息用词向量或词嵌入的方式保存,这些方法虽然简单,但适用范围、泛化能力都非常有限。为了解决这个问题,Transformer模型被引入大语言模型中。Transformer模型是一种基于自注意力机制的深度学习模型,它可以直接建模和处理序列数据,而不需要像传统的语言模型那样先将输入序列转化为词向量或词嵌入。在获取该表征之后,只需要在不同的下游NLP任务中添加一个轻量级的输出层,如单层MLP,进行微调即可。

文本的表示学习是指通过机器学习方法,将文本数据转换成更有意义、更高层次的特征表示的过程。在文本的表示学习中,主要包括3个方面的内容:输入、使用方法和输出。

(1)输入

文本表示学习的输入通常是一段或一批文本,比如一句话、一篇文章或一个文本文档。在处理文本时,首先需要将文本转换成计算机可以理解的形式,即将文本转换成数值向量。这个转换过程被称为文本嵌入(Text Embedding)。通常,可以将文本表示为词嵌入序列或句子嵌入(Sentence Embedding)向量。

1)词嵌入:将文本中的每个词映射到一个固定维度的向量,每个维度表示一个语义特征。常见的词嵌入模型包括Word2Vec、GloVe(Global Vectors for word representation)和FastText等。

2)句子嵌入:将整个句子映射到一个向量,表示整个句子的语义信息。句子嵌入可以通过词嵌入的组合、循环神经网络、长短期记忆网络、Transformer等方法得到。

(2)使用方法

文本的表示学习有多种方法,其中一些常见的方法如下。

1)Bag-of-Words(词袋模型):将文本看作词的无序集合,将每个词表示为一个独热向量,文本向量为所有词向量的加和。这种方法忽略了词序信息,适用于简单的文本分类任务。

2)Word2Vec:通过训练神经网络,将每个词映射为一个稠密的向量,捕捉词之间的语义关系。Word2Vec适用于词的相似度计算、词的聚类和文本分类等任务。

3)RNN和LSTM:通过循环神经网络或长短期记忆网络,对整个句子进行建模,并得到句子嵌入。这些方法可以处理变长的文本输入,适用于文本分类、情感分析等任务。

4)Transformer:使用自注意力机制,能够并行处理文本序列,捕捉全局依赖关系,适用于各种文本任务,在机器翻译领域表现尤为出色。

(3)输出

文本表示学习的输出是经过学习得到的文本特征表示,通常是一个向量或矩阵。这些特征表示在机器学习任务中可以作为输入,用于文本分类、情感分析、机器翻译、问答系统等各种NLP任务。通过文本表示学习,模型可以学习到更加抽象和语义丰富的文本特征,从而提高了文本处理任务的性能。

总的来说,文本的表示学习是一种将文本数据转换为有意义特征表示的技术,通过不同的方法可以得到高质量的文本特征,这些特征可以应用于各种NLP任务中。

1.4.6 多模态的表示学习

单模态的表示学习负责将信息表示为计算机可以处理的数值向量或者进一步抽象为更高层的特征向量;而多模态表示学习利用多模态之间的互补性,剔除模态间的冗余性,从而学习到更好的特征。

联合表示(Joint Representation):将多个模态的信息一起映射到一个统一的多模态向量空间。CLIP和DALL·E使用简单的联合表示,如图1-10左图所示。

协同表示(Coordinated Representations):将多模态中的每个模态分别映射到各自的表示空间,但映射后的向量之间满足一定的相关性约束(例如迁移学习使用协同表示),如图1-10右图所示。

图1-10 多模态中的表示学习

在概率模型中,好的表示可以捕捉所观察到的输入数据的潜在变量的后验分布(可表示为 p z | x ),其中 x 为输入数据, z 为潜在变量),也可以作为有监督预测器的输入。

表示学习实现了对实体和关系的分布式表示,具有显著提升计算效率、有效缓解数据稀疏、实现异质信息融合三大优势,对于知识库的构建、推理和应用具有重要意义。

1.4.7 表示学习的融合技术

表示学习中融合技术的应用非常广泛,如Transformer模型中的输入嵌入与位置编码的融合、ResNet模型中的残差连接、DenseNet网络中的拼接、Stable Diffusion模型使用的图像嵌入与单词嵌入的融合等。

在表示学习中,表示融合是指将来自不同模态的特征进行整合,生成一个共享的表示空间。表示融合的目标是融合不同模态的信息,使融合后的表示能够更好地表达和处理跨模态的任务。下面介绍几种常见的表示融合方法以及它们的原理、优缺点。

1.串行融合

原理:将不同模态的特征串行连接在一起,形成一个长向量作为输入。

优点:简单、易实现,适用于特征维度较低的情况。

缺点:丢失了不同模态之间的交互信息,忽略了模态之间的关联及依赖性,性能可能受限。

2.并行融合

原理:将不同模态的特征分别处理后,再进行融合。

在Transformer中,词嵌入和位置编码器可以被认为是一种并行融合的方式。在这个过程中,输入序列首先被转化为特征向量(称为嵌入向量),然后与位置信息进行编码。具体而言,Transformer的嵌入层先将输入序列中的每个元素进行嵌入操作,将其映射到一个特定维度的向量空间中,这个操作可以同时对输入序列中的所有元素进行。这个过程可以看作将不同的输入序列转化为不同的特征向量,用于捕捉输入序列的语义和语法信息。位置编码器将位置信息与嵌入向量相加,以提供关于词语在句子中位置的信息。这个过程也是并行进行的,每个嵌入向量都会与相应的位置编码进行相加,从而融合位置信息和语义信息。通过将嵌入向量和位置编码进行并行操作,Transformer能够同时考虑输入序列的语义信息和位置信息,以产生上下文感知的表示。这种并行融合机制有助于提高Transformer在NLP任务中的性能,例如机器翻译、文本生成等。

优点:可以同时利用不同模态的信息,能够更好地保留不同模态的关键特征。

缺点:可能存在信息冗余和模态依赖的问题,需要依靠特征选择或注意力机制进行调整。

3.加权融合

原理:给不同模态的特征赋予权重,使用一组权重对特征进行加权融合。

优点:可以灵活地控制不同模态在融合后的表示中的贡献度。

缺点:需要提前设定权重,如果权重设置不合理,可能会导致信息不平衡或丢失关键特征。

4.共享融合

原理:通过共享网络层或参数,将不同模态的特征提取器和融合器整合到一个统一的模型中。

优点:能够充分利用不同模态之间的交互和关联,学习到更丰富的表示。

缺点:模型复杂度较高,容易受到过拟合的影响,需要更多的计算资源和训练数据。

5.注意力融合

原理:通过注意力机制,在融合过程中对不同模态特征赋予不同的权重,根据其重要性动态调整融合程度。

优点:能够自动学习不同模态特征的关注程度,提高模型对关键信息的捕捉能力。

缺点:需要额外的计算开销,模型复杂度较高。

每种表示融合方法都有其独特的优势和限制,选取哪种方法取决于具体的任务需求和数据特点。在实际应用中,常常需要根据实验结果进行模型选择和调整,以获得最佳的表示融合效果。

1.4.8 如何衡量表示学习的优劣

表示学习是从原始数据中自动地学习到高层次的抽象表示。这些抽象表示可以捕捉到数据的关键特征和结构,从而为后续的机器学习任务提供更好的支持。表示学习的优劣可以通过以下指标进行衡量。

● 可解释性。好的表示应该能够提供对数据的有意义的解释和理解,使得人们能够更好地理解数据内在的规律和含义。

● 可区分性。好的表示应该能够将同类数据样本聚集在一起,并将不同类数据样本区分开来,从而更好地支持分类和聚类等任务。

● 可扩展性。好的表示应该适用于不同类型的数据和不同规模的数据集,并能够从大量的数据样本中学习到具有普遍性的表示。

● 适应性。好的表示应该能够在新的任务和数据下保持良好的泛化能力,即使只有少量的新数据样本。

如何学习到好的表示?可以采取以下方法。

1)监督学习。使用带有标签的数据来训练模型,例如卷积神经网络(CNN)和循环神经网络(RNN)等。

2)无监督学习。利用无标签的数据进行模型训练,例如自编码器和变分自编码器等。

3)半监督学习。同时使用有标签和无标签的数据进行训练,结合有监督和无监督方法。

4)迁移学习。利用已有领域的知识来帮助表示学习,例如使用预训练的神经网络模型进行特征提取。

5)强化学习。通过与环境的交互及试错来逐步优化表示学习。

在实际应用中,根据具体任务和数据特点选择合适的表示学习方法和评价指标,可以更好地学习到好的表示。 hO8rBusVbJ2a5KhnkmGf2ZUS6Oo7Mumt0lu6RpRp3WnPf5P1cq19Hly4xR47Ixen

点击中间区域
呼出菜单
上一章
目录
下一章
×