深度学习入门:基于 Python 的理论与实现 (4):神经网络 3.1.3

阅读数:27 2019 年 11 月 13 日 15:01

深度学习入门:基于Python的理论与实现(4):神经网络 3.1.3

内容简介
本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用 Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,以及为什么加深层可以提高识别精度等疑难的问题。
本书适合深度学习初学者阅读,也可作为高校教材使用。

(激活函数登场)

刚才登场的 h(x) 函数会将输入信号的总和转换为输出信号,这种函数一般称为激活函数(activation function)。如“激活”一词所示,激活函数的作用在于决定如何来激活输入信号的总和。

现在来进一步改写式(3.2)。式(3.2)分两个阶段进行处理,先计算输入信号的加权总和,然后用激活函数转换这一总和。因此,如果将式(3.2)写得详细一点,则可以分成下面两个式子。

a=b+w1x1+w2x2(3.4)

y=h(a)(3.5)

首先,式(3.4)计算加权输入信号和偏置的总和,记为 a。然后,式(3.5)用 h() 函数将 a 转换为输出 y

之前的神经元都是用一个○表示的,如果要在图中明确表示出式(3.4)和式(3.5),则可以像图 3-4 这样做。

深度学习入门:基于Python的理论与实现(4):神经网络 3.1.3

图 3-4 明确显示激活函数的计算过程

如图 3-4 所示,表示神经元的○中明确显示了激活函数的计算过程,即信号的加权总和为节点 a,然后节点 a 被激活函数 h() 转换成节点 y。本书中,“神经元”和“节点”两个术语的含义相同。这里,我们称 ay 为“节点”,其实它和之前所说的“神经元”含义相同。

通常如图 3-5 的左图所示,神经元用一个○表示。本书中,在可以明确神经网络的动作的情况下,将在图中明确显示激活函数的计算过程,如图 3-5 的右图所示。

深度学习入门:基于Python的理论与实现(4):神经网络 3.1.3

图 3-5 左图是一般的神经元的图,右图是在神经元内部明确显示激活函数的计算过程的图(a 表示输入信号的总和,h() 表示激活函数,y 表示输出)

下面,我们将仔细介绍激活函数。激活函数是连接感知机和神经网络的桥梁。

本书在使用“感知机”一词时,没有严格统一它所指的算法。一般而言,“朴素感知机”是指单层网络,指的是激活函数使用了阶跃函数 1 的模型。“多层感知机”是指神经网络,即使用 sigmoid 函数(后述)等平滑的激活函数的多层网络。

1 阶跃函数是指一旦输入超过阈值,就切换输出的函数。

评论

发布