神经网络与深度学习
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

0 写在前面:神经网络的历史

人工智能、神经网络、深度学习这些概念的提出和研究,基本都是在欧美科学家的主导之下开展的。毕竟,当时的中国还处于从水深火热转为解决温饱的状态,只有欧美等国具备这个研究条件。计算机类的科学研究,在早期不能不提“图灵测试”。20世纪中叶,人工智能之父图灵,也有人说人工智能之父这一称号属于约翰·麦卡锡(发明至今广泛应用于人工智能领域的Lisp语言、最早建立人工智能实验室等),反正都是伟人。图灵提出对计算机是否有智能进行测试,当时还提出以象棋比赛进行人工智能的测试。图灵表示,正如人类一样,在测试计算机“IQ”之前,需要对它们进行一定的训练。这一理论奠定了“图灵测试”的基础。

阿兰·麦席森·图灵

约翰·麦卡锡

图灵测试究竟是什么东西呢?下面简单介绍一下。

图灵测试(Turing test,又译图灵试验)是图灵提出的一个关于机器能否思考的著名判断原则。1950年,图灵在曼彻斯特大学任教,同时也是曼彻斯特大学计算机实验室的副主任,负责最早的真正的计算机——曼彻斯特一号的软件工作。他发表了一篇题为《机器能思考吗?》(Can Machines Think? )的论文,在这篇论文里,图灵第一次提出“机器思维”的概念。他逐条反驳了机器不能思维的论调,做出了肯定的回答。同时,他尝试定出一个决定机器是否有感觉的标准:在彼此不接触的情况下,对话者通过一种特殊的方式(如具有电报通信功能的打字机等),与一台计算机交流,也就是进行一系列的问答。如果在一段时间内,对话者无法根据这些问答判断对方是人还是计算机,那么,就可以认为这台计算机具备人类的智能,即这台计算机是能思维的。这就是著名的“图灵测试”。图灵预言2000年就可以出现骗过30%裁判的机器人。也正是这篇文章,为图灵赢得了一顶桂冠——“人工智能之父”。可以说图灵确实牛,我从心底里佩服他,在1947年图灵就已经阐述了如何对机器学习的结果进行检查的方法,而且这一方法是很有远见和可操作性的!

自图灵提出“机器与智能”后,主流观点分成了两派,一派认为实现人工智能必须用逻辑和符号系统,这一派是自顶向下的。什么意思呢?我们在大学都学习过统计学,这个逻辑和符号就有点狭义统计学的意思,可以说是预设和反馈。还有一派认为通过仿造大脑可以达到人工智能,这一派是自底向上的,他们认定如果能造一台机器,模拟大脑中的神经网络,这台机器就有智能。这两派的最大区别是,前一派想搞清楚如何思考,将思考的过程演化成逻辑,姑且叫他们“思路模拟”派,也叫控制派;后一派可以称为仿生派,想从模拟生物学大脑入手,让大脑自由形成意识。估计他们的思想来源于中国古代的原始思维,套用两个哲学词,前者属于理论型,后者更接近实践派。这两派一直是人工智能领域里的两个阶级,在两条路线中斗争,这斗争有时还你死我活。

西方科学界是很高产的,环境好,能源源不断地产出各种新思想和解决方案。实际上,在仿生派与图灵提出“图灵测试”之前,1943年,传奇人物麦卡洛可(McCulloch)和皮茨(Pitts)就发表了模拟神经网络的原创文章。下面简单聊聊传奇人物为什么传奇。

麦卡洛可

皮茨

皮茨从小就喜欢数学和哲学,初中时就读过罗素的书——《数学原理》。有兴趣的读者可以看看罗素的《数学原理》,反正我是看不懂,皮茨同学当时才初中!皮茨读完这本书后估计是仰慕罗素,还给罗素写信。罗素爱才,邀请他到英国跟随自己学习逻辑,但皮茨家里非常穷困,他连高中都没有钱读,英国留学自然是不可能了。皮茨15岁时,他爸爸强行要他退学上班,就像所有爱读书的穷孩子一样,皮茨一怒就离家出走了。我记得我们初中那会有些同学是不愿意上学而离家出走,而皮茨和那些从小就调皮逃课的同学有着本质的区别。

后来,皮茨听说罗素要到芝加哥大学任教,就只身来到芝加哥,还真见到了罗素,罗素把他推荐给当时也在芝加哥任教的卡尔纳普。卡尔纳普想看看这孩子到底有多聪明,就把自己写的《语言的逻辑句法》(感兴趣的读者可以自己去搜)送给皮茨,没过一个月,皮茨就看完了,把写满笔记的原书还给卡尔纳普。卡尔纳普惊为天人,于是给皮茨在芝加哥大学安排了一份打扫卫生的工作。可能有读者会问,为啥都惊为天人了,只给打扫卫生的活?我想老卡主要是两层用意,第一,扫马路至少可以避免流浪街头,有份固定工作,解决吃饭问题,皮茨是穷孩子啊!第二层用意估计是要再观察下皮茨同学,毕竟他不是科班出身。皮茨后来结识了也在芝加哥的麦卡洛可。沃伦·麦卡洛可在耶鲁大学学哲学和心理学,后来在哥伦比亚大学取得了心理学硕士和医学博士学位。麦卡洛可毕业后做了几年实习医生,先去了耶鲁研究神经生理学,后来去了伊利诺伊大学芝加哥分校,做精神病学系的教授。麦卡洛可的强项是神经科学,他不懂数学,因此他和17岁的皮茨是绝配。他们合作的成果就是神经网络的第一篇文章:《神经活动中思想内在性的逻辑演算》(A Logical Calculus of Ideas Immanent in Nervous Activity),发表在《数学生物物理期刊》上。后来这篇文章成了控制论的思想源泉之一。

这个控制论是从哪儿冒出来的呢?且听我慢慢道来。

要说控制论,就必须说说控制论的始作俑者诺伯特·维纳。他早年自称神童,他爸是哈佛教授,曾经带着他到英国见过罗素,但罗素特别不喜欢这爷儿俩。自从进入20世纪后,各种门派最牛的学问,最后都能扯到罗素那儿。维纳后来也在哈佛任教,但不被主流数学家喜欢,没拿到终身教职。最后只好到麻省理工学院落脚(没错,落脚,大家趋之若鹜的名校在人家眼里和旅馆差不多)。二战时,他做枪炮控制方面的工作,引发了他对通信理论和反馈的兴趣,他写了《控制论》一书,促成了控制论的诞生。战后发生了一件怪事,他邀请了人工智能、计算机科学和神经心理学的年轻学者到麻省理工学院,这其中就包括麦卡洛可和皮茨。维纳的老婆玛格丽特是德国移民,在二战时,家里还偷藏了一本英文版的希特勒写的《我的奋斗》。麦卡洛可的老婆是犹太人,与玛格丽特形同水火。有一次,玛格丽特对维纳说,麦卡洛可小组有人(可能暗指皮茨)勾引咱们宝贝女儿芭芭拉,维纳大怒,随即断绝和麦卡洛可及其学生的所有往来。现在看来玛格丽特是有意造谣,但维纳的举动对皮茨造成巨大创伤,皮茨本来是维纳的特招学生(special student),估计他年幼时受过挫折,故秉性怪异。和维纳闹翻后,他拒绝了麻省理工学院给他的研究生学位,对学问也心灰意冷。皮茨在1969年离世,比他的长辈麦卡洛可还早去世几个月,享年46岁。从皮茨的经历我们看出两点:天才总是个性怪异的;不能因为他人的造谣中断自己的事业(皮茨多活两年能解决不少问题)。

诺伯特·维纳

迈克尔·阿比卜

科学是讲究一点传承的,得维纳真传的人不多,所以我们不得不提迈克尔·阿比卜(Michael Arbib)。他23岁就在维纳手下获得了PhD,他出名是因那本科普书《大脑、机器和数学》。阿比卜后来创办了麻省理工学院的计算机系,并延揽一帮人工智能人马,其中有后来以“强化学习”出名的巴托(Andy Barto),使麻省的人工智能一直处于领先地位。阿比卜后来转往南加州大学,担任很多系的教授,他的名片要是印出来,一堆头衔,就差“政协委员”或“人大代表”了。阿比卜到南加州后,没出过什么有影响力的原创成果。在神经网络不景气时,巴托的实验室曾经短期收容了很多人,其中就有后来的大佬级人物,如乔丹(Michael Jordan,不是那个篮球飞人),乔丹在伯克利时又培养了吴恩达(Andrew Ng)等一干人马。

接下来讲讲唐纳德·赫布(Donald Olding Hebb)。赫布是加拿大心理学家,在神经心理学领域有重要贡献,他的研究方向是神经元在心理过程中的作用。1949年,赫布出版了《行为组织学》(Organization of Behavior),提出了知名的“赫布理论”。赫布理论主要认为,当神经元A的轴突与神经元B很近并参与了对B的重复持续的兴奋时,这两个神经元或其中一个便会发生某些生长过程或代谢变化,致使A作为能使B兴奋的细胞之一,它的效能增强了。由于对神经元的重复刺激,使得神经元之间的突触强度增加。通俗地说,两个神经元同时被某未知事件激发,它们就有可能再次被同时击中,而且,被同时击中的次数越多,再次被同时击中的概率越高。2000年,诺贝尔医学奖得主肯德尔(Eric Kandel)的动物实验也证实了赫布规则。后来的各种无监督机器学习算法或多或少都是赫布规则的变种。赫布提出的机制直到2000年才在生物学试验中被证实并且确认是对的!只能拜服赫布了。

弗兰克·罗森布拉特

神经网络研究的另一个突破是在1958年。康奈尔大学的实验心理学家弗兰克·罗森布拉特(Frank Rosenblatt)在一台IBM-704计算机上模拟实现了一种他发明的叫作“感知机”(Perceptron)的神经网络模型。这个模型可以完成一些简单的视觉处理任务,这引起了轰动。他对这一个发明的潜力非常乐观,预言说“感知器最终将能够学习,做出决策和翻译语言”。整个20世纪60年代,这一方向的研究工作都很活跃。罗森布拉特于1962年出了一本书《神经动力学原理:感知机和大脑机制的理论》(Principles of Neurodynamics: Perceptrons and the Theory ofBrain Mechanisms),这本书总结了他的所有研究成果,一时成为“仿生学”派的圣经。媒体对罗森布拉特也表现出了过度的关注。毕竟,能够构建一台可以模拟大脑的机器,当然是一个头版头条的抢眼消息。

马文·明斯基(Marvin Lee Minsky)是人工智能的奠基人之一,是达特茅斯会议的组织者。1951年,他提出了关于思维如何萌发并形成的一些基本理论,并建造了一台学习机,名为Snare。Snare是世界上第一个神经网络模拟器,是人工智能最早的尝试之一。他与麦卡锡、香农等人一起发起并组织了成为人工智能起点的“达特茅斯会议”,在这个具有历史意义的会议上,明斯基的Snare,麦卡锡的α-β搜索法,以及西蒙和纽厄尔的“逻辑理论家”(10sicTheorist)是会议的三大亮点。1958年,明斯基从哈佛转至麻省理工学院,同时麦卡锡也由达特茅斯来到MIT与他会合,他们在这里共同创建了世界上第一个人工智能实验室。明斯基在一次会议上和罗森布拉特大吵,他认为神经网络不能解决人工智能的问题。随后,明斯基和麻省理工学院的另一位教授佩普特合作,企图从理论上证明他们的观点。他们合作的成果就是那本影响巨大、争论无比的书《感知机》(Perceptrons)。在书中,明斯基和佩普特证明单层神经网络不能解决XOR(异或)问题。异或是一个基本逻辑问题,如果这个问题都解决不了,那神经网络的计算能力实在有限。其实罗森布拉特也已猜到“感知机”可能存在限制,特别是在符号处理方面,并以他神经心理学家的经验指出,某些大脑受到伤害的人也不能处理符号。“仿生学”派的重挫其实是好事,应了那句老话“no pain, no gain”。历史静悄悄地等待着神经网络学科十年后的大逆袭。

补充下明斯基和罗森布拉特的纠葛。表面上他们俩是谁也不服谁的科学家,有点像牛顿和莱布尼茨,但他们至少从中学就互相认识,布朗克斯科学高中(Bronx)大概是全世界最好的高中,毕业生里出过8个诺贝尔奖、6个普利策奖和1个图灵奖。明斯基是1945年的毕业生,而罗森布拉特是1946年的毕业生,美国高中学制4年,明斯基和罗森布拉特至少有两年重叠,而且彼此认识,是否从那时起就互相在学术上攀比着?1956年的达特茅斯会议定义了“人工智能”这个词,会议的组织者包括明斯基、麦卡锡和香农等,参会者有司马贺、纽威尔等。这个会议在定义“人工智能”领域时只是提到了神经网络。那时明斯基是神经网络的支持者,但达特茅斯会议的主题并不是神经网络,而是后来被纽维尔和司马贺称为“物理符号系统”的东西。达特茅斯会议,“思路模拟”派是主要基调。

罗森布拉特被比他大一岁的明斯基妒忌是自然的。工作上,明斯基所负责的麻省理工学院的人工智能实验室在向国防部和海军申请经费。大多数的圈内科学家对罗森布拉特突然走红很反感。明斯基早期也是“仿生”出身,但此时已经改为“思路模拟”派了。由于他和佩普特对感知机的批判,俩人后来被“仿生”派称为“魔鬼搭档”。被称“魔鬼”是因为《感知机》第一版有言:“罗森布拉特的论文大多没有科学价值”。这话就有点拉大旗做虎皮的意思,但罗森布拉特人缘不好,没有得到同行的支持也是一个原因。

1959年,当时的另外两位美国工程师维德罗(B.Widrow)和霍夫(M.Hoff)提出了自适应线性元件(Adaptive linear element,简称Adaline)。它是感知机的变化形式,也是机器学习的鼻祖模型之一。它与感知机的主要不同之处在于, Adaline神经元有一个线性激活函数,这允许输出是任意值,而不仅仅只是像感知机中那样只能取0或1。自适应线性元件的主要用途是线性逼近一个函数式而进行模式联想。因为同感知机的原理相似,罗森布拉特享受盛誉时,维德罗也沾了光。后期他主要从事集成电路方面的工作,没有继续在人工智能领域混下去。

感知机的暂时失败导致神经网络研究走入低谷,明斯基在《感知机》一书再版时,删除了原版中对罗森布拉特的个人攻击的句子,并手写了“纪念罗森布拉特”(In memory of Frank Rosenblatt)。美国电气电子工程师协会(IEEE)于2004年特别设立了罗森布拉特奖,以奖励在神经网络领域的杰出研究。世事都是轮回的,我们的老祖宗早就教导,得意时不要张扬,失落时不必萎顿。

虽然信息科学和神经科学的结合一度不太顺利,但这并没有影响到神经生物学内部。哈佛神经生物学家大卫·休伯尔(David Hunter Hubel)和托斯坦·威泽尔(Torsten N. Wiesel)对视觉系统中视觉信息处理模式进行研究,他们为此获得1981年的诺贝尔医学奖。随后,麻省理工学院英年早逝的大卫·考特尼·马尔(David Courtnay Marr)将心理学、人工智能和神经生理学的研究成果结合起来,提出了全新的关于视觉处理的理论。他被认为是计算神经科学的创始人,影响了后来连接主义的运动。

1974年,哈佛的保罗·沃波斯(Paul Werbos)写了一篇博士论文证明了在神经网络多加一层,首次给出了如何训练一般网络的学习算法。“反向传播算法”(Backpropagation Algorithm,简称BP算法)是一种监督学习算法,常被用来训练多层感知机。他后来得到了IEEE神经网络学会的先驱奖。沃波斯这篇文章刚发表时并没引起多少重视,只因那时正是神经网络研究的低谷,文章不合时宜。

霍普菲尔德

神经网络在20世纪80年代开始复兴,除了时运之外,应该部分归功于物理学家霍普菲尔德(J. J. Hopfield)。1982年,那时在加州理工担任生物物理教授的霍普菲尔德,提出了一种新的神经网络——霍普菲尔德神经网络。霍普菲尔德神经网络是一种递归神经网络,是一种结合存储系统和二元系统的神经网络。它首次引入能量函数的概念,使神经网络的平衡稳定状态有了明确的判据方法,保证了向局部极小的收敛,但收敛到错误的局部极小值(Local Minimum),而非全局极小值(Global Minimum)的情况也可能发生。霍普菲尔德神经网络仅对人工神经网络的信息存储和提取功能进行了非线性数学概括,提出了动力方程和学习方程,还对网络算法提供了重要公式和参数,使人工神经网络的构造和学习有了理论指导。1984年,霍普菲尔德用模拟集成电路实现了自己提出的模型。大量学者又被激发起研究神经网络的热情,积极投身于这一领域。

1986年,鲁姆哈特(David Rumelhart)和麦克莱兰(McCelland)等几名学者提出的BP神经网络是神经网络发展史上的里程碑。鲁姆哈特于1963年获得南达科塔州大学心理学和数学的学士学位,之后,于1967年在斯坦福获得数学模式的心理学博士学位。1967年至1987年,在加州大学圣迭戈的心理学部门工作, 1987回到斯坦福,获得教授头衔,直到1998年退休。鲁姆哈特等学者完整地提出了BP算法,系统地解决了多层网络中隐单元连接权的学习问题,并在数学上给出了完整的推导。

鲁姆哈特

杰弗里·辛顿

神经网络在20世纪80年代的光芒被后来的互联网掩盖了,但这几年又恰恰是互联网给了神经网络更大的机会。这几年,计算机科学最火的词儿就是“深度学习”。神经网络由一层一层的神经元构成,层数越多就越深,所谓深度学习就是用很多层神经元构成的神经网络达到机器学习的功能。杰弗里·辛顿(Geoffrey Hinton)是反向传播算法和对比散度算法的发明人之一,也是深度学习的积极推动者,2006年他的一篇文章开辟了这个新领域。经过他改进的算法能够对七层或更多层的深度神经网络进行训练,这让计算机可以渐进地进行学习。随着层次的增加,学习的精确性得到提升,同时该技术还极大地推动了非监督学习的发展,让机器具备“自学”的能力。辛顿于1970年在英国剑桥大学获得文学学士学位,主修实验心理学。此后于1978年在爱丁堡大学获得哲学博士学位,主修人工智能。此后他曾在萨塞克斯大学、加州大学圣迭戈分校、剑桥大学、卡内基梅隆大学和伦敦大学学院工作。他是盖茨比计算神经科学中心的创始人,目前担任多伦多大学计算机科学系教授。辛顿是机器学习领域的加拿大首席学者,也是加拿大高等研究院赞助的“神经计算和自适应感知”项目的领导者。辛顿和鲁斯兰·萨拉赫丁诺夫(Ruslan Salakhutdinov)提出了一种在前馈神经网络中进行有效训练的算法。这一算法将网络中的每一层视为无监督的受限玻尔兹曼机,再使用有监督的反向传播算法进行调优。他对神经网络的其他贡献包括分散表示(Distributed Representation)、时延神经网络、专家混合系统(Mixtures of Experts)、亥姆霍兹机(Helmholtz Machines)等。年过六旬的辛顿不甘寂寞,在2013年3月加入谷歌,同时谷歌并购了他创办的DNNresearch公司。

2012年,斯坦福大学人工智能实验室主任吴恩达和谷歌合作建造了一个当时最大的神经网络,这是谷歌神秘的X实验室的一个计划。这个世界上,第一个能够让机器识别“猫”的人就是他。吴恩达领导谷歌科学家,用16000台计算机搭建模拟了一个人脑神经网络,并向这个网络展示了1000万段从YouTube上随机选取的视频。结果,这个系统在没有外界干涉的条件下,自己认识到“猫”是一种怎样的动物,并成功找到了猫的照片,识别率为81.7%,成为“深度学习”领域的经典案例。

吴恩达于2014年加入百度,成为百度首席科学家,全面负责百度研究院,参与“百度大脑”计划。“百度大脑”融合了深度学习算法、数据建模、大规模GPU并行化平台等技术,模拟神经元参数超过200亿个。虽然这注定是个劳民伤财的项目,但想想当年的阿波罗计划,冯·布劳恩为了少年时期的梦想,先后鼓动两个国家倾举国之力支持其航天梦想,耗时十余年在美国打下了硅谷的基础,间接成就了今天的世界。正是因为不断有人追寻自身的梦想,并为之倾注毕生精力,人类才不断超越自己,不是吗?