赞
踩
“机器学习” 这一名词在我们视线内出现的评率越来越高, 与之相伴的有 “人工智能”、“深度学习” 等名词. 关于这三者的认识, 我们可以大致理解为
实际上, 机器学习是一种实现人工智能的手段, 而深度学习是一类机器学习算法. 本专栏主要介绍机器学习的发展历程、定义分类以及一些常用的机器学习算法.
首先, 我们将介绍机器学习的发展历程.
机器学习是人工智能发展到一定时期的必然产物, 最早可追溯到对人工神经网络的研究, 提前于1946年世界上第一台电子计算机 ENIAC 的发明.
事实上, 当今最热门的机器学习研究方向——深度学习, 其核心“神经网络模型”是最早被提出的机器学习算法. 1943年, Warren McCulloch 和 Walter Pitts 提出了神经网络层次结构模型(又称 M-P神经元模型 ), 为机器学习的发展奠定了基础.
不久后,“计算机科学之父”Turing 于1950年发表了《Computing Machinery and Intelligence》并提出著名的“图灵测试”, 后又于1956年以《Can Machine Think?》为题重新发表该论文, 其中提到了机器学习的可能, 为后来的人工智能科学提供了开创性的构思.
最开始的研究中, 人们认为只要机器掌握了逻辑推理能力, 就可以具有智能. 这一点延续了数学上机器证明的思想.
实际上, 单纯的机器证明并不是那个年代的发明创造, 早在17世纪, 数学家 Descartes (“现代哲学之父”笛卡尔) 和 Leibniz (全才莱布尼茨) 都提出过机器证明的一些思路.
Descartes 认为一切数学问题都可转换为代数问题再化为代数方程求解. 显然这是不现实的, 若他的设想可以实现, 那一切现实问题也可以通过类似的手段求解. 当然, Descartes 并没有局限于空想之中, 而是着手与几何学的代数化, 创立了解析几何, 将初等几何问题代数化.
Leibniz 设计了乘法计算器, 便设想设计一种万能语言并造一台通用机器, 他的工作推进了 Bool 代数、数理逻辑和计算机科学的研究. 而到了19世纪, C.Babbage 和 Ada Lovelace (世界上第一个程序员) 设计了出了强大的 “分析机” (后有小说《差分机》) , 但这台超越了时代的机器并没有完全造好.
更晚一些的, D.Hilbert 提出了 希尔伯特计划. 20世纪初, 第三次数学危机的出现动摇了数学的基础. 数学家们对 Cantor 的集合论进行改进, 其中代表性的有 ZF 公理系统和 NGB 公理系统. 此后 希尔伯特计划被提出, 其目的是为全部的数学提供一个安全的理论体系, 避免危机的出现.
Hilbert 的想法非常理想化, 他试图将所有的数学形式化, 也就是以下三个问题
- 数学是完备的吗? 也就是说, 面对那些正确的数学陈述, 我们是否总能找出一个证明?数学真理是否总能被证明?
- 数学是一致的吗? 也就是说, 数学是否前后一致, 不会得出某个数学陈述又对又不对的结论?数学是否没有内部矛盾?
- 数学是可判定的吗? 也就是说, 能够找到一种方法, 仅仅通过机械化的计算, 就能判定某个数学陈述是对是错?数学证明能否机械化?
Hilbert 对他的宏图相当自信, 在 1900 年的国际数学家大会上, 他发表演讲提出了23个数学问题, 其中包括“算术公理系统的无矛盾性”, 这是他雄心勃勃的计划的最后一步. 三十年后, 在接受哥尼斯堡荣誉市民称号的讲演中, 针对一些人信奉的不可知论观点, Hilbert 满怀信心地宣称: “我们必须知道, 我们必将知道.”Hilbert 去世后, 这句话就刻在了他的墓碑上.
然而, 仅在 Hilbert 退休一年后的 1931 年, Goedel 提出哥德尔不完备性定理, 直接阐述了我们不可能解决第一个问题和第二个问题.
而关于 Hilbert 的最后一个问题, 事实上机械化的计算本身可以看做一个证明, 而一个不完备的系统中, 真理不总能被证明, 因此最后一个问题只对完备的数学系统有意义.
幸运的是, 同样是哥德尔, 他证明了“一阶逻辑演算”的逻辑系统是完备的, 此即哥德尔完备性定理. 一阶逻辑演算系统是一个非常弱的逻辑系统, 在这个系统里我们甚至无法唯一的描述算术. 那么这样一个完备的逻辑系统中是不是可判定的, 我们能不能找到一种机械计算的方法判断每个数学陈述的真假?
为解决这一问题, 数学家 Turing 设计了 “图灵机” 模型——一切机器的机器, 并定义“机械计算”为“图灵机可以完成的计算”.
图灵机的结构非常简单, 它由两部分组成: 一个读写头, 还有一条两边无限延长的纸带. 纸带被划分为小格, 每格中只能有0和1两种符号. 读写头的限制则稍微宽松一些, 虽然每次只能对着纸带上的一个格子, 但它本身可以处于不同的状态, 虽然状态的数目是有限的. 在所有状态中, 有一个特殊的 “停机” 状态, 读写头一旦处于停机状态, 就会停止运作; 但如果读写头一直没有到达停机状态的话, 它就会永远运转下去.
之所以图灵机被称为“一切机器的机器”, 秘密在于读写头的状态转移表, 它指示着读写头的状态和当前读写头正对格子的符号如何变化. 它只有一种非常简单的规则: “如果在状态 A 的读写头对着符号 x , 那么对当前格子写入符号 y , 将纸带左移一格/右移一格/保持不动, 然后转移到状态 B ”. 事实上任何复杂的机械计算任务, 都可以描述执行若干次这样的读写过程.
图中绿点指示处为当前状态, 每条规则的4项分别是: 当前位置读入的字符、当前位置写入的字符、纸带的移动方向、将要转移到的状态.
特别的, 存在一类图灵机能完成根据状态转移表模拟任意图灵机的任务, 这样的图灵机被称为 通用图灵机 . 在 1935 年, 计算机被发明的14年前, Turing 用丰富的想象力及超然的直觉判断了通用图灵机的存在.
利用图灵机的理论, Turing 巧妙性的构造出了“自指”并应出矛盾, 证明了 “停机问题” 不可计算, 也就是说明了 Hilbert 的可判定性问题是无解的.(想阅读这段历史故事的详细版本, 请移步《计算的极限》)
虽说理论上证明了数学证明不能被完全机械化, 但这并没有阻挡人们对于机械证明的研究, 正如前面所述的几何定理证明的机械化, 历史上还有四色猜想以及开普勒猜想, 都借助了计算机使其从猜想晋升为证明.
更有甚者, Turing 借助对图灵机的研究, 破译德国密码系统“Enigma”, 扭转了二战战局(因此说 Turing 是一个命运悲惨的英雄, 强烈推荐电影《模仿游戏》).
延续着这些数学家的工作, 时间进入 1950 年代.
人工智能的相关研究于二十世纪五十年代起便迅速展开, 50年代至70年代这个时期被称为人工智能研究的 “推理期” .
1959年年美国IBM公司的A. M. Samuel设计了一个具有学习能力的跳棋程序. 曾战胜了美国一个保持 8 年不败的冠军. (棋牌类 Ai 的传统——和人类对打)
此外, A. Newell 与 H.Simon 设计的 “逻辑理论家” 程序, 它在 1952 年证明了著名数学家 Russell 与 Whitehead 所著的《数学原理》中的 38 条定理, 在 1963 年证明了全部的52条定理.
值得一提的是, 我国著名数学家吴文俊先生, 于 70 年代开始着手研究解决几何定理机器证明和数学机械化问题, 并取得了一系列重大成就, 并于 2001 年荣获首届国家最高科学技术奖.(吴先生最重要的学术成果主要在微分拓扑方向, 提出了“吴示性类”、“吴示嵌类”以及“吴公式”, 极大地推动了拓扑学的发展)
事实上, 诸多机器学习理论的基础工作都与之一时期完成. 例如 50 年代中后期, 基于神经网络的 “连接主义” 学习开始出现, 代表性的工作有 F. Rosenblatt 感知机和 B. Widrow 的 Adaline 等. 而于 1969 年, M. Minsky 和 S. Papert 提出, 当时的神经网络只能处理线性分类问题, 甚至连 “异或” 问题都处理不了, 致使连接主义的研究出现低潮. 此后到了六七十年代, 出现了基于逻辑表示的 “符号主义” 技术、基于决策理论的学习技术以及强化学习技术等, 并逐渐成为日后的主流研究领域. 此外还有 90 年代红极一时的统计学习理论的奠基性工作都在这一时期取得, 例如 V. N. Vapnik 在 1963 年提出了 “支持向量” 概念, 并与A. J. Chervonenkis 在1968年提出 VC 维, 在1974 年提出结构风险最小化原则.
延续这一时期的基本工作, 时间推进到 1980 年代.
此外, 从 1970s 中期开始, 人工智能研究进入了“知识期”. 1965 年, “知识工程之父” Feigenbaum 主持研制了世界上第一个专家系统 DENDRAL , 此后诞生了大量专家系统, 并在很多应用领域取得了大量成果. 但是, 专家系统发展过程中面临 “知识工程瓶颈” , 即由人将知识总结出来传授给计算机是相当困难的, 于是 “如何让机器自己学习知识”这 一思考促使了机器学习的复兴.
1980 年夏, 卡耐基梅隆大学举办了第一节机器学习研讨会, 后发展为国际机器学习会议. 1986年, 第一本机器学习专业期刊 Machine Learning 创刊; 1989 年, 人工智能领域权威期刊 Artificial Intelligence 出版了机器学习专辑; 1990年, MIT出版了 机器学习:范型与方法 . 这一时期, 机器学习称为一个独立的学科领域, 并开始大放光彩.
作为一门独立学科领域, 人们需要对其研究做细致划分. 这一时期主要的思想有:
R. S. Michalski 等人认为, 机器学习研究可划分为:
而 E. A. Feigenbaum 等人则把机器学习划分为:
从 1980s 起, 被研究最多、应用最广的就是 “从样例中学习” , 其涵盖了监督学习、无监督学习等. 其于 80 年代的一大主流是符号主义学习, 包括决策树和基于逻辑的学习. 90 年代中期以前, 另一大主流为基于神经网络的连接主义学习. 尽管 1969 年被反驳无法解决 “异或” 问题, 但对神经网络的研究仍在继续. 1983 年, J. J. Hopfield 利用神经网络求解 TSP 问题取得重大进展而使连接主义重获关注. 1986 年, D. E. Rumelhart, G. Hinton 等人重新发明了著名的 BP 算法 , 影响力延展至今. Yann LeCun 于 1989 年设计并提出了 Lenet-5 模型, 作为目前最流行的卷积神经网络 (CNN) 的雏形, 成功实现了手写数字识别, 该模型也是第一个被成功训练的人工神经网络. 由于早期计算力不足等因素, 神经网络领域的成就并未达到较高高度.
在 1990s 中期, “统计学习” 诞生并因其优越的性能迅速成为主流, 代表性的算法有著名的支持向量机(SVM), 以及更一般的核方法.
1997 年, IBM 研发的 “深蓝” 计算机以 3.5:2.5 击败了世界冠军卡斯帕罗夫.
千禧年后, 机器学习技术开始真正走入生活中.
二十一世纪后, 因计算能力提升、算法改进、网络改造、数据增多等因素, 连接主义学习以 “深度学习” 为名卷土重来, 并迅速成为目前的主流. 在诸多测试及竞赛中取得优越性能, 超过了以往的机器学习算法. 真正走红是自 2012 年的 ImageNet 竞赛, Hinton 和他的学生 Alex Krizhevsky 设计了 AlexNet 并运用 GPU 训练模型, 一举夺得那年的冠军.
深度学习模型, 通常为具有多个隐藏层的人工神经网络, 有良好的特征学习能力, 但模型本身复杂度极大, 该技术兴起的根本原因在于计算能力的迅速提升以及数据量的快速增多. 虽然深度学习技术缺乏严格的理论基础, 但降低了机器学习应用的难度, 只需要肯花功夫“调参”, 模型就能取得较好效果. 因此, 深度学习技术在图像、语音、文本、机器人控制等复杂对象的应用中取得了优越性能, 例如谷歌翻译, 苹果的语音助手 Siri 、微软的语音助手 Cortana , 以及先前的 AlphaGo 围棋程序等.
至此, 深度学习大放光彩, 人类也随之走入 “大数据时代” .
2016 年 3 月, DeepMind 设计的 AlphaGo 击败了围棋世界冠军李世石. 又于 2017 年 5 月击败了世界第一围棋选手柯洁.
2019 年 3 月, Turing 奖被授予了深度学习三巨头: Yoshua Bengio, Geoffrey Hinton 和 Yann LeCun , 以表彰他们为当前人工智能的繁荣发展所奠定的基础.
[1]: 周志华. 机器学习[M]. 北京:清华大学出版社,2016
[2]: Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning[M]. Massachusetts:The MIT Press,2016
[3]: Eren Golge, Brief History of Machine Learning
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。