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

有一层神经网络,就可以找到简单的模式;有多层神经网络,就可以找出模式中的模式。以人脸识别为例,神经网络的第一层只专注于边长几十个像素之类的图像区域,从中识别出一些形状(形状就是模式)——眼睛、鼻子、嘴巴等。再把这些已经识别出的形状交给下一层神经网络,下一层网络在已有的识别结果里,又发现了更大的模式——眼睛、鼻子、嘴巴可以组合成人脸。如果描述得更数学一点,当下流行的深度神经网络可分为应对具有空间性分布数据的CNN(卷积神经网络)和应对具有时间性分布数据的RNN(递归神经网络,又称循环神经网络)。

CNN往往用于图像识别,正如上文描述的,网络的第一层被训练成可以完成这样一个“小目标”——识别图像中局部的独立模块,如一个方块、一个三角形,或者一个眼睛。在这一层,人类输入大量图片数据,只为让该层神经可以辨别基本的局部图形“边缘”,即一个像素旁边没有任何东西。接下来的每一层都在前一层得出的信息中寻找更高层次的模式。这种方法模拟了人眼组合信息的方式,丢弃次要细节,优先识别出某种显著模式。如几个小块和一个圆圈合在一起成为一张脸,不论它出现在图像中的什么位置,人眼会首先注意这张脸,而不是平均注意图像的所有部分。

RNN则往往用于语音识别和自然语言处理。因为语音和语言是一种按照时间分布的数据,下一句的意义和上一句有关。RNN网络可以记住历史信息。假设我们需要开发一个语言模型,用前面的句子预测后面的词汇。给定“I was born in China in 1976. My college major is mathematics. I speak fluent_____”这句话的最后一个词显然是Chinese(汉语),这对人类很简单,计算机神经网络则需要能够调取到之前的“China”(中国)信息才能做到,这就需要有一种循环设计,使神经网络能够具有一种时间上的深度。

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

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

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

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

过去我们解决数学问题,一般是先知道公式(函数),然后输入数据,求出结果。就以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的数量充足,数学家就能通过“逼近计算”方法,不断调整公式权重,近似求得这个函数。