首页 > 代码库 > 简单读懂人工智能:机器学习与深度学习是什么关系

简单读懂人工智能:机器学习与深度学习是什么关系

引言:随着AlphaGo战胜李世石,人工智能和深度学习这些概念已经成为一个非常火的话题。人工智能、机器学习与深度学习这几个关键词时常出现在媒体新闻中,并错误地被认为是等同的概念。本文将介绍人工智能、机器学习以及深度学习的概念,并着重解析它们之间的关系。本文将从不同领域需要解决的问题入手,依次介绍这些领域的基本概念以及解决领域内问题的主要思路。
本文选自《Tensorflow:实战Google深度学习框架》。

  从计算机发明之初,人们就希望它能够帮助甚至代替人类完成重复性劳作。利用巨大的存储空间和超高的运算速度,计算机已经可以非常轻易地完成一些对于人类非常困难,但对计算机相对简单的问题。比如,统计一本书中不同单词出现的次数,存储一个图书馆中所有的藏书,或是计算非常复杂的数学公式,都可以轻松通过计算机解决。然而,一些人类通过直觉可以很快解决的问题,目前却很难通过计算机解决。这些问题包括自然语言理解、图像识别、语音识别,等等。而它们就是人工智能需要解决的问题。
  计算机要像人类一样完成更多智能的工作,需要掌握关于这个世界海量的知识。比如要实现汽车自动驾驶,计算机至少需要能够判断哪里是路,哪里是障碍物。这个对人类非常直观的东西,但对计算机却是相当困难的。路有水泥的、沥青的,也有石子的甚至土路。这些不同材质铺成的路在计算机看来差距非常大。如何让计算机掌握这些人类看起来非常直观的常识,对于人工智能的发展是一个巨大的挑战。很多早期的人工智能系统只能成功应用于相对特定的环境(specific domain),在这些特定环境下,计算机需要了解的知识很容易被严格并且完整地定义。例如,IBM的深蓝(Deep Blue)在1997年打败了国际象棋冠军卡斯帕罗夫。设计出下象棋软件是人工智能史上的重大成就,但其主要挑战不在于让计算机掌握国际象棋中的规则。国际象棋是一个特定的环境,在这个环境中,计算机只需要了解每一个棋子规定的行动范围和行动方法即可。虽然计算机早在1997年就可以击败国际象棋的世界冠军,但是直到20年后的今天,让计算机实现大部分成年人都可以完成的汽车驾驶却仍然依旧十分困难。
  为了使计算机更多地掌握开放环境(open domain)下的知识,研究人员进行了很多尝试。其中一个影响力非常大的领域是知识图库(Ontology)。WordNet是在开放环境中建立的一个较大且有影响力的知识图库。WordNet是由普林斯顿大学(Princeton University)的George Armitage Miller教授和Christiane Fellbaum教授带领开发的,它将155287个单词整理为了117659个近义词集(synsets)。基于这些近义词集,WordNet进一步定义了近义词集之间的关系。比如同义词集“狗”属于同义词集“犬科动物”,他们之间存在种属关系(hypernyms/hyponyms)。除了WordNet,也有不少研究人员尝试将Wikipedia中的知识整理成知识图库。谷歌的知识图库就是基于Wikipedia创建的。
  虽然使用知识图库可以让计算机很好地掌握人工定义的知识,但建立知识图库一方面需要花费大量的人力物力,另一方面可以通过知识图库方式明确定义的知识有限,不是所有的知识都可以明确地定义成计算机可以理解的固定格式。很大一部分无法明确定义的知识,就是人类的经验。比如我们需要判断一封邮件是否为垃圾邮件,会综合考虑邮件发出的地址、邮件的标题、邮件的内容以及邮件收件人的长度,等等。这是收到无数垃圾邮件骚扰之后总结出来的经验。这个经验很难以固定的方式表达出来,而且不同人对垃圾邮件的判断也会不一样。如何让计算机可以跟人类一样从历史的经验中获取新的知识呢?这就是机器学习需要解决的问题。
  卡内基梅隆大学(Carnegie Mellon University)的Tom Michael Mitchell教授在1997年出版的书籍Machine Learning中对机器学习进行过非常专业的定义,这个定义在学术界内被多次引用。在这本书中对机器学习的定义为“如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习”。通过垃圾邮件分类的问题来解释机器学习的定义。在垃圾邮件分类问题中,“一个程序”指的是需要用到的机器学习算法,比如逻辑回归算法;“任务T”是指区分垃圾邮件的任务;“经验E”为已经区分过是否为垃圾邮件的历史邮件,在监督式机器学习问题中,这也被称之为训练数据;“效果P”为机器学习算法在区分是否为垃圾邮件任务上的正确率。
  在使用逻辑回归算法解决垃圾邮件分类问题时,会先从每一封邮件中抽取对分类结果可能有影响的因素,比如说上文提到的发邮件的地址、邮件的标题及收件人的长度,等等。每一个因素被称之为一个特征(feature)。逻辑回归算法可以从训练数据中计算出每个特征和预测结果的相关度。比如在垃圾邮件分类问题中,可能会发现如果一个邮件的收件人越多,那么邮件为垃圾邮件的概率也就越高。在对一封未知的邮件做判断时,逻辑回归算法会根据从这封邮件中抽取得到的每一个特征以及这些特征和垃圾邮件的相关度来判断这封邮件是否为垃圾邮件。
  在大部分情况下,在训练数据达到一定数量之前,越多的训练数据可以使逻辑回归算法对未知邮件做出的判断越精准。也就是说逻辑回归算法可以根据训练数据(经验E)提高在垃圾邮件分类问题(任务T)上的正确率(效果P)。之所以说在大部分情况下,是因为逻辑回归算法的效果除了依赖于训练数据,也依赖于从数据中提取的特征。假设从邮件中抽取的特征只有邮件发送的时间,那么即使有再多的训练数据,逻辑回归算法也无法很好地利用。这是因为邮件发送的时间和邮件是否为垃圾邮件之间的关联不大,而逻辑回归算法无法从数据中习得更好的特征表达。这也是很多传统机器学习算法的一个共同的问题。
  类似从邮件中提取特征,如何数字化地表达现实世界中的实体,一直是计算机科学中一个非常重要问题。如果将图书馆中的图书名称储存为结构化的数据,比如储存在Excel表格中,那么可以非常容易地通过书名查询一本书是否在图书馆中。如果图书的书名都是存在非结构化的图片中,那么要完成书名查找任务的难度将大大增加。类似的道理,如何从实体中提取特征,对于很多传统机器学习算法的性能有巨大影响。我们看一个简单的例子。
          技术分享
                不同的数据表达对使用直线划分不同颜色结点的难度影响

  如果通过笛卡尔坐标系(cartesian coordinates)来表示数据,那么不同颜色的结点无法被一条直线划分。如果将这些点映射到极角坐标系(polar coordinates),那么使用直线划分就很容易了。同样的数据使用不同的表达方式会极大地影响解决问题的难度。一旦解决了数据表达和特征提取,很多人工智能任务也就解决了90%。
  然而,对许多机器学习问题来说,特征提取不是一件简单的事情。在一些复杂问题上,要通过人工的方式设计有效的特征集合,需要很多的时间和精力,有时甚至需要整个领域数十年的研究投入。例如,假设想从很多照片中识别汽车。现在已知的是汽车有轮子,所以希望在图片中抽取“图片中是否出现了轮子”这个特征。但实际上,要从图片的像素中描述一个轮子的模式是非常难的。虽然车轮的形状很简单,但在实际图片中,车轮上可能会有来自车身的阴影、金属车轴的反光,周围物品也可能会部分遮挡车轮。实际图片中各种不确定的因素让我们很难直接抽取这样的特征。
  既然人工的方式无法很好地抽取实体中的特征,那么是否有自动的方式呢?答案是肯定的。深度学习解决的核心问题之一就是自动地将简单的特征组合成更加复杂的特征,并使用这些组合特征解决问题。深度学习是机器学习的一个分支,它除了可以学习特征和任务之间的关联以外,还能自动从简单特征中提取更加复杂的特征。下图展示了深度学习和传统机器学习在流程上的差异。
       技术分享
                     传统机器学习和深度学习流程对比
                     
  如图所示,深度学习算法可以从数据中学习更加复杂的特征表达,使得最后一步权重学习变得更加简单且有效。
         技术分享
                   深度学习在图像分类问题上的算法流程样例
                   
  在上图中,展示了通过深度学习解决图像分类问题的具体样例。深度学习可以一层一层地将简单特征逐步转化成更加复杂的特征,从而使得不同类别的图像更加可分。比如图中展示了深度学习算法可以从图像的像素特征中逐渐组合出线条、边、角、简单形状、复杂形状等更加有效的复杂特征。
  早期的深度学习受到了神经科学的启发,它们之间有非常密切的联系。科学家们在神经科学上的发现使得我们相信深度学习可以胜任很多人工智能的任务。神经科学家发现,如果将小白鼠的视觉神经连接到听觉中枢,一段时间之后小鼠可以习得使用听觉中枢“看”世界。这说明虽然哺乳动物大脑分为了很多区域,但这些区域的学习机制却是相似的。在这一假想得到验证之前,机器学习的研究者们通常会为不同的任务设计不同的算法。而且直到今天,学术机构的机器学习领域也被分为了自然语言处理、计算机视觉和语音识别等不同的实验室。因为深度学习的通用性,深度学习的研究者往往可以跨越多个研究方向甚至同时活跃于所有的研究方向。
  虽然深度学习领域的研究人员相比其他机器学习领域更多地受到了大脑工作原理的启发,而且媒体界也经常强调深度学习算法和大脑工作原理的相似性,但现代深度学习的发展并不拘泥于模拟人脑神经元和人脑的工作机理。模拟人类大脑也不再是深度学习研究的主导方向。我们不应该认为深度学习是在试图模仿人类大脑。目前科学家对人类大脑学习机制的理解还不足以为当下的深度学习模型提供指导。
  现代的深度学习已经超越了神经科学观点,它可以更广泛地适用于各种并不是由神经网络启发而来的机器学习框架。值得注意的是,有一个领域的研究者试图从算法层理解大脑的工作机制,它不同于深度学习的领域,被称为“计算神经学”(computational neuroscience)。深度学习领域主要关注如何搭建智能的计算机系统,解决人工智能中遇到的问题。计算神经学则主要关注如何建立更准确的模型来模拟人类大脑的工作。
总的来说,人工智能、机器学习和深度学习是非常相关的几个领域。下图总结了它们之间的关系。
       技术分享
                人工智能、机器学习以及深度学习之间的关系图
                
  人工智能是一类非常广泛的问题,机器学习是解决这类问题的一个重要手段。深度学习则是机器学习的一个分支。在很多人工智能问题上,深度学习的方法突破了传统机器学习方法的瓶颈,推动了人工智能领域的发展。

本节部分内容参见:Goodfellow I, Bengio Y, Courville A. Deep learning [M]. The MIT Press,2016. 
Mitchell T M, Carbonell J G, Michalski R S. Machine Learning [M]. McGraw-Hill, 2003.

  本文选自《Tensorflow:实战Google深度学习框架》,点此链接可在博文视点官网查看此书。
                    技术分享
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                       技术分享


本文出自 “博文视点官方博客” 博客,请务必保留此出处http://bvbroadview.blog.51cto.com/3227029/1908400

简单读懂人工智能:机器学习与深度学习是什么关系