2.2 算法:通往智慧的一小步

在人工智能时代,大数据是基础,算法才是核心。如果只有规模宏大的数据,却没有强有力的算法,那么即使有上亿的数据资料,也只是一盘散沙。

在人工智能发展的历程中,产生了多种算法。例如,从早期的逻辑应用到20世纪80年代的专家系统,再到如今的回归算法、关联规则学习算法、聚类算法、人工神经网络学习算法、深度学习算法等,整个人工智能的演进史也是计算机算法的演进史。

人工智能的智能程度取决于算法的优化、智能程度。与之前的大数据分析技术相比,人工智能的算法立足于神经网络,进而衍生出深度学习算法。深度学习算法使数据处理技术又往前迈了一小步,让人类的文明又上了一个新的台阶。

2.2.1 人脑“移植”:专家系统

在人工智能发展的最早期,机器智能只会根据逻辑进行一些简单的“智能”操作。例如,那个年代的机器如果能够“走迷宫”“下跳棋”,在当时就已经算高科技了。

到了20世纪80年代,只会一些简单操作的人工智能机器远远满足不了现实生活的需求。当人生病时,就要去找医生;当人有不懂的问题时,就要去找老师询问;当人有心理困惑时,就需要去询问心理医生。而这些问题都是相对比较复杂的问题,一台机器仅凭逻辑思维,很难满足我们的需求。

只要存在需求,就会有满足需求的方法,人工智能的发展也不例外。

20世纪80年代的科学家开始为计算机注入专业的知识,如医学知识、金融学知识、科学知识、历史知识等。当计算机系统内有专业的知识时,那么计算机就相当于有了一颗“人脑”,计算机就会自主地为人们答疑解惑,这是人工智能的又一次伟大胜利。

与其说是人工智能的胜利,不如说是专家系统的胜利。那么什么是专家系统呢?

专家系统是形而上的、形式化的智能操作系统。虽然计算机被注入了专业知识,但是它不能像人类一样进行辩证思考,不能用活泼幽默的语言向我们倾诉。因此,专家系统是一种形而上的操作系统。

对于专家系统,我们应该用辩证的思维方式来看待。

一方面,我们应该承认早期专家系统对社会发展的贡献;另一方面,我们也要考虑专家系统后期与时代脱节的落后性及自身的局限性。对专家系统辩证看待的三点意见如图2-1所示。

图2-1 对专家系统辩证看待的三点意见

第一,我们应该承认科技在发展的早期对我们的生产和生活做出了不可磨灭的贡献,专家系统也不例外。早期人造的专家系统是一些固定的系统,这一系统能够最大限度发挥计算机的处理能力,同时能够有效结合人类在实践中取得的经验知识。这样做可以对相关问题进行合理、规范的推理,最终达到提高工作效率的目的。

第二,当专家系统发展到后期,就出现了与时代脱节的明显问题。另外,专家系统发展到后期,又需要大量的资金投入、科研人才的投入。即使是进行商业落地,也明显会得不偿失。

第三,我们应该清晰地认识到,专家系统有着明显的局限性。综合来讲,虽然专家系统标榜 “智能”,但与人相比,它只是冷冰冰的机器,毫无温情可言。另外,专家系统内的知识,不是机器主动思考的结果,而是人们智能的转移。这时的机器根本不会进行自主学习,它全靠人工输入的相关程序进行操作,所以,显得很生硬,没有人情味。具体可以从以下3个角度来理解。

(1)专家系统无法进行深度学习。虽然专家系统程序的输入能够使计算机在局部范围内有一定的认知能力,但是这种认知是程序化、机械化的,完全达不到深度学习、自主学习的程度。

(2)专家系统没有创造性思维。创造性思维是人特有的思维方式,这需要基于一定的想象能力。然而,智能机器只是一台有相关程序的机器,虽然它能够进行一定程度的推测,但这种推测是人赋予它的能力,而不是它自己生成的能力。

(3)专家系统在遇到知识以外的问题时会陷入 “瘫痪”状态。人类的强大就在于能够根据环境的变化,积极发挥主观能动性,通过自我的联想和想象能力进行探索,同时人类会采取科学的方法进行研究,如定性研究和定量分析。最终人类会凭借自己的智慧,找到事情发展的原因,探究相应的规律,并且进行归纳。然而,专家系统下的机器却根本无法进行这样的探索,因为机器无法思考。

专家系统只是人脑的“移植”,而并非人类思维的移植。人类的思维可以是高深莫测的,可以是有条不紊的,可以是有理有据的,也可以是无厘头的,甚至可以是瞬息万变的。人类的思维包括感性思维和理性思维两个层面。而专家系统下的智能机器只有理性思维,没有感性思维。所以,专家系统下的智能机器的能力是有局限性的。

既然专家系统只是一种智能的应用工具,那么我们在操作时也必须在使用范围之内应用,否则会造成巨大的损失。我们不能万事都依赖专家系统,专家系统很难自己产生知识,更难成为行业内的顶尖专家。所以,专家系统下的智能机器只能提高效率,节省人力,但是不能超越人,更不用说完全替代人了。

综上所述,专家系统类的学习方法虽然效率低,但是也曾经发挥过一定的作用。对于未来人工智能的发展,我们还需进行更多算法的引入,最终目的是使人工智能能够更具有人情味,像人类那样进行思考。

2.2.2 神经网络,让计算机模拟人脑

神经网络算法,简言之是让计算机模拟人脑的一种算法,这种算法是一种智能的算法,它能够模拟人脑的处理方式,具有自主学习、合理推理、超强记忆等方面的功能。

神经网络算法的一个核心思想是分布式表征思想。因为人类大脑对事物的理解并不是单一的,而是一种分布式的、全方位的思考。

但是这一算法在人工智能界并不被全员看好。在神经网络算法发展的历程中,有过热议,更有过质疑,甚至一度引起非议。

从整体来看,神经网络算法的历史要早于人工智能发展的历史,但是这一算法对于人工智能的快速发展无疑有着革命性的影响。

最早的神经网络并不是一个计算机领域的术语,而是一个神经学科的术语。现在,人工神经网络是机器学习的一个重要分支,目前包含数百种不同的算法。其中比较著名的算法包括感知器算法、反向传播算法(BP)、卷积神经网络算法(CNN)及循环神经网络算法(RNN)等。

神经学家沃伦·麦卡洛克和沃尔特·彼茨提出了神经网络的假说。他们认为,人类神经节是沿着网状结构进行信息传递、处理的。后来,这一假说被神经学家广泛运用于研究人类的感知原理。

另外,早期的一些计算机科学家也借鉴了这一假说,并把它成功运用到人工智能领域。因此,在人工智能领域,这一方法又被称为人工神经网络算法。神经网络算法与生物学神经网络如图2-2所示。

图2-2 神经网络算法与生物学神经网络

人工神经网络算法其实是一类模式匹配算法,它仿照人脑接收信息的方式,对计算机进行相应的编程。这种算法通常用来解决分类及回归问题。

一般来讲,大脑在接收外来信息时,会经过一系列的条件反射,进行迅速思考后,再给出一个具体的反应。当然,这个反应过程是很快的,只是我们在具体的认知活动或行为活动中没有在意而已。或者说,我们只是把它当作一种本能,根本就没有进行深入的研究。

然而,神经学科学家这样做的目的,一是为了科学研究,二是为了治疗神经方面的疾病。科学总是会有奇妙的偶合,特别是跨学科、综合类强的科学研究。

在人工智能领域,科学家的最初设想很简单,就是让机器像人一样会说话、会看、会交流沟通。然而,却没有一个入门之道。

当人工智能领域的专家了解到神经网络的假说时,他们有了一个很好的想法。

他们认为计算机的程序也应该像人类的神经组织那样,有一个接触事物并自我思考,形成反射再做出回应的动态过程。

于是他们在算法的基础上,大致按照“输入层—隐含层—输出层”的思路进行设计。其中隐含层是算法的核心,在隐含层,计算机能够进行自我“思考”,把相关的信息进行综合处理,加工创造,然后给出更合理的解答。

第一个把神经网络原理成功地应用到人工智能领域的是罗森·布拉特教授,他是康奈尔大学的一位心理学教授。在1958年,他成功地制作出了一台能够识别简单的字母和图像的电子感知机,并引起了强烈的反响。当时计算机领域内的专家更是有诸多的联想,他们预测在几年后计算机将会像人一样思考。

但是早期神经网络算法尚在发育期,另外,计算机的运算能力相对较差,使神经网络算法一度停滞。

回顾神经网络算法的历史,我们不难发现,神经网络算法曾几度繁荣,而且取得多项举世瞩目的成绩,也历经了质疑、冷落、批判。

20世纪40年代,科学家根据神经网络原理提出了M-P神经元和Hebb学习规则;在20世纪50年代,他们发明了电子感知器模型与自适应滤波器;在20世纪60年代,他们又利用这一原理开发出了自组织映射网络、自适应共振网络等新的方法,当时的许多神经计算模型都为计算机视觉、自然语言处理与优化计算等领域的发展奠定了基础。

可是在1969年,神经网络的发展却遭遇了“滑铁卢”。被称为人工智能之父的马文·明斯基在这一年出版的《感知机》中提到,人工神经网络算法难以解决“异或难题”。之后,他在采访中也同样对神经网络算法表示担忧。

在后来的一次采访中,马文·明斯基说:“我们不得不承认,神经网络不能做逻辑推理,例如,如果它计算概率,就不能理解那些数字的真正意义是什么。我们还没有获得资助去研究一些完全不同的东西,因为政府机构希望你确切地说出在合同期的每个月将会取得哪些进展。而过去的国家科学基金资助不限于某一具体项目的日子,一去不复返了。”

当然对于他的一些看法,有人觉得过于悲观,其实通过读他的著作,我们不难发现,他并不是悲观主义者,他只是表达了对人工智能的适度忧虑。

纵观马文·明斯基的一生,我们必须承认他是人工智能领域的大师,他孜孜不倦的探索精神值得我们后辈不断学习。

神经网络算法在生活实践中还有如下两个方面的缺陷:

(1)该算法的整体最优解还不是很到位,通常情况只能达到局部最优解,这对我们全方位的工作部署造成了一定的困难。

(2)算法在实践训练中,如果时间过长会出现失灵的现象(专业术语为过度拟合)。在这一状况下,神经网络算法甚至会认为噪声是有效的信号。

目前,神经网络算法又向前迈出了一大步。该算法通过增加网络层数能够构造出“深层神经网络”,从而使机器有“自主思维”,有“抽象概括”的能力,再一次掀起了神经网络研究的新高潮。

综上所述,神经网络算法的研究有过辉煌时刻,更经历过无人问津,甚至冷嘲热讽。但是科学的发展是无止境的,相关的科学家也一定会更好地深入研究这一算法,使机器更加智能,使机器能更好地为人类服务。

2.2.3 深度学习到底“深”在哪儿

深度学习(Deep Learning)是现阶段计算机学习算法中比较高级、比较先进、比较智能的一种算法。

深度学习算法中的“深度”是相对而言的。相比之前的机器学习算法,深度学习算法更有逻辑和分析能力,更加智能。

整体而言,机器智能自主学习能力的提升犹如孩子的成长。

从最开始的简单逻辑判断,到基于人工规则的专家系统,机器智能经历了一次质的飞跃,这次飞跃使机器智能更社会化。如果说最初的机器学习处于儿童阶段,那么专家系统学习期则处于青春期,这时机器开始会考虑简单的人情世故了。

从专家系统过渡到神经网络算法,机器智能更加有“主见”。从被动接收人输入的相关程序到能够根据相关条件进行“自主思考”,仿佛从青春期过渡到理智成年期。

深度学习可以简单理解为传统神经网络算法的深化与发展。深度学习算法与神经网络算法相比,又仿佛一个理智的成年人经过经验的积累、研究的深入,成为一名行业内的专家。

传统观点认为,神经网络算法只包含输入层、隐藏层与输出层,如图2-3所示。而且隐藏层的层数较少,不能进行深度处理。

图2-3 传统神经网络算法的结构

如果数据量大且数据信息的逻辑性强,密切程度较高,那么隐藏层的处理能力也就较强,最终输出层的结果也会更加合理。相反,如果数据量小,数据信息只是七零八落地拼凑在一起,关键词之间的关联度也毫无逻辑可言,那么隐藏层的处理能力就会很弱,会陷入混乱状态,输出层的结果自然就会不理想。

深度学习是传统神经网络算法的进一步优化,两者之间有许多共性。比较突出的是两者都采用了相似的分层结构:算法系统由输入层、隐藏层、输出层构成。特点是只有相邻层能互相连接映射,跨层级别不能连接而且同一层的不同节点不能连接映射。这样的分层结构与人类大脑的结构是极其类似的。

当然,两者之间也有明显的区别,重点在于隐藏层的层级数量。一般来讲,深度学习包含多个隐藏层。通常情况下,深度学习至少包含7个隐藏层。同时,神经网络的隐藏层数也直接决定了它对现实的描摹刻画能力。隐藏层数量越多,那么它刻画现实的能力也就越强,它的推断结果与现实也就越接近,计算机的智能程度也就越高。

另外,一般的多层神经网络结构的运行效率低,层数越多,运行时间就会越长。然而,深度学习解决了这一难题。深度学习通过提高硬件性能,如GPU(图像处理器),增加运行速度,提升运行效率。另外,通过类似于云网络的布局,深度学习还能够突破硬件设备的运行障碍,实现更深层次的扩展。

基于深度学习的种种优势,在人工智能的实际应用领域,深度学习起到了推动作用。例如,这些年人工智能技术最大的发展莫过于产生了声音识别、图像识别、机器翻译等方面的成就。在不久的将来,人工智能还会在医学的深层领域、无人驾驶方面取得重要的突破。

深度学习之所以能够流行和推动人工智能的发展,与其背后默默耕耘的科学家有着密不可分的关系。

深度学习的研究发展与3个计算机专家有着深厚的渊源。这3个专家分别是杰弗里·欣顿(Geoffrey Hinton)、约书亚·本吉奥(Yoshua Bengio)和雅恩·乐昆(Yann LeCun)。

杰弗里·欣顿被称为“神经网络之父”,他在计算机研究领域有着传奇故事。

杰弗里·欣顿出生于英国,毕业于英国剑桥大学。他在求学期间屡次换专业,首先攻读化学,之后又转读建筑学。发现建筑学与自己的兴趣不符后,又转读物理学。可他觉得物理学太难,又转读哲学。在读哲学时,他又与自己的老师起了冲突,最后又研读心理学。在读心理学期间,他发现“心理学对意识也一无所知”,不过最终他还是获得了剑桥大学心理学学士学位。

毕业后,他也曾迷茫过,兜兜转转,不知何从。他还做过包工木匠,他并没有轻视这份职业,而只是把这份职业暂时作为生活的需要。在做木匠期间,他不曾停止学习,经常去图书馆查阅关于大脑工作原理的资料。

一年后,他在爱丁堡大学攻读神经网络专业,并进一步做研究。在拿到人工智能博士证书后,他又先后去美国和加拿大继续进行深入的神经网络研究。最终他选择留在加拿大的多伦多大学任计算机专业的教授。

杰弗里·欣顿承认,“我有一种教育上的多动症。”我们不难发现,他的学术追求总是摇摆不定,而且也有过很不顺利的时刻,但是他总是追逐着自己的学术兴趣,并坚持不懈地进行研究。

最终,在计算机领域他成就了自我。他不仅发明了反向传播(Back Propagation)的算法,还发明了波尔兹曼机(Boltzmann Machine),并进一步研究出了深度学习算法(Deep Learning)。

杰弗里·欣顿在一次演讲中说:“深度学习以前不成功是因为缺乏三个必要前提:足够多的数据、足够强大的计算能力和设定好初始化权重。”

当云服务功能推出后,借助互联网的巨大优势,我们可以迅速获得海量的数据信息。深度学习能够进一步优化大数据,提取更多精确的信息,而这些信息也基本能够满足我们在商业发展上的需求或其他方面的需求。

综上所述,深度学习一方面推动了人工智能领域的发展,引爆了人工智能革命的浪潮,为电子商务、物联网、无人驾驶汽车等新兴产业带来了更多的机会。但是,我们还应该注意到深度学习不是万能的。就目前来看,深度学习仍然无法代替人类。因为人类拥有情感,这是深度学习还难以跨越的障碍。

在深度学习的道路上,科学家还需要进一步发扬工匠精神,攻坚克难,为使人们的生活更便捷、更智能而不断奋斗;政府应该出台对人工智能发展更有利的政策;相关高科技企业则要为人工智能的商业落地做出更多努力。只有这样,人工智能的发展才会有更广阔的前景。