多层神经网络训练方法与正则化技巧
1. 应用二阶方法训练多层网络
1.1 经典二阶方法的局限性
在将二阶技术应用于大型网络训练之前,需要了解经典二阶方法存在的一些问题。使用完整 Hessian 信息的技术(如 Gauss - Newton、Levenberg - Marquardt 和 BFGS)仅适用于以批量模式训练的非常小的网络,但这些小网络并非最需要加速训练的对象。大多数二阶方法(如共轭梯度、BFGS 等)需要进行线搜索,因此无法用于随机模式。之前讨论的许多技巧仅适用于批量学习。
1.2 不同训练场景的方法选择
- 大规模分类任务 :对于训练集较大(超过几百个样本)且具有冗余性的分类任务,精心调整的随机梯度下降法很难被超越,也可以使用随机对角 Levenberg Marquardt 方法。
- 小规模或回归任务 :如果训练集不是太大,或者任务是回归问题,共轭梯度法是速度、可靠性和简单性的最佳组合。
1.3 随机对角 Levenberg Marquardt 方法
为了获得 Levenberg Marquardt 算法的随机版本,需要通过对每个参数的二阶导数进行运行估计来计算对角 Hessian。瞬时二阶导数可以通过反向传播获得。具体步骤如下:
1. 计算每个参数的学习率:
- 学习率公式为 $\eta_{ki} = \frac{\epsilon}{\langle\frac{\partial^2 E}{\partial w_{ki}^2}\rangle + \mu}$,
超级会员免费看
订阅专栏 解锁全文
3064

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



