第三章 神经网络萃取隐蔽相关性(第2页)
但我们目前并没有弄清楚人脑神经元的连接方式,先从简单的假设入手是科学的一般方法。
图3.3一个多层神经网络(其中每个方块代表一个神经元)
20世纪80年代,神经网络的另一个重大突破是当时在加利福尼亚州大学圣迭戈校区任教的美国心理学家大卫·鲁梅哈特(DavidRumelhart)和在卡内基梅隆大学任教的计算科学家杰弗里·辛顿(JeffreyHinton)提出的多层神经网络,以及一个普遍的自动更新权重系数的方法。
前面说过,威德罗教授在1962年提出过一个三层的神经网络,但功亏一篑,没有找到一个简洁的任意多层网络权重系数的更新方法。
这个问题在1986年被鲁梅哈特和辛顿解决了。
他们借鉴了单层神经网络中威德罗-霍夫(Widrow-Hoff)反馈算法的思路,同样用输出误差的均方值一层一层递进地反馈到各层神经网络去更新系数。
这个算法就是今天几乎所有神经网络都在用的“反向传播”
算法。
“反向传播”
听上去很“高大上”
,实际上就是在自动控制和系统理论里面多年一直在用的“反馈”
,只不过在多层网络中反馈是一层一层递进的。
因为一个多层的神经网络要通过成千上万次“用输出误差反馈调整系数”
,所以运算量非常大。
在20世纪80年代的计算能力限制下,神经网络的规模非常小(例如三层,每层几十个神经元)。
这种小规模的神经网络虽然显示了神奇的能力(例如能够识别0~9一共10个手写体数字),但仍然无法找到真正的商用。
从第一个电子神经元感知器的发明(1957年)到神经网络的大规模应用(2012年)整整经历了55年的艰辛探索,许多天才科学家不顾嘲讽和失败,坚信这条路是对的。
图3.4是在这个探索旅程中做出重大贡献的科学家。
图3.41940—2010年基于神经网络的AI发展史上做出突破性贡献的科学家
图片来源:https:beamandrew.github.iodeeplearning20170223deep_learning_101_part1.html。
神经网络模型:满是旋钮的黑盒子
在这一节中,我们用最简单的方法介绍机器学习的机理。
像图3.3这样一个多层神经网络的左端是输入端,即要识别的信息从这里输入。
例如要识别一幅图像,每个输入Xi就是这张图像的一个像素的灰度值(为了简单起见我们假设图像是黑白的,如果是彩色的,我们可以想象三个这样的网络重叠起来用)。
从输入层的每个神经元到下一层的每个神经元都有一个连接,从输入层的第i个神经元到下一层第j个神经元的连接有一个乘法因子Wij。
每一层到下一层都类似。
在输出端,每根线对应一个识别出来的物体。
我们可以把每个输出想象成一个灯泡。
当机器发现输入是某个物体时,对应该物体的灯泡就在所有输出灯泡里最亮。
像这样一个多层次的神经网络是如何“学习”
的呢?我们可以把这个多层网络看成一个黑盒子。
盒子外面有许多可以调节的旋钮,如图3.5所示。
图3.5机器学习:调节黑盒子外的旋钮
我们的第一个任务是训练这个黑盒子能够识别图像中的物体。
例如在图3.5中,输入端有两张图,一张汽车图片和一张猫的图片。
我们训练的目的是只要输入各种汽车的图片,机器就能告诉我们“这张图是汽车”
(对应“汽车”
这个物体的输出端的灯泡最亮)。
同样,只要我们输入猫的图片,机器就告诉我们“这张图是猫”
(对应“猫”
本章未完,点击下一页继续阅读