03 在大数据与深度学习中蝶化的人工智能(第9/14页)
问题来了,现代生产和生活中产生的数据都无比巨大复杂,如果要从中求得蕴含的函数就需要非常“高能”。人类的脑力已经无法胜任,但是可以把这项工作交给计算机。拟合函数就在这里大显神通。深度学习神经网络模拟了人脑的神经节点,每个节点实际上就是一个函数调节器,无数函数彼此交叉连接起来。通过数学上的矩阵、优化、正则式等各种方法,深度学习过程不断调整着每个函数系数的权重,在数据充分、构造原理合适的情况下,不断演化的函数会越来越准确地拟合大部分数据,于是我们就可以通过这套函数来预测尚未发生的情况。这个过程就是我们所说的“训练”。
吴恩达在谷歌工作的时候,领导团队训练出了著名的计算机识猫系统。
如果用老式的符号式人工智能方法来编程,那么人类首先要对猫进行细致的定义,如尖耳朵、圆眼睛、直胡须、四条腿、长尾巴……把这些特征定义转化为函数输入计算机,然后向计算机展示一张图片。电脑就会分解图片中不同的元素,然后再将这些元素和程序中的规则进行比对。符合尖耳朵、圆眼睛、直胡须、四条腿、长尾巴等特征,那么这就是一只猫。
而机器学习的方法大相径庭,科学家不会预先编写猫的定义,而是让计算机自己去寻找。科学家只是把图片大量“喂”给计算机,让计算机输出标签——是猫或者不是猫。在识别猫的神经网络中有无数的通路,正如人的脑神经一样,每个通路都会输出自己的结果,如果答对了,科学家就会给这条通路加权(可以理解成亮绿灯);答错了,就降低权重(可以理解成亮红灯)。经过足够多的尝试,如用10万张各种猫的图片做测试之后,那些得到加权的神经通路就组成了一个识别装置(一组复杂的函数联结)。然后在没有科学家告诉它识别结果的情况下,也可以识别出新的图片中的猫来。训练数据越多,这个函数集合就越复杂但也越精确。
这就是“监督学习”——依赖大量有标签的数据。吴恩达领导的识猫项目甚至可以从零开始学习,不依赖标签就可以辨识出猫。当研究者向神经网络展示了几百万帧静态的猫图片,神经网络自己就获得了一个稳定的模型,从此,它可以和所有的儿童一样,毫不犹豫地识别出猫的脸。
吴恩达的博士研究生夸克·维·乐为此撰写了论文,表明机器学习同样能识别原始的无标签数据,并建立自己的知识模式,它的意义绝非只在于识别猫。
二十多年前,凯文·凯利以“蜂群效应”开始了杰出的新科技著作《失控》的叙述。他以此预测了分布式计算等新技术的出现,那时他可能还没有看到“蜂群效应”中蕴藏的机器学习原理。每一个蜜蜂的运动都是随机的,但是蜂群总能向着一个方向飞去。大量蜜蜂各自的行动(输入)汇总成一个总的运动(输出),中间的逻辑(函数)就是“蜂群效应”。计算机神经网络里的信息运动就像超音速飞行的蜂群采集着数据花粉。在它们看似狂乱的飞舞轨迹中,一张猫的脸庞凸显出来。百度大脑识别猫的能力已经远超人类,它甚至能够精确区分不同种类的猫。
所以对人类而言,机器学习往往在自己的“内部”形成一个“黑箱”。有人警告这种超越人类理解的黑箱会带来危险,因为我们不知道机器如何思考,是否产生了危险思维。不过更多时候,深度学习会给人带来意想不到的惊喜。
深“度”往事
百度语音识别开发团队的刘洋工程师说过一件趣事:一位语音团队成员在家测试语音识别程序时,无意间清唱了几句歌词,然后歌词竟然被准确识别了出来。这令他很吃惊,其他公司的语音识别技术都还做不到这个事情。而百度团队也并没有针对清唱这种形式做过训练,也没有制定过这个目标。系统怎么做到的他们也不知道,只能说训练数据达到了足够大的程度,程序在不断训练、学习的过程中,自己修得了这项令人称奇的技能。