深度学习入门:基于 Python 的理论与实现 (21):神经网络 3.5.4&3.6

阅读数:61 2019 年 11 月 13 日 15:08

深度学习入门:基于Python的理论与实现(21):神经网络 3.5.4&3.6

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

(输出层的神经元数量)

输出层的神经元数量需要根据待解决的问题来决定。对于分类问题,输出层的神经元数量一般设定为类别的数量。比如,对于某个输入图像,预测是图中的数字 0 到 9 中的哪一个的问题(10 类别分类问题),可以像图 3-23 这样,将输出层的神经元设定为 10 个。

如图 3-23 所示,在这个例子中,输出层的神经元从上往下依次对应数字 0, 1, … ., 9。此外,图中输出层的神经元的值用不同的灰度表示。这个例子中神经元 y2 颜色最深,输出的值最大。这表明这个神经网络预测的是 y2 对应的类别,也就是“2”。

深度学习入门:基于Python的理论与实现(21):神经网络 3.5.4&3.6

图 3-23 输出层的神经元对应各个数字

(手写数字识别)

介绍完神经网络的结构之后,现在我们来试着解决实际问题。这里我们来进行手写数字图像的分类。假设学习已经全部结束,我们使用学习到的参数,先实现神经网络的“推理处理”。这个推理处理也称为神经网络的前向传播(forward propagation)。

和求解机器学习问题的步骤(分成学习和推理两个阶段进行)一样,使用神经网络解决问题时,也需要首先使用训练数据(学习数据)进行权重参数的学习;进行推理时,使用刚才学习到的参数,对输入数据进行分类。

评论

发布