从暗示中学习的机器
Yaser S. Abu-Mostafa
利用来自智能暗示的有效信息,机器学习得到显著的改进。
要是问:“为什么象又大,又黑而且外形奇特?”回答是:“如果是又小、又白、又圆,那它就是一粒阿司匹林,这种回答人们听起来会觉得滑稽,但对予试图鉴别如大象和阿司匹林之类物体的计算机来说,完全能被证实是有情报价依的。一般我们认为是理所当然的知识,对机器却不是有效的,除非作了详细的说明。对于机器来说,学习决不是件简单的事。
尽管有这些挑战,但机器学习仍是当令发展最快的技术之一。过去几年中机器学习的应用有了飞速的发展:从邮局自动读取手写的邮政编码到民航业中预测订座的需求。实际上,上一次你从银行得到的信用卡,很可能是得到自己已学会了怎样评价信贷风险的机器的批准。此外,机器学习的前景看好。
设计一个计算机程序来处理一个特定的作业,几乎总是要求彻底了解这项任务以及它的解决办法。因此机器学习有其基本吸引力。不用设计一个特殊的程序,人们只需向一部通用的机器提供一些供练习的实例,让机器自己学习。
例如,一个自学的信用卡审批系统将应用有关“好”和“坏”顾客的历史资料来评价申请人。这部机器不考虑问题的细节。它所能作的,是对输入(在这种情况下为个人信息)和输出(信贷行为)进行配对,并吸取它们的关系中所涉及到的任何信息。然后,这部经训练的机器就能够评价新的申请人。这种程序比一般设想的自动化步骤更进一步:它不仅将计算机用于重复的任务,还使设计实施这一任务的系统这一问题本身也自动化了。
原则上,我们可将机器学习的方法用于广泛的问题。但是,如果这输入-输出的现有实例缺乏必需的位息,该机器可能不会达到熟练的程度。幸好,人们常能以智能暗示的形式补充所需的信息。机器学习中所采用的暗示范围从简单的观察到复杂的知识。
例如,在计算机视觉应用中,其目的是识别物体,有许多“不变性暗示”。当一个物体在视野范围内移动位置或改变大小时,由这些不变性暗示可认定。这个物体仍保持为同一个物体。用于金融市场中时,有许多“单调性暗示”,它表示如果输入始终是在一个方向上变化时,输出也必须始终沿一个方向变化。各种特殊的使用有它自己的、有助于这种学习过程的暗示。
对于一种给定的使用。如果人们已知道得很多,足以给予暗示,那为什么先要费心去搞机器学习呢?为什么不运用这种知识去设计一种对此作业专用的机器?在有的情况下,人们可以这样做,但实际上,一般对于一个问题知道得太少,不能根据一组严格限定的规则去制定一种解决此问题的方法。
应用范围为两个极端之间:完全限定了的、不需要实例的结构问题和完全未加限制的。全部依赖于训练的实例来解决的随机问题。应用智能暗示的机器学习是处理这些广泛的中间范围所存在问题的手段。
机器学习范例
机器怎样进行学习,已设计出了许多不同的机器学习模型。这些模型的典型的实现方式将有一个大体上适用于这类问题的总体结构。但也将有许多自由参数——这些可看作是为机器调谐的旋扭和刻度盘。对这些调节的给定值,决定着该机器最终怎样运行:不同的给定值将产生完全不同的结果。
机器的性能在数学上可看作一个函数,它将输入值(所要解决的问题之特性)与相应的输出值(所作的决定或动作)联系起来。机器学习的目的是使机器模拟“目标函数”,即输入到输出的理想映射。我们可将目标函数中的训练实例用来指导机器自由参数值的选择。利用各个实例,这机器改进它的内部调节值。使它能恰当地匹配输入和输出。当此机器达到尽可能精确地符合于目标函数的位罝时,实际上它就已经“学到了”目标函数。机器学习就是寻找按扭的正确位置。因为是以训练实例来指导寻找,所以这种范例自然完全可以称为从实例中学习。
这种机器学习最广泛的应用形式是神经网络。神经网络是受真正的神经生物系统的能力的启发。它们是由许多计算单元组成,这些单元是以如此的方式相互连接,以致每个单元的输出反映许多其它单元的输入。神经网络的可调节参数以它们的生物学对应物定名为突触权重(突触连接大脑中的神经细胞)。神经网络的灵活性和它们训练的简易性已使得它们在过去10年中成为较佳的机器学习模型;现在神经网络广泛用于机器学习的各种应用场合中。虽然已建立了特殊的电甚至是光学网络,但在大多数情况下,人们只是通过在个人计算机或工作站上运行的程序来实现神经网络。
由于必须进行所有这些训练,我们可能会设想需要冗长的,深度的计算机对话,当机器学习时对其进行监督。幸好,选择最佳调节的责任一般落在一种学习算法身上,即将此过程转化为一系列简单的、重复的、计算机可独立执行的步骤之一种方法。当前所用的最普通的一种学习系统是训练神经网络的反向传播(back-propagation)算法。这种技术主要由当时在加州大学圣迭戈分校的David E. Rumelhart所推广。
反向传播法使用简单的计算法决定怎样改变神经网络的参数。这取得一个训练实例——输入及其相应的输出——并对网络参数作小的改进,使网络的电流响应与目标响应之差最小。此步骤多次重复,每次都能促使网络更接近理想效应一点。在数次通过所有的实例之后,这个网络能够相当好地复现目标函数。
让我们看看这种神经网络怎样对信用卡审批进行工作。在这种情况下,一个输入-输出实例将由一位申请人提供的资料(如年龄、薪金和婚姻状况)以及她的最终信贷表现(在提供信贷时银行是获利还是亏损)。审批信用卡的神经网络,理想的只要通过检查个人提供的资料,就能预测一个人以后的行为。为了学到这种功能,此网络吸取数千例真实人的申请和信贷行为,并不断修改它的内部参数以使它的输出与这些历史记录相符。
有些可变参数可能与薪金有关,并使网络向挣更多钱的人更容易得到批准的方向移动。其它的可变参数可能与年龄或婚姻状况的组合有关,这些特性的某些特殊组合更容易得到批准。最后,机器达到最终调节状态,它使网络对尽可能多的训练实例产生正确的响应。现在这网络可通过它的“经验”进行外推以预测新顾客的信贷表现,从而对新申请评级。
用智能暗示学习
无论是作为一个神经网络或以其它一些方式来执行,所有的机器学习方法都采用从实例中学习的同一基本前提。对于能成功学习的机器,它必须能够从有限的、用来训练机器的输入-输出实例中去总结归纳。这些训练实例能向机器传送足够的信息以使它对新输入做出正确的响应吗?或许不会。这部机器对训练实例表现得很好未必表明它对过去从未遇到过的事物也会表现得同样好。
记住:机器不知道有关它试图要学到的功能的任何事,除非是它在训练资料中所经历过的。如果这些资料不是(可能是训练实例不少或其中所含的不相干信息太多),该机器将不能正确地归纳总结。或许这些实例可能并未含有所有重要信息。举例来说,假定我想训练一部机器视觉系统来分辨树木。我或许不能确定怎样用准确的数学术语来鉴定一棵树,因此我不能解决这个问题的结构,也不能向这机器提出一些严格的规则系统去运用。如果我简单地向机器显示树木和物体(非树木)的图,我就给了它信息。但我仍然未告诉它我知道的所有事。例如。我知道即使树木被移动了一点或改变了比例尺,但一棵树仍然是一棵树。人们直觉地意识到这些情况。但机器却没有,除非特地告诉它这些。没有暗示,机器可能需要很长时间不能达到“理解”的程度(如果它能的话)。
甚至最简单的暗示也能促进学习。如果在有20个问题的一场游戏中,某些基本问题的答案能够使搜索的范围显著缩小,则少量的暗示便可造成学到一种功能和完全学不到此功能的差别。为了利用这种状况,大约6年前我引入了一种叫做“从暗示中学习”的形式体系,此后它已成为许多学习系统的特点。这种方法最突出的成就是金融市场的自动化交易系统和手写字符的识别系统。
信用卡的申请问题也能从智能暗示中获益。人们公认很难精确地确定什么东西使一个人的信贷风险较低,但有一个暗示是明显的:如果两个人中一个比另一个挣的钱少,而其它条件相同,且机器同意给较低收入者提供信贷,那么它也必然会同意为较高收入者提供信贷。这是许多可能的单调性暗示之一。当机器正在学习时,它应调节它的自由参数,使它根据目标函数匹配输入和输出,而同时又满足这些暗示。
我和我的同事们在加州理工学院我们的学习系统小组研究的从暗示中学习的一种用途是在外汇交易方面。我们进行了一项机器学习试验以预测美元对四种主要外汇的兑换率。我们想测试,当我们向学习过程输入一个明白的暗示时,所得的交易系统是否会更有用。我们所用的暗示反映一种对我们很明显的对称现象:如果美元价格史的一个给定模式意味着它相对于某种外汇的一定变动(上扬或下跌),那么此外汇应以相同的方式变动(倘若那个模式在其自己的价格史中出现过)。试验的结果相当成功。在所有的四种外汇市场中,对称性暗示使该系统的利润一致地增长。
为了确信我们的神经网络计划是从对称暗示中所含的信息得到改进,我们试图用两个可选择方案去欺骗这部机器。首先是没有信息价值的暗示,也就是随便给机器一条信息。使我们十分满意,机器未得到好处,性能与完全无暗示时大致相同。然后我们向机器输入故意提供错误信息的暗示。正如所料,性能迅速恶化。智能暗示的确有帮助。
执行暗示
在机器学习中采用暗示的主要困难在于使其实现自动化。暗示以各种姿态出现,它们包括从难以捉摸的到显而易见的。一个算法怎样能够协调从这种暗示所包含的各种变化的信息中学习的过程呢?
首先,暗示的所有表示都必须标准化,使学习算法能在相同的基础上进行处理。达到这一目的之适合方式的线索来自目标函数自身的表示:作为输入-输出的实例。所要告诉机器的是“当我让如此输入时,你应当这般输出”。输入-输出实例的同一性完全能将一个目标函数与另一个目标函数区别开来。相似地,如果我们能以一组实例代表每个理想的暗示,那么我们想引入哪一类暗示就无关紧要了。
为了表示信用卡审批中的单调性暗示,可以采用这样的实例形式:两个人除薪金以外其它情况都相同。当两个人的申请出现在机器中,它的响应可能与暗示一致(同意或拒绝向两人贷款,或只同意向较高薪金的人贷款),或者它可能不一致(只同意向较低薪金者贷款)。这种学习算法能够调节机器的参数以满足暗示,正好像它纳入了目标函数的另一个实例。因此以这种方式从暗示中学习可以肩负其它的学习机理。
明显地,代表暗示的实例,不一定要求是真实的。有不同薪金的两个申请人可能是假设的或“假想的”例子。我们可以用假想的例子,因为我们不需要机器作关于一个真实人的正确决定,而宁愿机器按照与暗示相一致的方式行动。这个原则也能用于外汇交易中的对称暗示:假想的事例可以用从未在历史中发生过的价格模式来构成。对于计算机视觉的任务,我们可以用与实际目标函数完全无关物体的图象来代表不变性暗示。我们对这种暗示的训练不要求机器的输出是正确的或错误的,只要求它在输入模式移动或其大小发生变化时输出保持一致。
假想实例在许多应用中是极为重要的,因为它们能对可能是数量较少的一组训练实例补充实质的信息。例如,在外汇预测中,实际的数据是局限于一小组新近的价格模式。因此用假想实例补充这些不多的历史数据的能力有极大的价值。余下的困难是发现一种可使暗示和实际输入-输出实例之间达到适当平衡的学习算法。
平衡作用
学习算法将力求调节机器的参数,便同时与整个训练组和与各个暗示的所有实例都一致。但是一般是不可能完美地解决,因此必须求得某些妥协。为了达到这个目标,需要评价这部机器在每一步有多少一致性存在。在训练过程中,对某些暗示的学习比另一些好。但是如果计算机能够确定哪种暗示学得最不好,在下一次重复时它能够更加注意这个暗示。这是自适应极小化的基础概念,即我研制的一种算法,它适当地安排学习的不同暗示,以实现它们之间的及与训练组之间的平衡。
这种自适应极小化算法在这样一种意义上是“自适应”的,即它不断地评价这机器如何完全满足暗示与训练实例,并连续地修改可调节参数。“最小化”这一术语反映,算法试图把机器的当前行为和最终对它所要求的理想行为之间误差的定量量度减至最小。
虽然我开始进行这一领域的研究时,脑子里有许多基本的想法,但我必须承认,我的第一个突破来自某种需要而不是来自自发的见识。我应邀在科学会议上介绍暗示体制,而且仅在会议的前一天我才知道预定的这个研讨会比我估计的长10分钟。面对着我的听众有对讲课太短而感到遗憾的想法,使我整夜都试图在琢磨我是否能阐述我的报告中的算法部分。那个晚上,自适应极小化算法的主要想法呈现在我脑子里;次日我在一堂颇受欢迎的讲课中讲述了这一想法。我怀疑我的听众会懂得这些结果是多么新啊!
学习的障碍
机器学习技术仍然面临着许多挑战。或许最严重的缺陷来自机器有从训练实例中“过度学习”的倾向——这一倾向可能危及机器正确地综合处理的能力。当机器只是记住训练实例但却不对其综合归纳时,就发生过度学习。如果你到埃及旅行并到金字塔一游,你将遇到类似的令人啼笑皆非的情景。有的当地导游用英语进行精彩的旅游解说,并能完善地回答关于法老的一般问题。如果你被这种表现所鼓舞,并进一步询问他们,你将大吃一惊地发现,他们不会说英语,他们记住了对旅游必须的英语句子,但他们完全没有“综合”。机器学习可能遭到同样的命运。
在更复杂的机器学习问题中,另一个普遍的缺陷是需要过多的计算时间。当学习算法检索最佳的自由参数位置(叫整体最佳化)时,有时它陷入较差的配置(叫局部最佳),它比相似的解法好,但仍不是理论上可能的最好解法。一般没有有效的方法可避免局部最佳。已证明某些学习是NP完备的,这是表征被认为需要过量的计算时间才能找到整体最佳的一类计算问题的专门术语。但实际上,这个问题并未减少。满意的性能一般只需要机器达到最好的局部最佳。
尽管存在这些困难,但已证实机器学习本身对解决广泛的现实世界的问题是有价值的。它是源于数十年前所进行研究的经典问题。但在近几年它又恢复了活力并进一步发展了。随着从暗示中学习程序的出现和其它迟早会到来的技术进展,无疑机器学习将会不断地进入我们的日常生活。
【刘义思/译 郭凯声/校】
请 登录 发表评论