小程序新时代

新闻分类

案例分类

联系我们

大连祥云科技有限公司 

服务热线:13164501222

电话:0411-66856256

邮箱:info@dlxiangyun.com

网址: www.dlxiangyun.com    

           www.dl-xy.cn 

地 址:大连市甘井子区汇利街69号2-2305


为大家介绍一下优化网站基本知识中的梯度下降法

您的当前位置: 首 页 >> 新闻中心 >> 行业新闻

为大家介绍一下优化网站基本知识中的梯度下降法

发布日期:2018-08-30 00:00 来源:http://www.dlxiangyun.com 点击:

梯度下降法,是当今最流行的优化(optimization)算法,亦是至今最常用的优化神经网络的方法。与此同时,最新的深度学习程序库都包含了各种优化梯度下降的算法(可以参见如 lasagne、caffe 及 Kera 等程序库的说明文档)。但它们的算法则不被公开,都作为黑箱优化器被使用,这也就是为什么它们的优势和劣势往往难以被实际地解释。

大连企业建站让你对不同的优化梯度下降法的算法有一个直观认识,以帮助你使用这些算法。我们首先会考察梯度下降法的各种变体,然后会简要地总结在训练(神经网络或是机器学习算法)的过程中可能遇到的挑战。接着,我们将会讨论一些最常见的优化算法,研究它们的解决这些挑战的动机及推导出更新规律(update rules)的过程。我们还会简要探讨一下,在平行计算或是分布式处理情况下优化梯度下降法的算法和架构。最后,我们会考虑一下其他有助于优化梯度下降法的策略。

梯度下降法的核心,是最小化目标函数 J(θ),其中θ是模型的参数,θ∈Rd。它的方法是,在每次迭代中,对每个变量,按照目标函数在该变量梯度的相反方向,更新对应的参数值。其中,学习率η决定了函数到达(局部)最小值的迭代次数。换句话说,我们在目标函数的超平面上,沿着斜率下降的方向前进,直到我们遇到了超平面构成的「谷底」。如果你不熟悉梯度下降法的话,你可以在这里找到一个很好的关于优化神经网络的介绍。

为大家介绍一下优化网站基本知识中的梯度下降法

批量梯度下降法(Batch Gradient Descent)

Vanilla 梯度下降法(译者注:Vanilla 是早期机器学习算法相关的名词,也是如今一个机器学习 python 程序库的名字,在该处指的是后者,参见:https://github.com/vinhkhuc/VanillaML),也就是大家所熟知的批量梯度下降法,在整个数据集上(求出罚函数 J(θ 并)对每个参数 θ 求目标函数 J(θ) 的偏导数:

在该方法中,每次更新我们都需要在整个数据集上求出所有的偏导数。因此批量梯度下降法的速度会比较慢,甚至对于较大的、内存无法容纳的数据集,该方法都无法被使用。同时,梯度下降法不能以「在线」的形式更新我们的模型,也就是不能再运行中加入新的样本进行运算。

批量梯度下降法的实现代码,如下所示:

fori inrange (nb_epochs ):params_grad =evaluate_gradient (loss_function ,data ,params)params =params -learning_rate *params_grad

对于给定的迭代次数,我们首先基于输入的罚函数 loss_function 对输入的参数向量 params 计算梯度向量 params_grad。注意,最新的深度学习程序库中,提供了自动求导的功能,能够高效、快速地求给定函数对于特定参数的导数。如果你希望自己写代码求出梯度值,那么「梯度检查」会是一个不错的注意。(你可以参考这里,了解关于如何检查梯度的相关建议。)


然后,我们对参数减去梯度值乘学习率的值,也就是在反梯度方向,更新我们参数。当目标函数 J(θ) 是一凸函数时,则批量梯度下降法必然会在全局最小值处收敛;否则,目标函数则可能会局部极小值处收敛。


相关标签:大连网站建设

最近浏览:

联系我们

服务热线:13164501222

邮箱:info@dlxiangyun.com

地 址:大连市甘井子区汇利街69号2-2305

手机.png扫描关注手机网站
1591319568887368.jpg加我好友吧

网络优化推广

在线客服
分享
欢迎给我们留言
请在此输入留言内容,我们会尽快与您联系。
姓名
联系人
电话
座机/手机号码