第二章 AI复兴:深度学习+大数据=人工智能(第19/24页)
这下,计算机可要忙一阵子了,要调节那么多阀门呢!好在计算机计算速度快,暴力计算外加算法优化(其实,主要是精妙的数学方法了,不过我们这里不讲数学公式,大家只要想象计算机拼命计算的样子就可以了),总是可以很快给出一个解决方案,调好所有阀门,让出口处的流量符合要求。
下一步,学习“申”字时,我们就用类似的方法,把每一张写有“申”字的图片变成一大堆数字组成的水流,灌进水管网络,看一看,是不是写有“申”字的那个管道出口流出来的水最多,如果不是,我们还得再次调整所有的调节阀。这一次,要既保证刚才学过的“田”字不受影响,也要保证新的“申”字可以被正确处理。
图27 用“水管网络”来描述教计算机识字的深度学习过程
如此反复进行,直到所有汉字对应的水流都可以按照期望的方式流过整个水管网络。这时,我们就说,这个水管网络已经是一个训练好的深度学习模型了。
例如,图27显示了“田”字的信息水流被灌入水管网络的过程。为了让水流更多地从标记有“田”字的出口流出,计算机需要用特定方式近乎疯狂地调节所有流量调节阀,不断实验、摸索,直到水流符合要求为止。
当大量识字卡片被这个管道网络处理,所有阀门都调节到位后,整套水管网络就可以用来识别汉字了。这时,我们可以把调节好的所有阀门都“焊死”,静候新的水流到来。
与训练时做的事情类似,未知的图片会被计算机转变成数据的水流,灌入训练好的水管网络。这时,计算机只要观察一下,哪个出口流出来的水流最多,这张图片写的就是哪个字。
简单吗?神奇吗?难道深度学习竟然就是这样的一个靠疯狂调节阀门来“凑”出最佳模型的学习方法?整个水管网络内部,每个阀门为什么要如此调节,为什么要调节到这种程度,难道完全由最终每个出口的水流量来决定?这里面,真的没有什么深奥的道理可言?
深度学习大致就是这么一个用人类的数学知识与计算机算法构建起整体架构,再结合尽可能多的训练数据以及计算机的大规模运算能力去调节内部参数,尽可能逼近问题目标的半理论、半经验的建模方式。
指导深度学习的基本是一种实用主义的思想。
不是要理解更复杂的世界规律吗?那我们就不断增加整个水管网络里可调节的阀门的个数(增加层数或增加每层的调节阀数量)。不是有大量训练数据和大规模计算能力吗?那我们就让许多CPU和许多GPU(图形处理器,俗称显卡芯片,原本是专用于作图和玩游戏的,碰巧也特别适合深度学习计算)组成庞大计算阵列,让计算机在拼命调节无数个阀门的过程中,学到训练数据中的隐藏规律。也许正是因为这种实用主义的思想,深度学习的感知能力(建模能力)远强于传统的机器学习方法。
实用主义意味着不求甚解。即便一个深度学习模型已经被训练得非常“聪明”,可以非常好地解决问题,但很多情况下,连设计整个水管网络的人也未必能说清楚,为什么管道中每一个阀门要调节成这个样子。也就是说,人们通常只知道深度学习模型是否工作,却很难说出模型中某个参数的取值与最终模型的感知能力之间,到底有怎样的因果关系。
这真是一件特别有意思的事。有史以来最有效的机器学习方法,在许多人看来,竟然是一个只可意会、不可言传的“黑盒子”。