【李宏毅机器学习】1. Introduction

目录

  • 机器学习介绍
    • 人工智能、机器学习和深度学习之间的关系?
    • hand-crafted rules与machine learning
    • machine learning 的 framework
    • 机器学习相关的技术
      • 大量label:监督学习
      • 减少label:半监督学习和迁移学习
      • 没有label:无监督学习
      • 强化学习(reinforcement learning)

机器学习介绍

人工智能、机器学习和深度学习之间的关系?

目标:人工智能

手段:机器学习——让机器具有学习的能力。希望机器通过学习方式,让它跟人一样聪明。深度学习就是机器学习的其中一种方法。
【李宏毅机器学习】1. Introduction_第1张图片

hand-crafted rules与machine learning

生物的行为取决于两件事,一个是先天的本能,一个是后天学习的结果。

那对于机器来说,他怎么样才能表现的很有智慧?要么就是它的先天的本能,要么就是通过后天学习的手段表现的很有智慧。

机器先天的本能都是人类帮它事先设立好的——设定一些规则,这些规则我们通常称hand-crafted rules(人设定的规则)

  • 使用hand-crafted rules的坏处就是: 你没办法考虑到所有的可能性,它非常的僵化,而用hand-crafted rules创造出来的machine,它永远没有办法超过它的创造者人类。人类想不到东西,就没办法写规则,没有写规则,机器就不知道要怎么办。所以如果一个机器,它只能够按照人类所设定好的hand-crafted rules,它整个行为都是被规定好的,没有办法freestyle。如果是这样的话,它就没有办法超越创造他的人类。

  • 如果你是有一个是一个非常大的企业,可以把任务派给成千上万的工程师,用血汗的方式来建出数以万计的规则,然后让机器看起来好像很聪明。(欣赏一下这个facebook上的漫画! 这个漫画想要说的是:现在你一定常常新闻或者是商场上看到这个讯息,有一个能言善道的seller说看看我们最新的AI机器人,它非常的聪明,这个系统有一个非常非常潮的前端和外壳,里面是什么没有人知道,反正就是最潮的AI的技术。外面的观众把它剖来看一看,里面通通都是if掉出来!)

  • 但是对于中小企业来说,这样建规则的方式反而是不利的。所以机器学习发展,对比较小规模企业反而是更有利的。因为接下来,不需要非常大量的人来帮你想各式各样的规则,只要手上有data,你可以让机器来帮你做这件事情。

机器后天的学习:我们要做的应该是machine learning的方向,就是你就写段程序,然后让机器人变得了很聪明,他就能够有学习的能力。

  • 你并不是写程序让他做到这件事,你是写程序让它具有学习的能力
  • 讲的更务实一点的话,machine learning所做的事情,你可以想成就是在寻找一个function。要让机器具有一个能力,这种能力是根据你提供给他的资料,它去寻找出我们要寻找的function。还有很多关键问题都可以想成是我们就是需要一个function,如下图所示:
    【李宏毅机器学习】1. Introduction_第2张图片

machine learning 的 framework

整个过程分成了三个步骤:

  1. 找一个function
  2. 让machine可以衡量一个function是好还是不好
  3. 让machine有一个自动的方法,有一个好演算法可以挑出最好的function。
    【李宏毅机器学习】1. Introduction_第3张图片左边这个部分叫training,就是学习的过程;右边这个部分叫做testing,学好以后你就可以拿它做应用。

机器学习相关的技术

大量label:监督学习

监督学习包括Regression(回归)、Classification(分类)和structured learning(结构化学习)。其中,Regression和Classification的差别就是我们要机器输出的东西的类型是不一样。

  • Regression:机器输出的是一个数值

  • Classification:机器输出的是类别。Classification问题分成两种:

    • 一种叫做二分类输出的是是或否(Yes or No);
    • 另一类叫做多分类(Multi-class),给机器很多个选项,每个选项都是一个类别,让他从数个类别里选择正确的类别。
  • structured learning :让机器输出的数据是要有结构性的,

    • 在语音辨识里面,机器输入是声音讯号,输出是一个句子。句子是要很多词汇拼凑完成。它是一个有结构性的object。
    • 在机器翻译里面你说一句话,你输入中文希望机器翻成英文,它的输出也是有结构性的。

其实多数人可能都听过regression,也听过classification,你可能不见得听过structure learning。很多教科书都直接说,machine learning是两大类的问题,regression,和classification。machine learning只有regression和classification两类问题,就好像告诉你:我们所熟知的世界只有五大洲,但是这只是真实世界的一小部分,真正的世界是如图所示。真正世界还应该包括structure learning,这里面还有很多问题是没有探究的。


监督学习的问题是我们需要大量的training data。training data告诉我们要找的function的input和output之间的关系。如果我们在监督学习下进行学习,我们需要告诉机器function的input和output是什么。这个output往往没有办法用很自然的方式取得,需要人工的力量把它标注出来,这些function的output叫做label。

减少label:半监督学习和迁移学习

  • 半监督学习:有少量的labelled data,但是同时你又有大量的Unlabeled data。在半监督学习的技术中,这些没有label的data,他可能也是对学习有帮助。

  • 迁移学习:假设我们要做猫和狗的分类问题,我们也一样,只有少量的有label的data。但是我们现在有大量的data,这些大量的data中可能有label也可能没有label。但是他跟我们现在要考虑的问题是没有什么特别的关系的,我们要分辨的是猫和狗的不同,但是这边有一大堆其他动物的图片还是动画图片(凉宫春日,御坂美琴)你有这一大堆不相干的图片,它到底可以带来什么帮助。这个就是迁移学习要讲的问题。

没有label:无监督学习

更加进阶的就是无监督学习,我们希望机器可以学到无师自通。

如果在完全没有任何label的情况下,到底机器可以学到什么样的事情。举例来说,如果我们给机器看大量的文章(在去网络上收集站文章很容易,网络上随便爬就可以)让机器看过大量的文章以后,它到底可以学到什么事情。

它能不能够学会每一个词汇的意思,要让机器学会每一个词汇的意思,你可以想成是我们找一个function,然后你把一个词汇丢进去。比如说你把“apple”丢进这个function里面,机器要输出告诉你说这个词会是什么意思。也许他用一个向量来表示这个词汇的各种不同的特性。但现在讲是无监督学习的问题,你现在只有一大堆的文章,也就是说你只有词汇,你只有function的输入,没有任何的输出。那你到底要怎么解决这个问题。

我们举另外一个无监督学习的例子:假设我们今天带机器去动物园让它看一大堆的动物,它能不能够在看了一大堆动物以后,它就学会自己创造一些动物。那这个都是真实例子。仔细看了大量的动物以后,它就可以自己的画一些狗出来。有眼睛长在身上的狗、还有乳牛狗等等。

这个Task也是一个无监督学习的问题,这个function的输入不知道是什么,可能是某一个code代表要输出图片的特性,输出是一张图片。你给机器看到的只有非常大量的图片,只有function的input,没有output。机器要咋样生成新的图片,这是我们后面要解决的问题。

强化学习(reinforcement learning)

因为我们没有data做监督学习,所以我们才做reinforcement learning。

  • 用监督学习的方法来训练一个聊天机器人:你就告诉机器,现在使用者说了hello,你就说hi,现在使用者说了byebye ,你就说good bye。所以机器有一个人当他家教在他旁边手把手的教他每件事情,这就是监督学习。

  • 用reinforcement learning的方法来训练一个聊天机器人:我们没有告诉机器正确的答案是什么,机器所拥有的只有一个分数,就是他做的好还是不好。你就把机器发到线下,让他的和面进来的客人对话,然后想了半天以后呢,最后仍旧勃然大怒把电话挂掉了。那机器就学到一件事情就是刚才做错了。但是他不知道哪边错了,它就要回去自己想道理,是一开始就不应该打招呼吗?还是中间不应该在骂脏话了之类。它不知道,也没有人告诉它哪里做的不好,它要回去反省检讨哪一步做的不好。机器要在reinforcement learning的情况下学习,机器是非常intelligence的。 reinforcement learning也是比较符合我们人类真正的学习的情景,这是你在学校里面的学习老师会告诉你答案,但在真实社会中没人回告诉你正确答案。你只知道你做得好还是做得不好,如果机器可以做到reinforcement learning,那确实是比较intelligence。

  • Alpha Go其实是用监督学习加上reinforcement learning去学习的。先用棋谱做监督学习,然后做reinforcement learning,但是reinforcement learning需要一个对手,如果使用人当对手就会很让费时间,所以机器的对手是另外一个机器。

你可能感兴趣的:(宝可梦训练大师,人工智能)