神经网络权重选择与训练:从反向传播到优化策略
1. 多层神经网络训练 - 反向传播调优
单层神经网络在功能上存在局限性,既无法近似一般函数,也不能执行数字逻辑实现中基本的异或操作。而两层神经网络具备这些能力,三层神经网络足以应对最通用的模式分类应用,这使得多层神经网络受到了广泛关注。然而,多年来人们一直不清楚如何训练多层网络。
问题的关键在于为每个权重分配神经网络输出误差的“功劳”,以确定如何调整该权重,即所谓的“功劳分配”问题。最终,几位研究人员(Werbos (1974, 1989); Rumelhart, Hinton, and Williams (1986))通过推导反向传播训练算法解决了这个问题。从回顾的角度看,该解决方案出奇地直接,它基于微积分链式法则的简单应用。
在之前的内容中展示了如何训练单层神经网络,当时推导 delta 规则时忽略了激活函数的非线性。而在本节中,将展示如何推导包含所有激活函数非线性的多层神经网络的完整权重更新规则。为此,所选的激活函数必须是可微的。尽管反向传播算法取得了巨大成功,但要记住它仍然是一种基于梯度的技术,因此在使用时必须牢记与步长、局部最小值等相关的常见注意事项。
1.1 背景
为了推导两层神经网络的反向传播算法,先定义一些中间量。在图 1.1.6 中,将权重 $V_{lj}$ 所在的层称为第一层,权重 $W_{il}$ 所在的层称为第二层。第一层的输入是 $x_j$,第二层的输入定义为:
$Z_{l} = \sigma(\sum_{j = 1}^{n} V_{lj}X_{j} + V_{l0}) ; l = 1, 2, … , L$
通过定义 $x_0 = 1
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



