图神经网络 基础、前沿与应用 第一章 表征学习 阅读笔记

发布时间 2023-04-08 08:28:53作者: 小染子

导读

表征学习的目标是从数据中提取足够但最少的信息。传统上,该目标可以通过先验知识以及基于数据和任务的领域专业知识来实现,这也被称为特征工程。特征工程是利用人类的现有知识的一种方式,旨在从数据中提取并获得用于机器学习任务的判别信息(比如从音频中通过傅立叶变换提取出mel频谱)。
特征工程的缺点:
  • 需要领域专家的密集劳动,这是因为特征工程可能需要模型开发者和领域专家之间紧密而广泛的合作。
  • 不完整的和带有偏见的特征提取,不同领域专家的知识限制了所提取特征的容量和判断能力。
为了避免这些缺点,使得学习算法不那么依赖特征工程,一直是机器学习和人工智能领域的一个非常理想的目标。
传统的表征学习方法属于“浅层”模型,旨在学习数据转换,使其在建立分类器或其他预测器时更容易提取有用的信息,如主成分分析(PCA)、高斯马尔可夫随机场(GMRF)以及局部保持投影(LPP)。
基于深度学习的表征学习则由多个非线性变换组成,目的是产生更抽象且更有用的表征。基于深度学习的表征学习,具体可以分为:
  • 监督学习:需要通过大量的标记数据训练,给定训练良好的网络,最后一个全连接层之前的输出总是被用作输入数据的最终特征。
  • 无监督学习(包括自监督学习):有利于分析没有相应标签的输入数据,旨在学习数据的潜在固有结构或分布,通过代理任务可以从大量无监督数据中探索监督信息。基于这种方式构建的监督信息可以训练深度神经网络,从而为未来下游任务提取有意义的表征。
  • 迁移学习:涉及利用任何知识资源(如数据、模型、标签等)增加模型对目标任务的学习和泛化能力。 迁移学习囊括不同的场景,如多任务学习、模型适应、知识迁移、协变量偏移等。
定义什么是好的表征很重要。例如在基于生成模型的数据生成任务中,对于观察到的输入,好的表征往往能够捕捉到潜在解释因素的后验分布;对预测任务来说,好的表征能够捕捉到输入数据的最少但足够的信息来正确预测目标标签

不同领域的表征学习

用于图像处理的表征学习

图像表征学习是理解各种视觉数据的语义的一个基本问题。图像处理中的图像表征学习的目标是弥合像素数据和图像语义之间的语义差距(即像素数据的语义不是很充分,需要提取特征来丰富语义)。
传统上,图像的模式是由人们基于先验知识借助手工特征提取的,比如从笔画中提取字符的结构特征,然后用它们识别手写字符这些用手动从图像中提取特征的方法,相关的预测表现强烈依赖于先验知识。而CV中,由于特征向量具有高维度,手动提取特征既繁琐又不切实际。

图像处理的监督表征学习

比如卷积神经网络深度信念网络(Deep Belief Network,DBN)

无监督表征学习

显然是不用人工进行标注数据。
在无监督训练阶段,需要设计供模型解决的预定义的代理任务代理任务的伪标签是根据数据的一些属性自动生成的,然后根据代理任务的目标函数训练模型。深度神经网络模型的浅层部分侧重于低层次的一般特征,比如角落、边缘和纹理等;深层部分则侧重于高层次的特定任务特征,如物体、场景等。用预先定义的代理任务(比如灰度图像着色和图像修复)训练的模型可以通过学习内核来捕捉低层次和高层次的特征,这些特征对其他下游任务是有帮助的。无监督训练结束后,这种在预训练模型中学习到的视觉特征便可以进一步迁移到下游任务中,以提高表现并克服过拟合

迁移学习

由于人工标注的成本很高,可能并非总是可以获得足够的属于相同特征空间或测试数据分布的训练数据。迁移学习通过模仿人类视觉系统,在给定领域执行新任务时,利用了其他相关领域的足够数量的先验知识。
一个迁移学习任务只有一个目标领域,但可以存在一个或多个源领域。用于图像处理的迁移学习技术分为特征表征知识迁移和基于分类器的知识迁移两种。特征表征知识迁移利用一组提取的特征将目标领域映射到源领域,这样可以显著减少目标领域和源领域之间的数据差异,从而提高目标领域的任务性能。基于分类器的知识迁移将学到的源领域模型作为先验知识,用于与训练样本一起学习目标模型,通过两个领域的训练集和学习的模型来学习另一个新的模型,从而使目标领域的泛化误差最小。

用于语音识别的表征学习

传统上,设计手工声学特征的任务与设计有效模型以完成预测和分类决策的任务是彼此独立的两个不同问题。但这种方法显然有两个主要缺点:
  • 特征工程比较麻烦,涉及到人的先验知识。
  • 设计的特征可能不是针对特定语音识别任务的最佳选择。
语音数据与二维图像数据有如下根本区别:图像可以作为一个整体或块进行分析,但语音必须按顺序格式,以捕捉时间依赖性和模式。

用于NLP的表征学习

谷歌图像搜索基于NLP技术利用大量数据把图像和查询映射到了同一空间。表征学习在NLP中的应用有两种类型,其中一种类型是语义表征(比如词嵌入)是在预训练任务中训练的,然后被迁移到目标任务的模型中,语义表征通过语言建模目标进行训练,并作为其他下游NLP模型的输入;另一种类型中,语音表征暗含在深度学习模型中,并直接以端到端的方式更好地实现目标任务,例如许多NLP任务希望在语义上合成句子表征或文档表征,如情感分类、自然语言推理和关系提取等需要句子表征的任务。
首先,NLP通常关注多层次的语言条目,包括字符、单词、词语、句子、段落和文档等。表征学习能够在统一的语义空间中表征这些多层次语言条目的语义,并在这些语言条目之间建立复杂的语义依赖模型。
其次,可以在同一输入上执行各种NLP任务,比如单词分割、关系提取、机器翻译等,为多个任务建立一个统一的输入表征空间将更加有效和稳健。
最后,可以从多个领域和多个语言手机文本。传统的NLP系统必须根据每个领域的特点设计特定的特征提取算法,表征学习可以在大规模领域数据中自动构建表征,甚至在来自不同领域的语言之间建立桥梁。

NLP的监督表征学习

一般是看预测下一个词的正确率,预测的内容用作监督。

NLP的无监督表征学习

词嵌入模型。以及用于全句转述检测的循环自编码器。

NLP的迁移学习

顺序迁移学习包括两个阶段:首先是预训练阶段,主要包括在源任务或领域中学习一般的表征;其次是适应阶段,主要包括将学到的知识应用于目标任务或领域。NLP中的领域适应可以分为以模型为中心以数据为中心混合方法三种,以模型为中心的方法旨在增强特征空间以及改变损失函数、结构或模型参数。以数据为中心的方法专注于数据方面,涉及伪标签,其中只有少量的类别在源数据集和目标数据集之间共享。混合方法是由以数据和模型为中心的模型建立的。

网络分析的表征学习

传统的网络数据特征工程师通常侧重于通过图层面(图直径、平均路径长度、聚类系数)、节点层面(节点度和中心度)或子图层面(频繁子图和图主题)获得一些预定义的直接特征。但是这些特征抛弃了那些不能被它们覆盖的模式。现实世界中的网络现象通常是高度复杂的,需要通过复杂未知的组合来描述,也可能无法用任何现有的特征来描述。并且传统的图特征工程通常涉及高复杂度的计算,比如计算矩阵的谱分解,其时间复杂度至少与顶点数量成四次方关系,无法扩展到大规模网络
网络表征学习(Network Representation Learning,NRL)旨在学习潜在的、低维的网络顶点表征,同时保留网络拓扑结构、顶点内容和其他侧面信息。在学习新的顶点表征之后,通过对新的表征空间应用传统的基于向量的机器学习算法,就可以轻松、有效地处理网络分析任务。许多网络表征学习算法通过将网络嵌入一个潜在的低维空间而保留了结构相似性和属性相似性,由此产生的紧凑的、低维的矢量表征可以作为任何基于矢量的机器学习算法的特征,如节点分类、链接预测、聚类、网络合成等。