通过称作反向传播的处理过程,多层感知器从训练数据中进行学习。本节中,我们将介绍一些基础知识,更多详细信息可参见第15章。该处理过程可描述为一种边发现误差边渐进式降低误差的方法。让我们看看它是如何工作的。
记住,每个神经网络层都有一组与之关联的权重,这些权重将决定网络层对给定输入的输出值。此外,神经网络可以具有多个隐藏层。
起初,所有权重存在一些随机分配的情况。然后,神经网络由训练集的每个输入进行激活:值从输入层部分经隐藏层部分向前传播到实施预测的输出层部分。注意,为了简化图1-38,仅用虚线代表少数值,但实际上所有值都经网络向前传播。
图1-38 反向传播的前向步骤
由于我们知道训练集中的真实观测值,因此可计算出预测产生的误差。回溯的关键想法是采用适当的优化器算法(比如梯度下降)将误差传播回去(如图1-39),从而调整神经网络的权重,减小误差(同样,为了简单起见,这里仅表示了少数误差值)。
图1-39 反向传播的反向步骤
从输入到输出的前向传播和误差的反向传播的处理过程会重复几次,直到误差降到预定阈值以下。整个过程如图1-40所示。
图1-40 前向传播和反向传播
在图1-40中,特征代表输入,标签用来驱动学习过程。模型通过损失函数逐渐最小化的方式更新。在神经网络中,真正重要的并不是单个神经元输出,而是每一层调整的权重集。因此,神经网络以此方式渐进地调整其内部权重,以使预测提升正确预测标签的数量。当然,为了最小化学习过程中的偏差,采用正确的特征集并为数据加上高质量标记的标签是至关重要的。