深度学习的数学 (4):神经网络的思想 1-4

阅读数:16 2019 年 11 月 29 日 22:55

深度学习的数学(4):神经网络的思想 1-4

(什么是神经网络)

内容简介
《深度学习的数学》基于丰富的图示和具体示例,通俗易懂地介绍了深度学习相关的数学知识。第 1 章介绍神经网络的概况;第 2 章介绍理解神经网络所需的数学基础知识;第 3 章介绍神经网络的 * 优化;第 4 章介绍神经网络和误差反向传播法;第 5 章介绍深度学习和卷积神经网络。书中使用 Excel 进行理论验证,帮助读者直观地体验深度学习的原理。

神经网络作为本书的主题,它究竟是什么样的呢?下面让我们来看一下其概要。

神经网络

上一节我们考察了神经单元,它是神经元的模型化。那么,既然大脑是由神经元构成的网络,如果我们模仿着创建神经单元的网络,是不是也能产生某种“智能”呢?这自然是让人期待的。众所周知,人们的期待没有被辜负,由神经单元组成的网络在人工智能领域硕果累累。

在进入神经网络的话题之前,我们先来回顾一下上一节考察过的神经单元的功能。

  • 将神经单元的多个输入 x1,x2,,xn 整理为加权输入 z
    z=w1x1+w2x2++wnxn+b(1)
    其中 w1,w2,,xn 为权重,b 为偏置,n 为输入的个数。
  • 神经单元通过激活函数 a(z),根据加权输入 z 输出 y
    y=a(z)(2)

深度学习的数学(4):神经网络的思想 1-4

将这样的神经单元连接为网络状,就形成了神经网络

网络的连接方法多种多样,本书将主要考察作为基础的阶层型神经网络以及由其发展而来的卷积神经网络

注:为了与生物学上表示神经系统的神经网络区分开来,有的文献使用“人工神经网络”这个称呼。本书中为了简便,省略了“人工”二字。

神经网络各层的职责

阶层型神经网络如下图所示,按照层(layer)划分神经单元,通过这些神经单元处理信号,并从输出层得到结果,如下图所示。

深度学习的数学(4):神经网络的思想 1-4

构成这个网络的各层称为输入层隐藏层输出层,其中隐藏层也被称为中间层

各层分别执行特定的信号处理操作。

输入层负责读取给予神经网络的信息。属于这个层的神经单元没有输入箭头,它们是简单的神经单元,只是将从数据得到的值原样输出。

隐藏层的神经单元执行前面所复习过的处理操作 (1) 和 (2)。在神经网络中,这是实际处理信息的部分。

输出层与隐藏层一样执行信息处理操作 (1) 和 (2),并显示神经网络计算出的结果,也就是整个神经网络的输出。

深度学习

深度学习,顾名思义,是叠加了很多层的神经网络。叠加层有各种各样的方法,其中著名的是卷积神经网络(第 5 章)。

考察具体的例子

从现在开始一直到第 4 章,我们都将围绕着下面这个简单的例子来考察神经网络的结构。

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

我们来示范一下这个例题如何解答。

深度学习的数学(4):神经网络的思想 1-4

这个解答是演示实际的神经网络如何发挥功能的最简单的神经网络示例,但对于理解本质已经足够了。该思路也同样适用于复杂的情况。

注:例题的解答有很多种,并不仅限于这一示例。

这个简单的神经网络的特征是,前一层的神经单元与下一层的所有神经单元都有箭头连接,这样的层构造称为全连接层(fully connected layer)。这种形状对于计算机的计算而言是十分容易的。

下面让我们来简单地看一下各层的含义。

解答示例中输入层的含义

输入层由 12 个神经单元构成,对此我们立刻就能够理解,因为神经网络一共需要读取 4×3 = 12 个像素信息。

深度学习的数学(4):神经网络的思想 1-4

输入层的神经单元的输入与输出是相同的。一定要引入激活函数 a(z) 的话,可以用恒等函数(a(z)=z)来充当。

解答示例中输出层的含义

输出层由两个神经单元构成,这是因为我们的题目是识别两种手写数字 0 和 1,需要一个在读取手写数字 0 时输出较大值(即反应较大)的神经单元,以及一个在读取手写数字 1 时输出较大值的神经单元。

例如,将 Sigmoid 函数作为激活函数使用。在这种情况下,读取数字 0 的图像时,输出层上方的神经单元的输出值比下方的神经单元的输出值大;而读取数字 1 的图像时,输出层下方的神经单元的输出值比上方的神经单元的输出值大,如下图所示。像这样,根据输出层的神经单元的输出的大小,对整个神经网络进行判断。

深度学习的数学(4):神经网络的思想 1-4

解答示例中隐藏层的含义

隐藏层具有提取输入图像的特征的作用。然而,隐藏层为何能够提取输入图像的特征呢?这不是一个简单的话题。另外,在这个解答示例中,隐藏层为何是 1 层而不是 2 层?为何是由 3 个神经单元构成而不是 5 个?想必读者会涌现出诸多疑问。为了解决这些疑问,就需要理解下一节所讲的神经网络的结构。

备注 建立神经网络的经验谈
在上面的例题中,也可以考虑将输出层的神经单元整合为一个,以其输出接近 0 或接近 1 来区分输入数字 0 和 1。要说该方法与采用两个神经单元的解答示例相比理论上哪一个更好,这在数学上无法判断。根据现有的经验,在用计算机进行计算时,对于两个字的识别,使用两个神经单元的神经网络结构比较简单,识别也容易进行。

深度学习的数学(4):神经网络的思想 1-4

图灵地址 http://www.ituring.com.cn/book/2593

评论

发布