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

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

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

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

(复习感知机)

在观察神经网络中信号的传递方法之前,我们先复习一下感知机。现在来思考一下图 3-2 中的网络结构。

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

图 3-2 复习感知机

图 3-2 中的感知机接收 x1x2 两个输入信号,输出 y。如果用数学式来表示图 3-2 中的感知机,则如式(3.1)所示。

y={0(b+w1x1+w2x20)\1(b+w1x1+w2x2>0)(3.1)

b 是被称为偏置的参数,用于控制神经元被激活的容易程度;而 w1w2 是表示各个信号的权重的参数,用于控制各个信号的重要性。

顺便提一下,在图 3-2 的网络中,偏置 b 并没有被画出来。如果要明确地表示出 b,可以像图 3-3 那样做。图 3-3 中添加了权重为 b 的输入信号 1。这个感知机将 x1x2、1 三个信号作为神经元的输入,将其和各自的权重相乘后,传送至下一个神经元。在下一个神经元中,计算这些加权信号的总和。如果这个总和超过 0,则输出 1,否则输出 0。另外,由于偏置的输入信号一直是 1,所以为了区别于其他神经元,我们在图中把这个神经元整个涂成灰色。

现在将式(3.1)改写成更加简洁的形式。为了简化式(3.1),我们用一个函数来表示这种分情况的动作(超过 0 则输出 1,否则输出 0)。引入新函数 h(x),将式(3.1)改写成下面的式(3.2)和式(3.3)。

y=h(b+w1x1+w2x2)(3.2)

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

图 3-3 明确表示出偏置

h(x)={0(x0)\1(x>0)(3.3)

式(3.2)中,输入信号的总和会被函数 h(x) 转换,转换后的值就是输出 y。然后,式(3.3)所表示的函数 h(x),在输入超过 0 时返回 1,否则返回 0。因此,式(3.1)和式(3.2)、式(3.3)做的是相同的事情。

评论

发布