1、机器学习是人工智能的子领域
人工智能的子领域,沿着历史的发展,有比较显著的特点。大致可分为:
- 60 年代开始的“ 推理期 ”:研究搜索,成果包含 定理自动证明、国际象棋系统 DeepBlue
- 仅会推理并无法处理实际问题,实际问题中需要宽泛的知识。70 年代开始的“ 知识期 ”,研究基于知识的推理,成果包含 Prolog、各类专家系统、以及今天的知识图谱
- 仅靠人工录入知识,难以形成大规模应用。90 年底开始的“ 学习期 ”,研究从数据中归纳知识,成果包含 今天的各种数据分析、挖掘系统
可见“学习”是人工智能的一个大方向,“ 机器学习 ”按照 Tom Mitchell 的定义是从经验中自动改进系统性能的程序。经验常以数据的方式呈现,因此实践上机器学习为数据分析提供了主要工具。换句话说,今天对数据进行较为深入的分析,总结出模型的工作,都属于机器学习范畴。
2、机器学习的任务分类
机器学习从数据中总结模型,而数据表示的经验可以包含不同的信息形态,其中的一个关键的信息,是关于模型表现的反馈信息。有的数据中包含了模型应该输出的值,有的数据则完全没有这一类信息,还有的数据中包含的是对模型表现的打分。不同的反馈信息导致我们需要用不同的技术进行处理,因此按照反馈信息的不同,机器学习经典划分为三大类:
- 监督学习 :处理包含有模型正确输出值的数据,即有标记数据。例如图像识别数据中,每一张图像都有相应分类标记。
- 强化学习 :处理的数据仅包含有模型打分值,而不知道模型到底应该输出什么,因此只能靠算法去不断的探索,寻找打分值最高的模型输出。例如围棋游戏,缺乏每一步走棋的最佳指导,只能通过最终的输赢作为打分,自主探索寻找最佳模型。
- 无监督学习 :数据中完全没有关于模型输出好坏的客观评估。这时通常会人为的设置某种学习目标,以开展学习,例如把 256 维人脸照片压缩到 4 维,此时并没有任何关于这 4 维应该如何的信息,一种做法是使得这 4 维能够还原出 256 维的人脸,这就是一种人为设定的目标。这种还原自身信息的做法也叫自监督学习,虽然名称中有“监督”,其实是一类借用监督技术的无监督学习。
可见这一分类,是按照机器学习的任务维度进行划分。当然这样的划分并不具有完全清晰的边界,随着越来越多的交叉领域研究工作的开展,出现很多衍生的方向:
- 监督学习 X 无监督学习:例如数据包含一部分有标记 / 有一部分标记的数据、以及无标记的数据,研究如何利用无标记数据提升模型性能,这一领域称为 半监督学习 、 弱监督学习
- 监督学习 X 强化学习:例如围棋中存在一部分人类专家的演示数据,利用这样的数据可以用监督学习模仿人类走棋,在 AlphaGo 最初版本中如此使用。这一领域称为 模仿学习
- 强化学习 X 无监督学习:例如在强化学习的任务中缺少打分,算法自行对环境进行探索、发现功能性技能等等。
以上所述的机器学习子领域,其实都属于 归纳学习 ,即从样本中归纳规律。由于广泛的适用性,归纳学习成为“默认的机器学习”。然而机器学习中实际还有另一类, 演绎学习 ,通过推理出新的知识进行学习。这一方向由于数据分析大行其道以往不受重视,但近年随着符号 AI 的复兴,也正在成长。
3、机器学习的模型分类
早期机器学习研究,由不同的启发思想产生了不同的模型,包含:
- 最近邻模型
- 决策树模型
- 贝叶斯模型
- 线性模型
- 多层神经网络模型
等等,早期的研究多集中在数据量较小、语意层面较高的数据,例如用户购买商品的数据,一个商品 ID 对应了一个商品。而对语意层面较低的数据,例如图像数据,用每一个像素的灰度值表征,识别图像中的人脸需要建立灰度值到人名的联系,跨度巨大;语音数据,用波形表征,识别一个词需要建立一连串的声波强度到词语的联系,跨度巨大,因此取得的性能有限,且往往需要依赖人工构造的高层特征,例如人脸图像的灰度直方图投影等。
2012 年,某种结构的多层神经网络的模型,结合大量的数据,在语音识别、图像识别上取得性能突破,引起了广泛关注,随后越来越多层的神经网络模型,在海量图像、语音数据上体现的优势愈加显著。为区别传统的模型,使用这一类深层神经网络模型被称为 深度学习 。
其特点在于,不同于特征工程 + 传统模型,深度模型从低层语意数据直接学习上层任务,即所谓的“端到端”学习,其中自动包含了对数据的表征学习。反过来,包含表征学习的模型,通常也需要进行多层次的处理,也都可称为深度学习。除了深度神经网络外,也有深度森林等非神经网络模型。
机器学习的任务与模型是可以组合的,即有非深度 / 深度监督学习、非深度 / 深度强化学习、非深度 / 深度无监督学习,等等。