深度学习基础与实践 课件 2.3.5最优化算法 .pptx

深度学习基础与实践 课件 2.3.5最优化算法 .pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

最优化算法(上)

最优化算法01最优化算法与深度学习的关系训练?个复杂的深度学习模型可能需要数小时、数?,甚?数周时间,最优化算法的表现直接影响模型的训练效率和模型参数的准确程度;理解各种最优化算法的原理以及其中超参数的意义将有助于更有针对性地调参,从而使深度学习模型表现更好。在?个深度学习问题中,我们通常会预先定义?个?标函数或者代价函数。有了?标函数以后,我们就可以使用最优化算法试图将其最小化。任何最大化没有他问题都可以很容易地转化为最小化问题,只需令?标函数的相反数为新的目标函数即可。

最优化算法01最优化在深度学习中的挑战最优化为深度学习提供了最小化损失函数的方法。本质上,最优化与深度学习的目标是有区别的。由于最优化算法的?标函数通常是?个基于训练数据集的损失函数,最优化的?标在于降低训练误差。而深度学习的目标在于降低泛化误差。为了降低泛化误差,除了使用最优化算法降低训练误差以外,还需要注意应对过拟合。最优化在深度学习中有很多挑战:局部最小值、鞍点等。

最优化算法最优化的挑战--局部最?值对于目标函数f(x),如果f(x)在x上的值比在x邻近的其他点的值更小,那么f(x)可能是?个局部最小值。如果f(x)在x上的值是?标函数在整个定义域上的最小值,那么f(x)是全局最小值。举个例子,给定函数:?? ?? =???cos ????? ,?1.0≤??≤2.0可以大致找出该函数的局部最小值和全局最小值的位置。需要注意的是,图中箭头所指示的只是大致位置。当?个最优化问题的数值解在局部最优解附近时,由于目标函数有关解的梯度接近或变成零,最终迭代求得的数值解可能只令目标函数局部最小化而非全局最小化。01图片来源:《动手深度学习》

最优化算法最优化的挑战–鞍点鞍点(saddlepoint)附近也可能造成梯度接近或变成零。举个例子,给定函数:?? ?? =??3绘图即可找出该函数的鞍点位置。再举个定义在二维空间的函数的例子,例如:?? ??,?? =??2???2该函数也存在鞍点位置。也许你已经发现了,该函数看起来像?个马鞍,而鞍点恰好是马鞍上可坐区域的中心。01图片来源:《动手深度学习》

常见的最优化算法02最优化问题解决办法最优化算法的目标:跳出局部极值点或鞍点,寻找全局最小值;使训练过程更加稳定,更加容易收敛。针对不同的任务,采用的目标函数不一样。比如对于回归预测模型,有L1正则化和L2正则化,对应的优化算法也不同。下面,我们介绍几种常用的最优化方法。

02常见的最优化算法参数更新率批量梯度下降算法批量梯度下降算法是梯度下降算法最原始的形式,通过批次所有样本的损失函数,来计算模型参数的更新值。梯度下降算法的原理:代价函数关于参数?的梯度将是目标函数上升最快的方向。而要最小化代价函数,只需要将参数沿着梯度相反的方向前进一个步长,就可以实现目标函数的下降。

02常见的最优化算法批量梯度下降算法参数更新率批量梯度下降的优点:1)一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。2)由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。当目标函数为凸函数时,一定能够得到全局最优。批量梯度下降的缺点:1)当样本数目很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。2)当目标函数不为凸函数时,可能陷入局部最优。

最优化算法(下)

02常见的最优化算法随机梯度下降算法随机梯度下降利用单个样本计算损失函数,直接用反向传播算法更新模型参数。随机梯度下降的优点:(1)在学习过程中加入了噪声,提高了泛化误差。(2)由于不是在全部训练数据上的损失函数,而是在每轮迭代中,随机优化某一条训练数据上的损失函数,这样每一轮参数的更新速度大大加快。随机梯度下降的缺点:(1)不能在一个样本中使用矩阵计算,不能并行操作,学习过程变得很慢。(2)单个样本并不能代表全体样本的趋势。在pytorch中,随机梯度下降算法的类名称为torch.optim.SGD。

02常见的最优化算法小批量梯度下降算法(平均随机梯度下降算法)小批量梯度下降,是对批量梯度下降以及随机梯度下降的一个折中办法。随机梯度下降算法中模型参数的更新方向不稳定和,我们常采用平均随机梯度下降算法。其计算梯度不同的是,不是每得一个梯度就更新一次参数,而是得到几个梯度后,对其求平均,然后确定参数的更新值。批量梯度下降算法随机梯度下降算法小批量梯度下降算法更新方向稳定不稳定相对稳定梯度更新所需样本全部样本单个样本小批量(自定义)能否并行可以不可以可以

02牛顿梯度下降算法常见的最优化算法图片来源:/p/e426c3eca226?? ?? ??? ??0 +(?????

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档