深度学习的数学(四):用恶魔来讲解神经网络的结构

编者按:本文节选自图灵程序设计丛书 《深度学习的数学》一书中的部分章节。

前文我们概述了神经网络的,但没有具体介绍其中最难的隐藏层。这是因为隐藏层肩负着 特征提取 (feature extraction)的重要职责,需要很长的篇幅来介绍。本节我们就来好好看一下隐藏层。

重要的隐藏层

如上一节考察过的那样,神经网络是将神经单元部署成网络状而形成的。然而,将神经单元胡乱地连接起来并不能得到有用的神经网络,因此需要设计者的预估,这种预估对于隐藏层是特别重要的。因为支撑整个神经网络工作的就是这个隐藏层。下面让我们利用上一节考察过的 例题 ,来逐渐展开有关隐藏层的具体话题。

例题建立一个神经网络,用来识别通过 4×3 像素的图像读取的手写数字 0 和 1。学习数据是 64 张图像,其中像素是单色二值。

前面已经提到过,模式识别的难点在于答案不标准,这个 例题 也体现了这样的特性。即使是区区一个 4×3 像素的二值图像,所读入的手写数字 0 和 1 的像素模式也是多种多样的。例如,下列图像可以认为是读入了手写数字 0。

对于这样的数字 0,即使人能设法识别出来,让计算机来判断也十分困难。

思路:由神经单元之间的关系强度给出答案

对于这种没有标准答案、识别困难的问题,怎么解决才好呢?思路就是“由网络进行判断”。乍一听会觉得这个方法不可思议,不过其中的逻辑却一点都不难,我们可以用恶魔组织的信息网络来做比喻。虽然这个比喻并不算准确,但是可以突出其本质。

假设有一个如下图所示的恶魔组织,隐藏层住着 3 个隐藏恶魔 A、B、C,输出层住着 2 个输出恶魔 0 和 1。输入层有 12 个手下①~⑫为隐藏恶魔 A、B、C 服务。

注:这里将生物学中的特征提取细胞的工作抽象化为 3 个恶魔 A、B、C。

最下层(输入层)的 12 个手下分别住在 4×3 像素图像的各个像素上,其工作是如果像素信号为 OFF(值为 0)就处于休眠状态;如果像素信号为 ON(值为 1)则变得兴奋,并将兴奋度信息传递给他们的主人隐藏恶魔 A、B、C。

注:即便不是黑白二值像素的情况,处理方式也是相同的。

住在隐藏层的 3 个隐藏恶魔,从下层(输入层)的 12 个手下那里获得兴奋度信息。接着,将获得的信息进行整合,根据其值的大小,自己也变兴奋,并将这个兴奋度传递给住在上层的输出恶魔。

不过,隐藏恶魔 A、B、C 有不同的喜好。他们分别喜欢下图所示的模式 A、模式 B、模式 C 的图案。这个性质影响了神经网络的特性。(看清他们的不同“偏好”,就是我们最初所提及的设计者的预估。)

住在最上层的 2 个输出恶魔也是从住在下层的 3 个隐藏恶魔那里得到兴奋度信息。与隐藏恶魔一样,他们将得到的兴奋度信息进行整合,根据其值的大小,自己也变兴奋。然后,这些输出恶魔的兴奋度就成为整个恶魔组织的意向。如果输出恶魔 0 的兴奋度比输出恶魔 1 的兴奋度大,神经网络就判定图像的数字为 0,反之则判定为 1。

可见,恶魔的世界里也存在着人际关系。

隐藏恶魔 A、B、C 对模式有着各自的偏好,与 12 个手下有不同的交情。隐藏恶魔 A 的偏好是之前的模式 A,因此与④、⑦性情相投。因为模式 A 的 4 号像素与 7 号像素是 ON,所以理所当然地与对应的看守人④、⑦性情相投。

同样地,手下⑤、⑧与隐藏恶魔 B,手下⑥、⑨与隐藏恶魔 C 性情相投,因此他们之间传递兴奋度的管道也变粗了(下图)。

住在隐藏层的隐藏恶魔 A、B、C 与住在上层的 2 个输出恶魔也有着人际关系。由于某种羁绊,输出恶魔 0 与隐藏恶魔 A、C 性情相投,而输出恶魔 1 与隐藏恶魔 B 性情相投。

以上就是恶魔组织的所有人际关系。除了隐藏恶魔 A、B、C 有不一样的偏好以外,这是一个人类社会中到处都可能存在的简单的组织。

那么,这里让我们读入手写数字 0。

于是,作为像素看守人的手下④、⑦和手下⑥、⑨看到这个图像就变得非常兴奋了(下图)。

这时,兴奋的手下④、⑦向性情相投的隐藏恶魔 A 传递了较强的兴奋度信息,兴奋的手下⑥、⑨也向性情相投的隐藏恶魔 C 传递了较强的兴奋度信息。相对地,几乎没有手下向隐藏恶魔 B 传递兴奋度信息(下图)。

接收了来自手下的兴奋度信息的隐藏恶魔们会怎样呢?接收了较强的兴奋度信息的隐藏恶魔 A 和隐藏恶魔 C 自然也变兴奋了。另一方面,隐藏恶魔 B 变得怎样呢?因为几乎没有从手下接收到兴奋度信息,所以一直保持冷静。

住在最上层的输出恶魔变得怎样了呢?输出恶魔 0 由于与兴奋的隐藏恶魔 A、C 关系亲密,从而获得了较强的兴奋度信息,所以自己也兴奋起来了。相对地,输出恶魔 1 与隐藏恶魔 A、C 关系疏远,而与之关系亲密的隐藏恶魔 B 一直保持冷静,所以输出恶魔 1 没有获得兴奋度信息,因此也保持冷静。

这样一来,读取手写数字 0 的图像后,根据恶魔之间的连锁关系,最终得到了“输出恶魔 0 兴奋,输出恶魔 1 冷静”的结果。根据前文中的“如果输出恶魔 0 的兴奋度比输出恶魔 1 的兴奋度大,神经网络就判断图像的数字为 0”,恶魔的网络推导出了 0 这个解答。

恶魔的心的偏置

在这个恶魔组织中,下层的兴奋度会或多或少地传递到上层。但是,除了具有亲密关系的各层之间传递的兴奋度信息以外,还遗漏了少量信息,就是“噪声”。如果这些噪声迷住了恶魔的心,就会导致无法正确地传递兴奋度信息。因此,这就需要减少噪声的功能。对于恶魔组织的情形,我们就将这个功能称为“心的偏置”吧!具体来说,将偏置放在恶魔的心中,以忽略少量的噪声。这个“心的偏置”是各个恶魔固有的值(也就是个性)。

从关系中得到信息

像上面那样,恶魔组织实现了手写数字的模式识别。我们应该关注到,是恶魔之间的关系(也就是交情)和各个恶魔的个性(也就是心的偏置)协力合作推导出了答案。也就是说,网络作为一个整体做出了判断。

问题在图中示范一下在读取数字 1 的图像时,恶魔组织得出 1 这个解答的全过程。

解在这种情况下,也能够根据上层恶魔与下层恶魔之间交情的好坏来判断图像中的数字是 1。下图就是解答。沿着下图的粗线,输出恶魔 1 兴奋起来,判断出图像中的数字是 1。

图书简介: http://www.ituring.com.cn/book/2593