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

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



