03 在大数据与深度学习中蝶化的人工智能(第7/11页)

深度神经网络大大优化了机器学习的速度,使人工智能技术获得了突破性进展。在此基础上,图像识别、语音识别、机器翻译等都取得了长足进步。语音输入比打字快得多,机器翻译让我们基本可以看懂一篇外文资讯,图像识别则早已可以凭借一张少年时期的照片就在一堆成人照片中准确找到这个人,甚至可以把很模糊的照片恢复成清晰且准确的照片。

基于深度学习的人工智能和过去的人工智能原理不同,但与我们所了解的数据挖掘有相似的逻辑:先得到结果,反向寻找模式。这个过程被称作训练。

我们用简单的数学知识就能把机器学习、训练和深度学习的基本思维方式解释清楚。

这个方法堪比数学领域的哥白尼式倒转,以简单函数为例可以很好地说明这个倒转。

过去我们解决数学问题,一般是先知道公式(函数),然后输入数据,求出结果。就以y=ax+b这种类型的函数为例。比如,已知y=2x+1,令x=1,可以求出y=3。这里x就是“输入”,得到的y就是“输出”。

更高阶一点的数学能力是知道公式和输出,要把输入值求出来,比如已知y=2x+1,令y=5,求x。

再进阶一步,就触摸到了机器学习。当我们不知道a、b这些系数,但是知道y和x的值,需要把a和b求出来,也就是已知输入和输出,要把函数系数求出来。在y=ax+b这个函数里,我们只需要知道两组x、y的值就能确认a和b。

更进一步,假设我们有一组输入和输出数据,但完全不知道函数的形式,又该怎么办呢?这就需要构造函数。比如,已知x=2,y=5,求f(x)。这在输入和输出数据很少的情况下是无法计算的,f(x)可能是2x+1,也可能是1x+3,甚至是x2+1,以及无数种其他情况。但是如果x和y的数量充足,数学家就能通过“逼近计算”方法,不断调整公式权重,近似求得这个函数。

问题来了,现代生产和生活中产生的数据都无比巨大复杂,如果要从中求得蕴含的函数就需要非常“高能”。人类的脑力已经无法胜任,但是可以把这项工作交给计算机。拟合函数就在这里大显神通。深度学习神经网络模拟了人脑的神经节点,每个节点实际上就是一个函数调节器,无数函数彼此交叉连接起来。通过数学上的矩阵、优化、正则式等各种方法,深度学习过程不断调整着每个函数系数的权重,在数据充分、构造原理合适的情况下,不断演化的函数会越来越准确地拟合大部分数据,于是我们就可以通过这套函数来预测尚未发生的情况。这个过程就是我们所说的“训练”。

吴恩达在谷歌工作的时候,领导团队训练出了著名的计算机识猫系统。

如果用老式的符号式人工智能方法来编程,那么人类首先要对猫进行细致的定义,如尖耳朵、圆眼睛、直胡须、四条腿、长尾巴……把这些特征定义转化为函数输入计算机,然后向计算机展示一张图片。电脑就会分解图片中不同的元素,然后再将这些元素和程序中的规则进行比对。符合尖耳朵、圆眼睛、直胡须、四条腿、长尾巴等特征,那么这就是一只猫。

而机器学习的方法大相径庭,科学家不会预先编写猫的定义,而是让计算机自己去寻找。科学家只是把图片大量“喂”给计算机,让计算机输出标签——是猫或者不是猫。在识别猫的神经网络中有无数的通路,正如人的脑神经一样,每个通路都会输出自己的结果,如果答对了,科学家就会给这条通路加权(可以理解成亮绿灯);答错了,就降低权重(可以理解成亮红灯)。经过足够多的尝试,如用10万张各种猫的图片做测试之后,那些得到加权的神经通路就组成了一个识别装置(一组复杂的函数联结)。然后在没有科学家告诉它识别结果的情况下,也可以识别出新的图片中的猫来。训练数据越多,这个函数集合就越复杂但也越精确。

这就是“监督学习”——依赖大量有标签的数据。吴恩达领导的识猫项目甚至可以从零开始学习,不依赖标签就可以辨识出猫。当研究者向神经网络展示了几百万帧静态的猫图片,神经网络自己就获得了一个稳定的模型,从此,它可以和所有的儿童一样,毫不犹豫地识别出猫的脸。

吴恩达的博士研究生夸克·维·乐为此撰写了论文,表明机器学习同样能识别原始的无标签数据,并建立自己的知识模式,它的意义绝非只在于识别猫。

二十多年前,凯文·凯利以“蜂群效应”开始了杰出的新科技著作《失控》的叙述。他以此预测了分布式计算等新技术的出现,那时他可能还没有看到“蜂群效应”中蕴藏的机器学习原理。每一个蜜蜂的运动都是随机的,但是蜂群总能向着一个方向飞去。大量蜜蜂各自的行动(输入)汇总成一个总的运动(输出),中间的逻辑(函数)就是“蜂群效应”。计算机神经网络里的信息运动就像超音速飞行的蜂群采集着数据花粉。在它们看似狂乱的飞舞轨迹中,一张猫的脸庞凸显出来。百度大脑识别猫的能力已经远超人类,它甚至能够精确区分不同种类的猫。