第二章 AI复兴:深度学习+大数据=人工智能(第16/20页)

图27 用“水管网络”来描述教计算机识字的深度学习过程

如此反复进行,直到所有汉字对应的水流都可以按照期望的方式流过整个水管网络。这时,我们就说,这个水管网络已经是一个训练好的深度学习模型了。

例如,图27显示了“田”字的信息水流被灌入水管网络的过程。为了让水流更多地从标记有“田”字的出口流出,计算机需要用特定方式近乎疯狂地调节所有流量调节阀,不断实验、摸索,直到水流符合要求为止。

当大量识字卡片被这个管道网络处理,所有阀门都调节到位后,整套水管网络就可以用来识别汉字了。这时,我们可以把调节好的所有阀门都“焊死”,静候新的水流到来。

与训练时做的事情类似,未知的图片会被计算机转变成数据的水流,灌入训练好的水管网络。这时,计算机只要观察一下,哪个出口流出来的水流最多,这张图片写的就是哪个字。

简单吗?神奇吗?难道深度学习竟然就是这样的一个靠疯狂调节阀门来“凑”出最佳模型的学习方法?整个水管网络内部,每个阀门为什么要如此调节,为什么要调节到这种程度,难道完全由最终每个出口的水流量来决定?这里面,真的没有什么深奥的道理可言?

深度学习大致就是这么一个用人类的数学知识与计算机算法构建起整体架构,再结合尽可能多的训练数据以及计算机的大规模运算能力去调节内部参数,尽可能逼近问题目标的半理论、半经验的建模方式。

指导深度学习的基本是一种实用主义的思想。

不是要理解更复杂的世界规律吗?那我们就不断增加整个水管网络里可调节的阀门的个数(增加层数或增加每层的调节阀数量)。不是有大量训练数据和大规模计算能力吗?那我们就让许多CPU和许多GPU(图形处理器,俗称显卡芯片,原本是专用于作图和玩游戏的,碰巧也特别适合深度学习计算)组成庞大计算阵列,让计算机在拼命调节无数个阀门的过程中,学到训练数据中的隐藏规律。也许正是因为这种实用主义的思想,深度学习的感知能力(建模能力)远强于传统的机器学习方法。

实用主义意味着不求甚解。即便一个深度学习模型已经被训练得非常“聪明”,可以非常好地解决问题,但很多情况下,连设计整个水管网络的人也未必能说清楚,为什么管道中每一个阀门要调节成这个样子。也就是说,人们通常只知道深度学习模型是否工作,却很难说出模型中某个参数的取值与最终模型的感知能力之间,到底有怎样的因果关系。

这真是一件特别有意思的事。有史以来最有效的机器学习方法,在许多人看来,竟然是一个只可意会、不可言传的“黑盒子”。

由此引发的一个哲学思辨是,如果人们只知道计算机学会了做什么,却说不清计算机在学习过程中掌握的是一种什么样的规律,那这种学习本身会不会失控?

比如,很多人由此担心,按照这样的路子发展下去,计算机会不会悄悄学到什么我们不希望它学会的知识?另外,从原理上说,如果无限增加深度学习模型的层数,那计算机的建模能力是不是就可以与真实世界的终极复杂度有一比呢?如果这个答案是肯定的,那只要有足够的数据,计算机就能学会宇宙中所有可能的知识——接下来会发生什么?大家是不是对计算机的智慧超越人类有了些许的忧虑?还好,关于深度学习到底是否有能力表达宇宙级别的复杂知识,专家们尚未有一致看法。人类至少在可见的未来还是相对安全的。

补充一点:目前,已经出现了一些可视化的工具,能够帮助我们“看见”深度学习在进行大规模运算时的“样子”。比如说,谷歌著名的深度学习框架Tensor Flow就提供了一个网页版的小工具,用人们易于理解的图示,画出了正在进行深度学习运算的整个网络的实时特征。

图28 训练深度学习模型时,整个深度神经网络的可视化状态48

图28显示了一个包含4层中间层级(隐含层)的深度神经网络针对某训练数据集进行学习时的“样子”。图中,我们可以直观地看到,网络的每个层级与下一个层级之间,数据“水流”的方向与大小。我们还可以随时在这个网页上改变深度学习框架的基本设定,从不同角度观察深度学习算法。这对我们学习和理解深度学习大有帮助。