AI圣经-深度学习-读书笔记(八)-深度模型中的优化

这一样整理的内容非常少,以后会补上的。由于水平有限,实在看不懂。目前只是《深度学习》的第一版笔记,以后会以专栏的形式从新整理,不再是简单的摘录,更多的加上自己的思考。


深度模型中的优化

0 简介

深度学习算法在很多情况下都涉及优化。本章主要关注一类特定的优化问题:寻找神经网络上的一组参数 θ θ ,它能显著地降低代价函数 J(θ) J ( θ ) ,该代价函数通常包括整个训练集上的性能评估和额外的正则化项。

1 学习与纯优化有什么不同

1.1 代理损失函数

基于最小化这种平均训练误差的训练过程被称为经验风险最小化。经验风险最小化很容易导致过拟合,在深度学习中,我们很少使用经验风险最小化。通常我们会优化代理损失函数。在某些情况下,代理损失函数比原函数学到的更多。此种训练算法一般不会停留在局部极小值点。

1.2 批量算法

机器学习算法的目标函数通常可以分解为训练样本上的求和。机器学习中的优化算法在计算参数的每一次更新的时候通常仅使用整个代价函数中一部分项来估计代价函数的期望值。

准确计算期望的代价非常大,因为我们需要在整个数据集上的每个样本上评估模型。在实践中,我们可以从数据集中随机采样少量的样本,然后计算这些样本上的平均值。

另一个促使我们从小数目样本中获得梯度的统计估计的动机是训练集的冗余。

批量梯度下降指使用全部数据集。批量指一组样本。

小批量的大小的决定因素:

(1)更大的批量会计算更精确的梯度估计,但是回报却是小于线性的;

(2)极小批量通常难以充分利用多核架构;

(3)所有样本可以并行地处理,那么内存消耗和批量大小会成正比;

(4)通常使用2的幂数作为批量大小可以获得更少的运行时间,32-256;

(5)小批量在学习过程中加入噪声,它们会有一些正则化的效果;

在数据集中的顺序有很大的影响的情况下,很有必要再抽取小批量样本前打乱样本顺序。

2 神经网络优化中的挑战

梯度下降旨在朝下坡移动,而非明确寻求临界点。而牛顿法的目标是寻求梯度为零的点。

梯度消失使得我们难以知道参数朝哪个方向移动能够改变代价函数,而梯度爆炸会使学习不稳定。

3 基本算法

随机梯度下降(SGD)算法中的一个关键参数是学习率,SGD使用固定的学习率。在实践中,有必要随着时间的推移逐渐降低学习率。 εk=(1α)+αεr ε k = ( 1 − α ) + α ε r 其中 α=kr α = k r

4 自适应学习率算法

学习率是难以设置的超参数之一,因为它对模型的性能有显著的影响。

AdaGrad

独立地适应所有模型参数的学习率。

对于训练深度神经网络模型而言,从训练开始时积累梯度平方会导致有效学习率过早和过量的减小。

AdaGrad在某些深度模型上效果不错,但不是全部。

AdaGrad旨在应用于凸问题时快速收敛。

RMSProp

使用指数衰减平均。

RMSProp已被证明是一种有效且实用的深度神经网络优化算法。目前它是深度学习从业者经常使用的优化方法之一。

Adam

Adam通常被认为对超参数的选择相当鲁棒,尽管学习率有时需要从建议的默认修改。


这一样整理的内容非常少,以后会补上的。由于水平有限,实在看不懂。目前只是《深度学习》的第一版笔记,以后会以专栏的形式从新整理,不再是简单的摘录,更多的加上自己的思考。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值