第15章 表示学习
在本章中,首先我们会讨论表示学习是什么意思,以及表示的概念如何有助于深度框架的设计。我们探讨学习算法如何在不同任务中共享统计信息,包括使用无监督任务中的信息来完成监督任务。共享表示有助于处理多模式或多领域,或是将已学到的知识迁移到样本很少或没有,但任务表示依然存在的任务上。最后,我们回过头探讨表示学习成功的原因,从分布式表示(Hinton et al.,1986)和深度表示的理论优势,最后会讲到数据生成过程潜在假设的更一般概念,特别是观测数据的基本成因。
很多信息处理任务可能非常容易,也可能非常困难,这取决于信息是如何表示的。这是一个广泛适用于日常生活、计算机科学及机器学习的基本原则。例如,对于人而言,可以直接使用长除法计算210除以6。但如果使用罗马数字表示,这个问题就没那么直接了。大部分现代人在使用罗马数字计算CCX除以VI时,都会将其转化成阿拉伯数字,从而使用位值系统的长除法。更具体地,我们可以使用合适或不合适的表示来量化不同操作的渐近运行时间。例如,插入一个数字到有序表中的正确位置,如果该数列表示为链表,那么所需时间是O(n);如果该列表表示为红黑树,那么只需要O(log n)的时间。
在机器学习中,到底是什么因素决定了一种表示比另一种表示更好呢?一般而言,一个好的表示可以使后续的学习任务更容易。选择什么表示通常取决于后续的学习任务。
我们可以将监督学习训练的前馈网络视为表示学习的一种形式。具体地,网络的最后一层通常是线性分类器,如softmax回归分类器。网络的其余部分学习出该分类器的表示。监督学习训练模型,一般会使得模型的各个隐藏层(特别是接近顶层的隐藏层)的表示能够更加容易地完成训练任务。例如,输入特征线性不可分的类别可能在最后一个隐藏层变成线性可分离的。原则上,最后一层可以是另一种模型,如最近邻分类器(Salakhutdinov and Hinton,2007a)。倒数第二层的特征应该根据最后一层的类型学习不同的性质。
前馈网络的监督训练并没有给学成的中间特征明确强加任何条件。其他的表示学习算法往往会以某种特定的方式明确设计表示。例如,我们想要学习一种使得密度估计更容易的表示。具有更多独立性的分布会更容易建模,因此,我们可以设计鼓励表示向量h中元素之间相互独立的目标函数。就像监督网络,无监督深度学习算法有一个主要的训练目标,但也额外地学习出了表示。不论该表示是如何得到的,它都可以用于其他任务。或者,多个任务(有些是监督的,有些是无监督的)可以通过共享的内部表示一起学习。
大多数表示学习算法都会在尽可能多地保留与输入相关的信息和追求良好的性质(如独立性)之间作出权衡。
表示学习特别有趣,因为它提供了进行无监督学习和半监督学习的一种方法。我们通常会有巨量的未标注训练数据和相对较少的标注训练数据。在非常有限的标注数据集上监督学习通常会导致严重的过拟合。半监督学习通过进一步学习未标注数据,来解决过拟合的问题。具体地,我们可以从未标注数据上学习出很好的表示,然后用这些表示来解决监督学习问题。
人类和动物能够从非常少的标注样本中学习。我们至今仍不知道这是如何做到的。有许多假说解释人类的卓越学习能力——例如,大脑可能使用了大量的分类器或者贝叶斯推断技术的集成。一种流行的假说是,大脑能够利用无监督学习和半监督学习。利用未标注数据有多种方式。在本章中,我们主要使用的假说是未标注数据可以学习出良好的表示。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论