摘要
介绍了一下这章干什么,讲表示学习(表征学习),然后主要关注DL方面的方法。解释了DL:一系列非线性变换,以得到更抽象、更有用的表示。然后是表征学习可以运用的领域:图片、nlp、演讲信号、网络……
表征学习介绍
踩了一波ML:依赖算法、数据特征的选取。不好的特征可能会影响算法、包含过多冗余信息。
然后给出表示学习的目的:从数据中提取出足够但是有限的特征。传统的做法是这样,利用特征工程–利用人的先验知识以及领域专家知识,来人工提取特征。并且,很大一部分的精力是放在数据预处理以及数据转换身上(也就是通俗的玩数据)。特别的,又踩了一波特征工程,就是利用的独创性和先验知识提取特征,先有人工再有智能。下面对特征工程的缺点进行了归纳:
- 需要模型开发者和领域专家共同协作。
- 人工提取特特征可能是不完全的、有偏好(甚至偏见的)。另外,人类自身的知识也是有限性的,并且同一领域的不同专家的见解也可能不一样。
传统的方法,属于比较”浅“的模型,它们的目的是对数据进行变换,以提取出更有用的信息。 还得是基于DL的表征学习,大致有这两类:
监督学习
最后的全连接层输出的就是原始数据的最终表示(final representation)
无监督学习:试图让模型找到数据内在的结构 | 数据潜在的分布。
这里还提到了预任务:“The pre-tasks are utilized to explore the supervision information from large amounts of unlabelled data”。和预训练(拿别人训练好的模型过来微调,前提是最后的分类得相同)不同,预任务是从大量的没有标签的数据中提取监督信息。基于这些提取好的监督信息,无监督学习就可以从数据中提取出更有意义的表示。
转移学习(transfer learning):
利用现在已有的数据、标签、模型,来学习一个新的模型,这个模型能够泛化之前学习的内容,然后针对具体的某一个任务。
reinforcement learning, few-shot learning, and disentangled representa- tion learning etc.
最后讲了下怎么评价一个好的表征学习,除了抽象的定义之外(representation learning is about learning the (underlying) features of the data that make it easier to extract useful information when building classifiers or other predictors),更直观的评估是看它在下游任务上的性能:
- 对于生成式任务(GPT),要看它是否能捕获到更后的(未来的)分布
- 对于预测任务,捕获最小的但是足够的信息来正确的预测到目标。
不同研究领域的表征学习
4个领域
- 图像
- 语音识别
- 自然语言处理
- 网络分析
图像
图像表征学习的目的是:在像素数据和人类语义之间搭起桥梁。
介绍了一下历史,从前的特征工程都是人工特征工程,是人先提取特征,然后给到机器。比如手写字母,有人提取了字母的结构特征。这种都是需要利用人力提取特征、利用并且依赖于人的先验知识。
有监督学习的图像表征学习,模型很多样,从Hinton提出的深度表征学习,为了对抗SVM在Minist上良好的性能,到Hinton的表示Alex搞的AlexNet,然后VGG、GoogleNet、ResNet……;大数据集也有很多:ImageNet、OpenImage等。
无监督图像表征学习,首先建立图像或者视频数据集非常昂贵,费人力费钱,因此有很多无监督的方法。
- pretext task:前置任务,模型先在前置任务上学习,这样有助于模型更好地理解目标任务。比如说先学纹理、阴影等低级特征,然后在学部分高级点的特征,最后再给到下游任务,下游任务的数据集往往不是很大,这时用pretext task可以改善性能、减少过拟合
transfer leading,也称表征学习。对于不同的问题,很多问题的数据集都是在同一个特征空间中、或者是服从同一个分布,更重要的是,很多问题的测试集还不能获取。迁移学习是这样做的,利用其他相关的、相近的领域的先验知识来进行学习,称这些为source domains,而目标任务的实际应用领域称为target domains。一般而言,有好几个source domains,只有一个target domain,训练集和测试集额度数据就是来源于这两类domains。将表征学习用到图像上:
- 特征表示知识迁移:利用已经提取好的特征,将target source映射到source domains,这样映射之后,target和source之间的差异能够显著减少。
- 基于分类的知识迁移:共享相同的特征,将source domain models视为先验知识,不同于上面这种方法(减小target和source之间的差异),基于分类的知识迁移试图学到一个新的target domain model,并且在提供的target 和source domain上泛化误差最小。
语音识别和nlp先略过,这里直接看看网络。
网络
这里的网络是一个很泛的概念,不只是计算机网络,还有cyber- network(网中网):社交网络,生物网络、电话网络、交通运输网络……这些在数学上可以表示为图。不仅如此,图片、文字等都可以表现为图的形式。如何有效的把表征学习用到图上是一个很重要的问题,因为图的规模可能会很大,像维基百科的引用图,非常庞大的图,有很多节点。另外,研究这个问题可以对很多其他的学科产生推进作用(社交网络中的广告推荐系统、生物蛋白质预测……)。
传统的特征工程应用到图上时,往往只能捕捉到一些简单的特征:
- edge:边的长度……
- node:结点的角度、中心……
- graph:平均路径长度……
- super-graph:子图、图形图案……
在这里更能体现出传统特征工程的局限性了,这些预先定义好的特征是相当有限的,忽略掉了很多重要的模式。另外,在这些手工特征上做计算也不容易,昂贵并且高的复杂度。
比较新的是网络表征学习(network representation learning, NRL),和图像中的表征学习一样,它试图去找到潜在的、低维的图的表示,并且保留图的拓扑结构、结点信息、边信息。在找到好的表征之后,在其基础之上,就可以用机器学习的那一套去做了。(所以有人说GNN就是一个提取特征/表征的工具)2000年有人用图嵌入算法去降维,图嵌入是依赖于独立同分布的数据的,因此不适用于大多情景。到08年才有人做出了有意义的工作,已经能够做一些结点分类、路径预测等任务了。