「李宏毅机器学习」机器学习介绍

李宏毅机器学习系列文章目录

「李宏毅机器学习」机器学习介绍

人工智能是人类长远以来的一个目标,而机器学习是实现这个目标的其中一种方法,深度学习则是机器学习的一种方法。

生物学知识告诉我们,生物的行为取决于两件事,一个是后天学习的结果,另外一个就是先天的本能

在没有机器学习之前,人们是通过赋予机器先天的本能的方式来实现人工智能的,即通过编写hand-crafted rules的方式,更简单的说法就是给机器编写一些设定好的规则,让机器根据设定好的规则实现智能。

而使用hand-crafted rules的缺点是:

  • Hard to consider all possibilities
  • 永远无法超越创造者
  • Lots off human efforts(not suitable for small industry)

以上缺点使得人们发明创造了machine learning的方法。

What is Machine Learning?

「李宏毅机器学习」机器学习介绍

Machine Learning简单来说,就是你写一段具备学习能力的程序,这段程序并不是让机器具备做某些事情的能力(而是具备学习的能力),接下来可以像教小孩一样教会机器做某些事情。

「李宏毅机器学习」机器学习介绍

Machine Learning所做的事情,其实就是寻找一个能解决问题的function(这个function过于复杂,人类无法直接写出),这个function的输入是使用者的input,输出则是机器的回应。

「李宏毅机器学习」机器学习介绍

Machine Learning Framework

机器学习(监督学习,Supervised Learning)的整体框架大概如下:

「李宏毅机器学习」机器学习介绍

左边的部分叫做training,就是学习的过程;右边的部分叫做testing,学好之后就可以拿去应用。

  • 我们需要有一个function set,称之为model,里面有非常多的function。

  • 通过一些训练数据,告诉机器一个好的function输入输出应该是怎样的,机器可以通过训练数据判断一个function是好还是不好。

  • 同时,需要一个有效率的算法从function set中挑选出“最好”的function,称为\(f*\)。

  • 找到\(f*\)之后我们可以将它应用在一些场景中。

Machine Learning Framework整个过程分为3个步骤(进行了细节的简化):

  1. 找一个function
  2. 让machine可以衡量一个function好还是不好
  3. 让machine挑选出最好的function

「李宏毅机器学习」机器学习介绍

Learning Map

「李宏毅机器学习」机器学习介绍

本课程的Learning Map,其实也是机器学习的Learning Map。

  • scenario:学习的情景,通常这是我们无法控制的部分,采用什么方法其实主要取决于我们有什么样的data;
  • task:不同的问题,不同的task里面有不同的model;
  • method:解决问题的不同方法。

Task

机器学习的task可以分为几大类:

  • Regression:functin输出的是scalar(数值)

    「李宏毅机器学习」机器学习介绍

  • Classification:function输出的是类别

    • Binary Classification:Yes/No

      「李宏毅机器学习」机器学习介绍

    • Multi-class Classification:Class1, Class2, ...ClassN

      「李宏毅机器学习」机器学习介绍

  • Structured Learning:让机器输出结构性的东西。

Supervised Learning(监督学习)

监督学习需要大量的training data来告诉我们要找的function的input和output之间的关系,而这些output往往需要人工标注,称为label。因此监督学习的难点就在于收集大量有标签的训练数据。

Semi-supervised Learning(半监督学习)

半监督学习就能够减少label需要的量。

假如我们要做一个猫狗分类器,有少量猫和狗的labeled data,和大量猫和狗的unlabeled data,在半监督学习中,这些unlabeled data也是对学习有帮助的。

「李宏毅机器学习」机器学习介绍

Transfer Learning(迁移学习)

另一种减少label的量的学习方法是迁移学习。

同样假设我们要做猫狗分类的问题,我们一样只有少量有label的data,但是我们还有大量的其他data,这些data可能有label也可能没有,而且这些data甚至跟我们要考虑的问题没什么特别的关系(并非猫狗),这些data能有什么帮助,这就是迁移学习要讲的问题。

「李宏毅机器学习」机器学习介绍

Unsupervised Learing(无监督学习)

更加进阶的方法就是无监督学习,我们希望机器做到无师自通。让机器在没有任何label的情况下,只有输入,没有输出,看它到底能学到什么。

Reinforcement Learning(强化学习)

Supervised v.s. Reinforcement

  • Supervised:Learn from techer
  • Reinforcement:Learn from critics

在监督学习中,我们会告诉机器正确答案是什么,而在强化学习中,机器只能得到一个分数(结果),就是它做得好还是不好,但是不会告诉它那里正确哪里错误,它要自己反省检讨。监督学习更像学校中的学习,有一个老师告诉你正确的答案,而强化学习则更像真实社会的学习,没有人会告诉你正确的答案。

Alpha Go is supervised learning + reinforcement learning.

Why we need to learn Machine Learning?

AI有可能会取代大部分的工作,但是会出现一个新的工作,叫做AI训练师

AI训练师需要挑选合适的model,loss function,不同的mode和loss function适合解决不同的问题。同时,有些model的最佳化(find the best function)比较困难,因此也需要经验丰富的训练师。

上一篇:简单梳理一下论文中的想法(二)


下一篇:无标签学习的知识蒸馏——Learning Student Networks in the Wild