01

人工智能、机器学习和深度学习的关系

在智能科学领域,有一个初学者很爱问的问题:人工智能、机器学习和深度学习三者有什么联系和区别?

这个是既简单又复杂的问题。这个问题是有标准答案的。答:三者是包含关系,即人工智能包含机器学习,机器学习包含深度学习。可是,如果你一旦细究,就会发现这个问题远比标准答案要复杂得多。

先说一个很容易产生的误区。我们在新闻上经常能看到:某某产品使用了人工智能技术,就具备了怎样“叹为观止”的能力,让人很容易产生一种错觉,以为人工智能和涡轮增压一样,就是一种技术,所有的“人工智能”产品,用到的都是同一种叫“人工智能”的技术。

但实际上,人工智能是一片森林,森林里的每一颗树,都是一条技术原理完全不同的路线。为什么会有这么多不同的路线呢?原因很简单,别看一说人工智能,许多大V都能侃侃而谈,其实大家都在盲人摸象,直到现在也还不知道到底哪一条才是通往真正智能的康庄大道。可能都是,也可能都不是,怎么办呢?那就多路并举。

有多少路呢?总的来说可以分为三路,或者叫三种主流学派:符号主义、连接主义和行为主义。你随便去翻一本人工智能的教材,你就能看到这三种主义都是什么。

不过,这并非唯一的分法。一些文献会将主要路线分为两条:基于规则和基于统计。我更喜欢这种分法——清晰、易懂、好落地。

基于规则的想法很朴素,譬如说语法分析:如果我把所有的语法规则都穷尽了,做出来的语法分析器不就“智能”了吗?理想很丰满,现实很骨感,最大的问题就在于“大”——工作量大。基于规则的路线很多人试了,结论就是:哪怕只是语法,不同的情况也非常多,要穷尽所有规则只能是挂一漏万,人力不可能为之。

目前的赢家是基于统计,优势是成本低,不需要人肉写规则,而且效果还好。机器学习就是基于统计的智能算法。

初学者经常爱问的另一个问题是“机器学习的本质是什么”。我认为很简单,就是用模型拟合数据的分布。对于机器学习来说,数据很重要,非常重要,学过机器学习的同学可能听过一句话,叫“数据决定了性能的天花板”,而选择哪款模型,则决定你与天花板的距离。

可是,为什么呢?就因为:机器学习的本质是拟合数据的分布。如果你得到的数据质量并不好,样本分布和真实分布存在偏差,模型的性能就一定好不了。这就相当于,你考试前背答案,但是答案本身就错了,你背得越熟,结果只能错得越离谱。

机器学习也不是某一种技术,而是一筐技术。譬如有支持向量机、决策树、最近邻等等,单拎出来都可以算是一条技术路线,其中有一路叫神经网络,有的人觉得应该和生物学的神经网络有所区别,应该叫人工神经网络(ANN)——以生物学的神经网络为蓝本设计的机器学习算法。光听名字,就让人感觉这个算法非常有前途,实际上也确实很有前途,现在大名鼎鼎的深度学习,就是神经网络的Plus版。

02

从神经网络到深度学习

神经网络和深度学习的关系是个热门话题,甚至干脆就叫这个名字的书我都翻过好几本。相关的内容我也写过几次分享,最近在看一本书,是Charu C.Aggarwal写的《神经网络与深度学习》,对这个话题又有更深的了解。

我们知道,近几年人工智能又成了热议的话题和投资的风口,而推高这一波热潮的技术叫深度学习。前面介绍了人工智能、机器学习和深度学习三者是包含关系,不过还是有不少不严谨的媒体,俨然把深度学习当作了人工智能的代名词,那接下来就专门聊聊,这个深度学习到底是怎么一回事。

上面我们提到了神经网络,从技术脉络来说,深度学习就是神经网络这一支系下的一条分叉。所谓深度,其实就是神经网络层数很多的意思。神经网络的发展历程非常曲折,经历了两次大低谷,每次都被打上“此路不通”的标签。

第一次是在1960年代,当时出了一本书叫《感知机》,这是一本在神经网络上具有里程碑意义的著作,在数学上证明了(单层)神经网络无法学习异或,也就是我们熟知的XOR操作。我看过有些教材上直接就写是“神经网络无法学习异或”,这是误导,我们现在使用的多层神经网络是可以学习异或的,严谨的表示应该是单层神经网络无法学习异或。

不过,当时的神经网络都是单层神经网络,所以这个证明结论在很多人看来是直接宣判神经网络的死刑,连很多神经网络领域的领军人物都纷纷另寻他路。

大家看到这里理应产生一个问题:现在深度学习大行其道,所有人都知道多层神经网络是完全可行的,单层神经网络的出路就是把层数加深,这么简单的破局之道,为什么连当时的大牛都看不到?

因为多层神经网络会导致误差难以传导。依靠误差调整权重是神经网络,乃至很多机器学习算法的所谓“学习”过程。简单增加神经网络的层数会导致什么问题呢?梯度消失。简答来说就是传回去的误差为0了,权重也就没法通过学习来调整了。这个问题至今仍然是困扰深度学习的一大难题。

单层没有出路,多层也没有出路,两头堵死,所以大家也就对神经网络失去了信心。直到一个重要的机制横空出世,才让神经网络起死回生。这个机制就是大名鼎鼎的后向传播机制(Back Propagation),一般也简写成BP机制。

BP机制的算法核心是链式求导法则,需要懂一点点高数,不过也就一点点,在数学原理上看,BP机制并不复杂,但角色非常重要。正是有了BP机制,多层神经网络得以实现训练,神经网络在理论上的死局也就破解了。

但是,虽然BP机制给深层神经网络插上了想象的翅膀,但算力限制又把它重新拽回了地面,结果1990年代在实战中被支持向量机按在地上摩擦,又遭遇了一波低谷。这个部分不想照书念了,我有过一些实验,谈感觉吧。

首先记住一点:神经网络严重依赖算力,性能和算力呈正比,可谓是败也算力成也算力。BP机制是1980年代提出来的,那个年代的计算机算力还比不上现在的手机。虽然BP机制在理论上解开了多层神经网络的束缚,但来自硬件方面的算力局限,还是把层数这块拿捏得死死的。那个年代的多层神经网络,也就多个两三层,层数少,参数规模也小,和现在动辄一个3A大作大小的大模型根本没法比。

性能优势发挥不出来,另一个短板就上来了,那就是训练时间长。

笔者手边做了一个不太严谨的对比实验:同样的硬件环境和同样的数据集,使用最经典的前馈神经网络要接近支持向量机的性能,训练时间差不多是3倍。结论肯定是不严谨的,不过大概也明白了被什么神经网络会在30年前再次进入低谷,性能一般训练时间还长的模型,肯定比不上Bug一样存在的支持向量机有排面。

那怎么办呢?没什么新办法,前面已经说了,神经网络的出路就是增加层数,但是能加多少层,谁说了算呢?算力说了算。神经网络在1990年代除了被支持向量机按在地上摩擦,还忙了许多事,譬如深度学习的开门第一课卷积神经网络,相关研究远比很多人想象中要早,在90年代初连专利已经出来了。可是神经网络还要等,要等待一个机会,等待属于自己时代的降临。

十年窗下无人问,一举成名天下知。时间来到2012年,在ImageNet的赛场上,一款名为AlexNet的深度神经网络模型,让其它在座的模型深深地明白一个道理:抵抗已经没有意义,往后的比赛都将由深度神经网络主宰,往后的时代恐怕也将交由深度神经网络主宰。这里我多说一个细节,ImageNet自2009年起年年都举办比赛,我看了下得分,早些年有点菜鸡互啄的意思,大家错误率都差不多,今年你赢可能只是赢在运气好。到了2012年这一届,第一名的AlexNet的错误率仅仅只有15.3%,比第二名低了10个百分点。换句话说,其它模型被AlexNet甩得连车尾灯都没有看见。后面的事大家都知道了,深度神经网络换了个更容易引流的名字,叫深度学习。我们现在所处的这个时代,正是深度学习时代。

03

《神经网络与深度学习》及其作者

前面提到一本书,叫《神经网络与深度学习》,名字朴实无华,但十分有趣,多写一点介绍。先说说书的作者Charu C.Aggarwal。这哥们就俩字——大牛。搞数据科学,特别是推荐算法的同学,不应该对这个名字感到陌生。推荐算法领域有一本经典,中文版名字叫《推荐系统:原理与实践》,人称推荐算法圣经,就是这位Charu C.Aggarwal的作品。这哥们特高产,还专出精品,譬如在数据挖掘领域出过一本《数据挖掘:原理与实践》,最近在机器学习又出了一本《Linear Algebra and Optimization for Machine Learning》,就算在数据科学的推荐书单不是“卷卷有爷名”,也差不多了。

再说《神经网络与深度学习》。同名的书有好几本,所以最初看到书名我是没任何特别的感觉的,不过仔细翻了才猛然发现,这书居然就是大名鼎鼎的星云书。书的英文名叫《Neural Networks and Deep Learning: A Textbook》,原书封面印了一幅星云图,所以也叫“星云图”。星云图我很有印象,早就听不同的人推荐过好几次,说特别好,就是没有中文版,所以我也只是记得书的英文名字。现在中文版终于也出来了,就是这本和别人撞了名字的《神经网络与深度学习》。

作者是牛人,可是起初我还是有点担心,那就是话题太老。神经网络和深度学习的知识点就那么几个:激活函数、后向传播再加个优化方法,十根手指掰得过来,而且从花书开始,已经有无数的书、无数的作者将这屈指可数的知识点给围剿了无数遍,Charu C.Aggarwal能写出什么新东西来吗?

还真可以。千万别忘了,魔鬼总藏在细节处。大家刚开始深度学习应该都会有一种感觉,大的知识点我都了解了,可是总有一些点与点之间的连接处感觉怎么也过不去。这就像看一部剧,剧情梗概开完了,但总觉得缺了点细节。虽然看起来只是细枝末节,但是一来让人不痛快,更重要的是没法构成完整的逻辑,就不太容易理解了。

说一个具体的地方,深度学习为什么要使用GPU?这几年高性能显卡和30年前的学习机一样,都是打着学习的旗号来玩游戏......啊不小心把心里话说出来了......总之,大家都知道搞深度学习要买显卡。浅层理由也都清楚,用了GPU,模型的训练时间就能明显缩短,原来纯CPU要跑一天的训练,上了GPU可能两小时就跑完了。可是,为什么呢?不知道这种细节是过于浅显还是上不得台面,很多教材都会选择性地遗漏。不过,《神经网络与深度学习》就单辟了一节来解释。好几千字的内容不好全抄,简单来说,GPU的长处就是用来快速进行大量矩阵运算,当然,以前的矩阵运算主要是用于几何图形渲染,GPU有多重要,玩过大型游戏的都知道。神经网络、深度学习恰好也需要大量矩阵运算,所以“寓教于乐”也就是自然而然的事情了。

看完书还有一点是我个人印象特别深的,就是《神经网络与深度学习》这本书的组织结构非常清晰。神经网络是一个很大的范畴,别忘了,神经网络已经发展了半个多世纪,除了深度学习这个当家花旦,还有很多其它路线分支。不同路线都有自己的知识点,很多教材会选择将这些知识点“合并同类项”,结果就是不同路线的知识点全混杂在了一起。而《神经网络与深度学习》则选择了另一种做法,把路线首先划分出来,譬如专设一章叫《基于浅层神经网络的机器学习》。

我长期对神经网络有一个误解,感觉在深度学习出来以前,神经网络一直都在打酱油,是“天不生仲尼,万古如长夜”。读完“基于浅层神经网络”这一章以后,我非常感慨,虽然有算力等种种硬性制约,但前辈们还是在极其简陋的条件下想尽办法,一点一点地提升神经网络模型的性能。另一个让我同样很感慨的是玻尔兹曼机,因篇幅有限没法展开了,读完以后了解到的,不仅仅只是充满了数学式子的知识,还有知识背后无数人披荆斩棘的坚持。

作者简介:

莫凡 ,网名木羊同学。娱乐向机器学习解说选手,《机器学习算法的数学解析与Python实现》作者,前沿技术发展观潮者,擅长高冷技术的“白菜化”解说,微信公众号“睡前机器学习”,个人知乎号“木羊”。

RECOMMEND

推荐阅读

IBM沃森研究院明星研究员、KDD知名学者撰写,Philip S. Yu、Huan Liu、孙茂松、王斌等多位专家联合推荐,经典深度学习教材翻译版。

活动推荐

扫码关注【华章计算机】视频号

每天来听华章哥讲书

更多精彩回顾

书讯 | 10月书讯(下) |  小长假我读这些新书

书讯 | 10月书讯(上) |  小长假我读这些新书

资讯 | 什么是图数据库?图数据库实践与创新浅析

书单 | 你们要的Java学习路线图来了

干货 | 数字化转型的1个目标,3大领域,6大因素和9个环节

收藏 | 两本书助你构建智能计算系统知识树

上新 | 【新书速递】从技术小白到开发大牛,这本实验教程带你手把手全栈开发!

赠书 | 【第77期】没有网络安全就没有国家安全

点击阅读全文购买

终于有人把人工智能和深度学习讲明白了相关推荐

  1. 终于有人把OpenCV、人脸识别与深度学习讲明白了

    导读:今天聊OpenCV,我想从人脸识别讲起. 作者:木羊同学 来源:华章计算机(hzbook_jsj) 这几年人脸识别技术在国内发展飞速,给生活带了很多便利,这个大家应该都有体会.早几年进高铁站还比 ...

  2. 【第12期】终于有人把OpenCV、人脸识别与深度学习讲明白了

    今天聊OpenCV,我想从人脸识别讲起. 这几年人脸识别技术在国内发展飞速,给生活带了很多便利,这个大家应该都有体会.早几年进高铁站还比较麻烦,要先排长队,得让检票口的工作人员一个一个查看证件然后&q ...

  3. 终于有人把正态分布和二八法则讲明白了

    导读:在现实生活中,绝大多数的随机不是均匀分布的. 作者:徐晟 来源:大数据DT(ID:hzdashuju) 如果你是一位程序员,编程时就一定用过随机(random)函数.它的功能是在特定取值范围内随 ...

  4. 机器学习与人工智能、深度学习有什么关系?终于有人讲明白了

    导读:"机器学习"一词往往被与"人工智能""深度学习"混用,也常与"大数据"一词一同出现.下面首先简要介绍它们的关系,然 ...

  5. 终于有人把“人工智能”讲明白是怎么回事了!

    我们正站在变革的边缘,而这次变革将和人类的出现一般意义重大 – Vernor Vinge.如果你站在这里,你会是什么感觉? 看上去非常刺激吧?但是你要记住,当你真的站在时间的图表中的时候,你是看不到曲 ...

  6. 热门 | Google Brain前员工深度盘点2017人工智能和深度学习各大动态

    翻译 | AI科技大本营 参与 | shawn 编辑 | Donna 2017年是人工智能井喷的一年.Google Brain团队前成员Denny Britz在自己的博客WILDML上对过去一年人工智 ...

  7. AlphaGo、人工智能、深度学习解读以及应用

    经过几天的比拼,AlphaGo最终还是胜出,创造了人机大战历史上的一个新的里程碑.几乎所有的人都在谈论这件事情,这使得把"人工智能"."深度学习"的热潮推向了新 ...

  8. 【人工智能】深度学习、数据库选择和人工智能的革命;人工智能是解锁IoT潜力的钥匙

    深度学习(DL)和人工智能(AI)已经不再是科幻小说中遥不可及的目标,目前已成为了互联网和大数据等领域的前沿研究内容. 由于云计算提供强的计算能力.提出的先进算法以及充裕的资金,这创造了五年前难以想象 ...

  9. hopfileld神经网络_人工智能及深度学习-中国大学mooc-题库零氪

    第二章 知识表示 知识表示随堂测验 1.对于知识的框架表示法,下面叙述正确的是( ) A.框架中,一个槽用于描述所论对象某一方面的属性,一个侧面用于描述相应属性的一个方面. B.槽值可以是另一个框架的 ...

最新文章

  1. 遍历当前目录下的所有子目录例子(自动生成SQl语句工具)
  2. 数字货币 矿池 矿场 区别
  3. 西安电子科技大学泄漏信息
  4. OpenCV-Python 相机校准和消除畸变
  5. 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
  6. MySQL发展史重大事件
  7. 梅朵是藏语鲜花的意思
  8. iOS的推送证书过期的处理
  9. cassandra本地连接失败_无法连接到本地Cassandra实例?
  10. Fragment使用--文章集锦
  11. 项目:基于以太网通信,单片机作为客户端,接收CAN-Ethernet的十六进制数据
  12. maven添加外部jar,以及springboot打包
  13. 乔致庸晚年有白银一千万两,相当于现在多少钱?
  14. 使用Node.JS,如何将JSON文件读入(服务器)内存?
  15. css颜色跟背景总结(内含实例及截图)
  16. umijs 隐藏开发工具_使用UmiJS框架开发React应用
  17. 高中计算机评课,高中信息技术优质课评课范文
  18. 通信教程 | USB、HDMI、DP接口及速度
  19. GSM UMTS E-UTRAN
  20. mysql relaylog清理_mysql 清除relay-log文件方法详解

热门文章

  1. 长时间没打开ABAQUS,启动出错
  2. Qt5编程——word操作
  3. matlab中prbs怎么用,答题 | PRBS码到底是啥玩意?
  4. ToDesk:一款大小仅为5M的免费远程控制软件,为什么备受好评?
  5. 最小二乘原理几何意义及详细公式推导
  6. 获取淘宝商品详情数据
  7. 新劳动法触动了谁的利益?
  8. 查杀计算机病毒吗,查杀电脑病毒电脑中病毒,但用杀毒软件却怎么也查不出来.这是为什么 爱问知识人...
  9. 朋友圈点赞发红包视频的播放Pc端微信加群app端微信加群 测试用例的设计点
  10. mac更改phpstorm快捷键设置