教学参考-11

来自cslt Wiki
跳转至: 导航搜索

教学目标

  • 理解学习对人工智能的重要意义
  • 理解机器学习的基本概念和基本框架
  • 通过例子解释机器如何进行学习

教学内容

学习的重要性

  • 学习是人类的重要认知活动,学习的能力往往与个体的认知能力直接相关。研究表明,人的学习过程从胎儿时期就开始了,直到去世,学习伴随着我们一生。
  • 学习有很多种形式。走入一个嘈杂的工厂,刚开始难以忍受,过一段时间后就会慢慢适应,这是一种学习。听到铃声就知道开饭了,开始流口水,这也是一种学习。老师在课堂上传授知识,学生认真听讲,这是一种学习。没有了老师,孩子们自己玩耍,同样是一种学习。
  • 学习帮助我们适应周围的环境,掌握经验性知识,积累生存所需要的技能。这些知识与技能是智能的重要组成部分。
  • 研究表明,不仅是人类,很多动物都有学习能力,甚至植物都有。

机器学习

  • 早期的研究者倾向于将人的知识和思维方式“灌输”给机器,从而让机器拥有思维能力。这类比于老师把知识总结成知识点,把思考过程总结成解题招式,硬性地灌输给学生。这种方法在定理证明、专家系统等任务上取得了巨大成功。
  • 然而,这种知识灌输方法存在很大局限性。首先人为总结各种知识非常繁琐,耗时耗力;其次机器只能在人类设计好的知识框架里活动,限制了能力的发挥。
  • 1959年,美国科学家亚瑟•塞缪尔正式提出“机器学习”的概念,并在西洋跳棋游戏中进行了验证。在实验中,塞缪尔只是告诉机器游戏的规则,走棋的大概思路,以及一些控制走棋方式的参数。塞缪尔发现,通过调整这些参数,机器用8-10个小时即可学习到超过程序设计者的棋艺。
  • 此后,机器学习得到蓬勃发展,人们提出了贝叶斯网络、多层感知器、支持向量机等各种学习模型,机器的学习能力大幅提升。特别是新世纪以来,随着数据的积累和计算机性能的提高,机器能学到的东西越来越多,越来越强大,直接引发了新一轮人工智能的浪潮。


机器学习基本框架

  • 实现机器自主学习需要解决五个基本问题:
  • 学习的目标是什么?是分类更精确,还是预测更合理?如何将这一目标定义成数学形式?
  • 学习的主体是什么?是神经网络的连接,还是产生式规则的排序?
  • 如何学习?是通过模拟生物进化,还是通过数值优化方法?这是学习算法的问题。
  • 学习的材料是什么?是观察到的图片,还是听到的声音?这是数据的问题。
  • 学习应满足什么样的条件,或遵循什么样的规则?这些条件和规则通常以先验知识的形式包含在模型设计中。例如,对图像处理任务,卷积神经网络通常可以模拟人类视觉系统的处理方式,因此往往性能更好。


机器学习与人工智能

  • 人工智能是一门科学,其目的是让机器拥有人的智能。人工智能中包含很多种方法,机器学习是其中之一,是通过学习积累知识、实现智能的方法。目前,机器学习是人工智能最重要的方法。
  • 通过自主学习,机器有可能打破人类知识的上限,获得人类尚未发现的新知识,发现达到目标的新途径,从而获得“超人”的智能。
  • 今天人工智能所展现出的强大能力,包括人们谈论的人工智能威胁,很大程度上来源于机器学习,因为只有自主学习的机器,才可能超越它的创造者,拥有难以预期的强大能力。
  • 值得说明的是,让机器学习的思想在图灵时期就提出来了,图灵还认为这是实现智能机器的基础方案。后来的SNARC神经网络也具有学习能力。然而,机器学习在人工智能发展的最初三四十年里并没有占据主流,人工智能的发展最初并没有按照图灵的思路进行下去。
  • 早期人工智能研究者认为,学习能力是人的基础智能之一,是人工智能的研究目标之一,即如何让机器模拟人类的学习能力。这种思想并没有意识到学习的基础性地位,而是把它列为和推理、运动、计划等并列的智能之一进行处理。这一思想极大影响了机器学习在人工智能中的地位。如果翻开当时的教科书,你会发现“机器学习”只是其中很短的一章,大部分在讲人为设计的搜索算法,知识表达等等。
  • 随着时代的变化,研究者渐渐发现,机器学习不应该视为人工智能的目标之一,而应该是一种基础方法,是比其它智能更基础、更重要的能力。不会运动不怕,只要会学习就可以;不会推理也不怕,只要会学习就可以...依此类推,所有思维能力都可以通过学习获得。
  • 这种“学习是第一推动力”是一种全新的思想,在90年代以后开始成形,极大推动了人工智能的发展,成为今天人工智能革命的起点。有趣的是,这一思路正是图灵六十年前的思路。


机器学习的例子:苹果和桔子分类

  • 我们的目标是对苹果和桔子进行分类。基于生活经验,我们知道又大又红的更可能是苹果,小一些颜色偏橙黄色的是桔子。基于这一知识,我们以“颜色”和“大小”作为特征,设计一个分类模型: Y = a ✖ 颜色 + b ✖ 大小
  • 在上述模型中,我们并不指定参数a和b的值,而是给机器一些苹果和桔子的样例(数据),让机器自我学习a和b的取值。
  • 为了使上述学习任务具有明确的数学形式,我们设桔子的标记T=0,苹果的标记T=1,学习算法通过调整(a,b)的取值,使分类模型的输出Y近可能接近T。
  • 当学习完成后,就得到一个预测模型。基于这一模型,得到一个分类面,这个分类面一侧的Y>0.5,一侧Y<0.5,分类而上Y=0.5。分类面是线性的,因此称为线性模型。
  • 对一个新样本利用分类模型公式计算它的Y值,如果<0.5则认为是桔子,如果>0.5则认为是苹果。这是机器学习的基本流程。