第1章 走近深度学习:机器学习入门
本章主要内容
机器学习以及它与传统编程的区别。
机器学习能够解决以及不能解决的问题。
机器学习与人工智能的关系。
机器学习系统的结构。
机器学习的不同分支领域。
自计算机出现以来,许多开发人员就一直热衷于研究人工智能(Artificial Intelligence,AI):在计算机上实现类似于人的行为。游戏一直是人工智能研究界的热门话题。在PC时代,AI已经在西洋跳棋、西洋双陆棋、国际象棋等绝大多数经典棋类游戏中超越了人类。但是几十年以来,围棋这个古老的策略游戏,仍然顽强地屹立于计算机之上。直到2016年,Google DeepMind的AlphaGo AI向14届世界冠军李世石发起挑战,并获得了五战四胜的成绩。其后,AlphaGo的改进版则完全超越了人类棋手的极限:它连续赢得了60场比赛,并在这个过程中战胜了几乎所有著名的围棋棋手。
AlphaGo所做出的创造性突破,是利用机器学习来增强经典AI算法。具体地说,AlphaGo使用了被称为深度学习(deep learning)的现代技术,它是一种可以把原始数据组织成多个有意义的抽象层次的算法。不仅如此,这个技术完全超越了棋类游戏的范畴:在图像识别、语音理解、自然语言翻译和机器人的控制程序中,都可以找到深度学习的应用。掌握了深度学习的基础知识,就有了理解这些应用的基础。
那么,为什么我们要写一整本书来介绍计算机围棋呢?读者可能会猜测,我们是不是铁杆围棋爱好者?——好吧,我们承认的确如此。但其实我们不研究国际象棋或双陆棋而研究围棋的真正原因是,与它们相比,强大的围棋AI离不开深度学习。Stockfish之类的顶级国际象棋引擎包含了大量的国际象棋专用逻辑,而要写出类似的东西,就需要足够的国际象棋知识。但有了深度学习,即使我们不懂围棋技巧,也能够教会计算机模仿围棋高手。这正是深度学习强大的地方,让人们能够开拓出各种各样的技术应用,无论是在棋类游戏中,还是在真实世界中。
国际象棋和西洋跳棋的AI所采取的设计策略,是想办法让AI比人类棋手想得更远、猜得更准。但如果围棋AI也这么做,则会遇到两个问题:首先,在围棋中,由于需要考虑的落子动作的可能性实在太多,没办法预测很远;其次,即使能够提前预测,也无法评价落子动作的优劣。而实践证明,深度学习是解决这两个问题的关键。
本书的主题是通过介绍AlphaGo背后的技术来引出深度学习的实践性介绍。要学习这些技术,读者并不需要对围棋有深入的研究,只需要了解机器能够学会的通用规则即可。本章介绍机器学习和它能够(以及不能)解决的问题类型。我们将通过几个示例来阐述机器学习的主要分支领域。我们将看到深度学习如何把机器学习带入新的领域。