从Google AlphaGo到Chatbot聊天机器人、智能理专、精准医疗、机器翻译…近年来时而听到人工智能、机器学习的相关消息,一夕之间这项技术攻占了各大媒体版面。
不但Google、Facebook、微软、百度、IBM 等巨头纷纷进军该领域,NVIDIA 执行长黄仁勋亦宣称将由显示卡转型成人工智能运算公司,强调人工智能浪潮的来临。
讲到人工智能,你的想像是什么?


一般人对人工智能的想像,不外乎是影剧中的机器人形象。从史蒂芬·史匹柏导演的《AI 人工智能》中可爱的男孩、《机械公敌》中想控制人类统治世界的机器人、《机械姬》中能骗过人类情感的人造意识… 。
不过撇除这些,来看看我们每日在用的产品:
GMAIL 中垃圾信件会自动被丢入垃圾桶

Google 相簿的图像辨识

这个更猛了,是图像辨识加上自动翻译。

从垃圾信件自动分类、图像辨识、自动翻译… 你知道内部即已包含了人工智能吗?
不过具体来说,我们会把这样的技术称为「机器学习」。
到底什么是人工智能?什么是机器学习?什么是深度学习?三者的差异在哪?要解决的又是什么问题呢?

今天就让我们来聊聊,未来十年内将会真正改变你我生活的新世代技术。
人工智能: 如何以电脑解决问题
人类自从发明电脑以来,便始终渴望着能让电脑拥有类似人类的智能。一提到人工智能,很容易令人想到电影与科幻小说中常见会聊天、会煮饭还会突然间想毁灭人类取而代之的机器人形象。
究竟什么算作「智能」?若电脑能针对我们的问题准确地作回答、或学会下棋和泡咖啡,如此就能确定电脑拥有智能吗?要怎么确定它真正拥有意识、理解情感?
当年AI技术尚未真正发展起来,哲学家与人文学家已就这个问题做过许多广泛的讨论。
根据这个问题,美国哲学家约翰.瑟尔(John Searle) 便提出了「强人工智能」(Strong AI)和「弱人工智能」(Weak AI) 的分类,主张两种应区别开来。

强人工智能受到电影与科幻小说的影响,强调电脑将能拥有自觉意识、性格、情感、知觉、社交等人类的特征。
另一方面,弱人工智能主张机器只能模拟人类具有思维的行为表现,而不是真正懂得思考。他们认为机器仅能模拟人类,并不具意识、也不理解动作本身的意义。
简单来说若有一只鹦鹉被训练到能回答人类所有的问题,并不代表鹦鹉本身了解问题本身与答案的意义。
在图灵所提出的图灵测试(Turing Test) 中,如果一台机器与人类对话、而不被辨别出己方的机器身分时,便能宣称该机器拥有智能。
Ex Machina 电影中由男主角对机器人进行Turing Test 的一幕
这可以算是人工智能的一种检测方式,然而强人工智能拥护者可能会反驳──表现出「智能」的行为不代表它真正拥有智能、了解对话的意义。
当然弱人工智能拥护者也可以反驳:
我们永远不可能知道另一个人的想法,比如我在和一个人对话时、并不知道对方是否和我进行一样的思考方式,因此我们不能否定这台机器存在智能的可能。
是否有点类似庄子和惠子的子非鱼安知鱼之乐的对话了呢?
有兴趣的读者能再就上述问题持续深入讨论思考。不过在电脑科学界,直至目前为止尚不须深入纠结在这个问题层面。电脑科学家在意的是──我们能用人工智能解决什么样的问题。
1950 年代的电脑科学方起步,从科学家到一般大众,都对于电脑充满无尽的想像。
人工智能(Artificial Intelligence) 一词最早是在1956 年举办于达特茅斯(Dartmouth) 的一场传奇研讨会,与会者包括了几位当代数一数二的学者。
当时,全世界第一台通用电脑EDVAC 问世刚满十年,任何人只要看到过电脑的超强运算能力,想当然尔都会认为电脑有一天会比人类还聪明、甚至是超越人类的存在。
其中纽厄尔(Newell)、西蒙(Simon) 更当场展示了有「全世界第一个人工智能程式」之称的逻辑理论家(Logic Theorist),这是一个会自动证明定理的程式。
在各界的高度期盼下,不但艺术界盛兴相关题材,包括大导演弗里茨·朗(Fritz Lang)的大都会、科幻作家艾西莫夫(Isaac Asimov)的机器人三大法则等等,主流科学界也都预估20到30年左右的时间,便可以成功创造出与人类智能同样高度的人工智能。

然而人工智能的研究很快便面临了瓶颈。如果你有看过电脑是怎么来的?一文,你可以很明确地感受到──发明电脑的数学模型基础和思想,是建立在逻辑运算上。
从康托尔的集合论、到希尔伯特的可数无限集、哥德尔不完备定理、图灵以图灵机来演绎哥德尔不完备定理… 等等,都是利用符号来表达的形式系统,再用有限的数学式去证明这个系统不会出现矛盾。
可想而知,这使得当代人对于人工智能的研究方向也是以「逻辑符号推导」为出发点。解的问题包括利用Search Tree 来走出迷宫、或梵塔(Hanoi) 问题。

梵塔问题:传说印度某间寺院有三根柱子,上串64 个金盘。寺院里的僧侣以下述规则,将这些盘子从第一根移动至第三根:
盘的尺寸由下到上依次变小。
每次只能移动一个圆盘;
大盘不能叠在小盘上面。
传说当这些盘子移动完毕的那一刻,世界就会灭亡。
然而若传说属实,僧侣们需要264-1步才能完成这个任务;若他们每秒可完成一个盘子的移动,就需要5849亿年才能完成。整个宇宙现在也不过137亿年。
不过若用电脑的递回解,很快就能做完了。我们会在《简单的演算法》系列第二集中和大家继续探讨这个问题。
第一次人工智能泡沫后,研究领域转为「机器学习」
然而问题来了──机器程序是由人类撰写出来的,当人类不知道一个问题的解答时、机器同样不能解决人类无法回答的问题。
另一个问题是当时电脑的计算速度尚未提升、储存空间也小、数据量更不足够。

对人工智能的研究方向局限于逻辑数学领域、加上硬件环境上的困境,使早期人工智能只能解一些代数题和数学证明,难以在实务上有所应用。

在1970 年代末时,一些知名研发计画如纽厄尔和西蒙的「通用问题求解器」和日本政府领头的「第五代电脑系统」达不到预期效果时,人工智能开始被人们视为一场现代炼金术,企业与政府纷纷撤资、研究基金被削减、多个计画被停止,迎来了人工智能的第一场寒冬期。
虽然此时人工智能的研究迈入了瓶颈,但是电脑硬件却是以指数型的方式进步。
1965 年Intel 创始人摩尔观察到半导体晶片上的电晶体每一年都能翻一倍;到了1975 年,这个速度调整成每两年增加一倍,电脑的运算能力与储存能力同时跟着摩尔定律高速增涨。
如今,电脑的运算能力约为30年前的100万倍。(此段介绍欢迎参考晶圆代工争霸战:半导体知识一文)
我们上面提到,早期的人工智能研究聚焦在逻辑推论的方法,专注于模仿人类推理过程的思考模式,需要百分之百确定的事实配合,实务上应用困难。
但有没有可能换一个思考模式,比如用统计概率学来处理人工智能的问题呢?假设一个命题为:「某个特定事件会发生吗?」同样是判断「是」或「否」的二分法,数学逻辑的思考方式是证明TRUE 或FLASE。
但我们也能用概率来量化对于某些不确定命题的想法,想法改为:「我们可以多确定这个事件会发生?」确定的程度可以用0 到1 之间的数值来表示。
如果你一路读完电脑科学领域的初始发展、知道图灵、冯纽曼等巨头,与纽厄尔等早期图灵奖(电脑科学界最高荣誉) 得主的研究方向,到如今人们对于人工智能研究的思想转变,会发现…… 这可是多大的突破!
此即为时下热门的话题「机器学习」(Machine Learning)。
「机器学习」是一门涵盖电脑科学、统计学、概率论、博弈论等多门领域的学科,从1980 开始蓬勃兴起。

机器学习之所以能兴起,也归功于硬件储存成本下降、运算能力增强(包括本机端与云端运算),加上大量的数据能做处理。

电脑从大量的资料中找出规律来「学习」,称为「机器学习」,也是「资料科学」(Data Science) 的热门技术之一。
最早研究机器学习的理论都是统计学家或概率学家所发表的,到后来电脑科学界的人发现:「噢,这些理论可以帮助我们来解决一些问题!」又加进来研究,可以说是「资工+统计」的双重Domain Knowhow。
另外,这也是为什么「机器学习」会被称之为人工智能领域的一支。要实现人工智能的方式有很多,像早期的符号逻辑学也是人工智能的实践方向。
所以说别再说现在红的是「人工智能」啦!人工智能领域很多元也很广泛,早在1950 年代就已经红过了。
什么是深度学习?机器学习的一个分支
不过除了机器学习,最近常听到的「深度学习」又是什么意思呢?类神经网路、深度神经网路和深度学习是不一样的东西吗?

虽然有点绕口令,不过请跟我念一次:机器学习是人工智能的一个分支。深度学习是机器学习的一个分支。
也就是说人工智能包在最外层、机器学习包在第二层、深度学习是第三层。
2013 年7 月,Google 收购了一家才创立一年、叫做DNNresearch 的公司。甚至,这家公司仅有三个人。为多伦多大学教授Geoffrey Hinton 教授和他的两位学生。

是什么魔力,让Google 愿意砸大钱在一家名不见经传的公司?你可能没听过DNNresearch、或不认识该公司的创办人Geoffrey Hinton,但你不能不知道的事情是,Google 眼馋的、正是背后的深度学习(Deep Learning) 技术。
可以说后续AlphaGo 的出现,除了主导研发的DeepMind 之外,还有Hinton 的协助。
什么是深度学习? 为何各产业为之风靡?这就让我们来聊聊深度学习发展的前身「类神经网路」(Neural Network) 啦。
在本文的前半段,我们只很简单说明了,1950年代电脑发明的时候人类就寄望、能出现比人类运算能力更强、更聪明的机器出现,称为人工智能。在1950 年代以数理逻辑的为主要研究方向。
机器学习是由统计概率学、加上电脑科学方法的一个延伸学科,在数理逻辑研究方向失败后,机器学习在1980 年代到2006 年间成为研究主流。
但机器学习的理论有很多,包括支援向量机(SVM)、决策树(Decision Tree)、AdaBoost、随机森林…
其中有一个分支在1980 年初的时候一度兴起,叫「类神经网路」(Artificial Neural Network)。
类神经网路的衰颓、与浅层机器学习方法兴起
1943 年就有学者用数学模型来模拟生物大脑的神经网路。这个研究后续分成了两派,一派转向了生物神经学、一派转向了人工智能。

1980 年代,当时的诺贝尔医学奖得主研究了大脑内部的神经回路而轰动一时。也让科学家们对「模拟人类大脑的运算模型」抱持了高度期待。
1986年,Rumelhar 和Hinton 等学者提出了反向传播算法(Back Propagation),解决了神经网路所需要的复杂计算量问题,从而带动了神经网路的研究热潮。
然而过了不久就发现反向传播法遇到了瓶颈──反向传播的优化(找出误差的最小值) 问题,使得神经网路只要超过3 层以上就几乎没有效果。
由于本篇旨在讲解人工智能发展简史,关于什么是「反向传播」、「误差最小值」、「梯度消失」,会在日后另发一篇文讲解类神经网路原理,读者只要先记得一个概念就好:此时的多层神经网路宣告失败。
如果神经网路无法达到多层的运算,相较之下不如采用其它层数小于3 且效果又更好的机器学习算法,比如SVM、随机森林等,此时SVM 火热了一段时间,在垃圾信件分类上做得特别好。
同时间,学术界一度放弃类神经网路的研究方向,甚至只要有论文或研究标明「Neural Network」,几乎不愿意花心思阅览或刊出。
2006 年HINTON 成功训练多层神经网路、称为深度学习
此时的Hinton 还很年轻,仍不离不弃对于神经网路的研究。也正是这股热情,使他整整力撑30 年、终于在2006 年找到了解方、提出限制玻尔兹曼机(RBM) 模型成功训练多层神经网路。

这带来了类神经网路模型复苏的又一春。由于Neural Network 长久以来太过恶名昭彰,Hinton 决定把多层的神经网路(Deep Neural Network) 重命名为深度学习(Deep Learning)。
(同时,他又用有点讽刺意味的说法,将Neural Network 以外、层数小于3 的机器学习方法,包括SVM 等称为「浅层学习」(Shallow Learning),可能是想一雪长久以来被SVM压在头顶上的不爽吧(´_ゝ)... )
(讲白点,人工智能就一个buzz word... 用电脑模型运算来解问题,别再问:人工智慧有一天会不会跟人类谈恋爱有意识惹)
Hinton 因此被称为「深度学习之父」。也就是说,这是一个励志故事。当大家都放弃时、再撑30 年还是会有转机的!(咳咳
尽管如此, Hinton 就算在2006 年就提出了RBM 模型,深度学习还是没有红起来。大家只是知道:「噢类神经网路也不是完全没用嘛。」由于习于忽视已久,加上运算量过于庞大:
当时都是采用CPU 来运算。好不容易耗费5 天才终于跑完一个模型,结果发现有问题、改个模型参数又要再等5 天… 等真正训练好的时候都已经不知何日了。
只能说2006 年的突破只是带来一丝曙光。真正的转折点,还是要到2012年。那年10月,机器学习界发生了一件大事。
2012 年深度学习+GPU一战成名,爆发人工智能热潮

ImageNet是全世界最大的图像识别资料库。每年,史丹佛大学都会举办ImageNet图像识别竞赛,参加者包括了Google、微软、百度等大型企业,除了在比赛中争夺图像识别宝座、同时测试自家系统的效能与极限。
其实从2007 年ImageNet 比赛创办以来,每年的比赛结果、每家都差不多,错误率大致落在30%、29%、28%… 瓶颈一直无法突破。
结果2012 年Hinton 的两个学生以SuperVision 的队伍名参赛,以16.42% 的错误率远胜第二名的26.22%。用的正是深度学习技术。

此景一出,大家都疯了!从此爆发深度学习热潮。Google 在2013 年人才收购了Hinton 和他的两位学生,一堆企业争相投入深度学习的研究领域。
2015 年的冠军Microsoft ,已以3.5% 的错误率赢得冠军,超越⼈类5%。发展可谓一日千里。

深度学习之所以在2006 年还没真正火热起来,问题在于硬件运算能力不足──传统大家都是用CPU 来运算,然而速度缓慢。
深度学习会大量用到矩阵运算,最合适的硬件事实上是负责图形处理的GPU。直到2012 年Hinton 的两位学生利用「深度学习+ GPU」的组合,才真正发挥GPU 的威力。
但为什么这么长以来的时间,都没有人用GPU 来运算呢?因为编译有其难度。
我们之所以能用CPU 做运算,是因为CPU 有编译器(Compiler) 这样的设计,能让工程师写完程式后、经过编译器的转译、成为CPU 看得懂的机械码。
然而一般GPU 并没有类似的设计,因此工程师难以直接写程式让GPU 来运算。直到NVIDIA 在2006 – 2007 年间推出全新运算架构CUDA ——NVIDIA成为深度学习运算必用硬件的关键。
使用者可以撰写C 语言、再透过CUDA 底层架构转译成GPU 看得懂的语言。
这也是自GPU 可以拿来做大规模运算的概念推出之后,首次可以让人使用C 语言来运用GPU 蕴藏已久的强大运算能力,故NVIDIA 从GeForce 8 系列之后的显示卡全开始支援CUDA 技术。
而CUDA 的成功,更直接导致了深度学习的运算全部都使用NVIDIA 家的GPU。这种惊人的影响力,不论是深度学习、机器学习、自动车、虚拟实境(VR)、电竞游戏,每一项都跟NVIDIA 习习相关。
这也让NVIDIA 的GPU 从此一飞冲天,股价也随之高涨──NVIDIA 从去年12 月开始连续9 个交易日创历史收盘新高、到年底为止涨幅高达255.95%。MarketWatch 也报导,NVIDIA 是2016 年S&P 500 指数表现最好的成分股。
2016 年8月,NVIDIA 在其每年举办的GTC 大会上(GPU Technology Conference,俗称老黄的传教大会),执行长黄仁勋强调NVIDIA 在人工智能领域上的深耕、能提供最完整的软硬件解决方案。

整场大会以深度学习为重要主角,同时宣布推出全世界第一个专门用来运算深度学习的超级电脑——DGX-1 伺服器,售价129,000美金。
今年5 月,NVIDIA 再度宣布推出全新DGX 工作站,最大卖点莫过于搭配了采用Vota 架构的Tesla V100,可在单台系统内,搭配四台Tesla V100,提供相当于400 颗CPU 的效能。
今天,我们讲解了人工智能、机器学习和深度学习的由来。再帮大家回顾一次这张图:
三者的包含关系为:人工智能> 机器学习> 深度学习
1950 年人工智能发展,以数理逻辑为基础
1980 年多层类神经网路失败,浅层机器学习方法(SVM 等) 兴起
2006 年Hinton 成功训练多层神经网路
2012 年因ImageNet 比赛让深度学习重回学界视野,同时开启NVIDIA GPU 作为运算不可或缺硬件的大门


安徽省云计算产业促进会是由从事与支持云计算事业的企业、个人和团体自愿结成的全省性非营利性社会组织。其定位是立足安徽,联合国内同行业组织,搭建对外交流与项目合作平台,促进云计算产业发展。秘书处联系电话:0551-62586665 邮箱地址:tangtingting@accipa.org.com
长按识别二维码关注


