快速掌握Adam优化算法
度下降是一种优化算法,遵循目标函数的负梯度以定位函数的最小值。 梯度下降的局限性是,所有输入变量都使用单个步长(学习率)。像AdaGrad和RMSProp这样的梯度下降的扩展会更新算法,以对每个输入变量使用单独的步长,但可能会导致步长迅速减小到非常小的值。自适应运动估计算法(Adam)是梯度下降的扩展,是AdaGrad和RMSProp等技术的自然继承者,该技术可自动为目标函数的每个输入变量调整学习率,并通过使用以指数方式降低梯度的移动平均值以更新变量。 在本教程中,您将发现如何从头开始使用Adam优化算法开发梯度下降。完成本教程后,您将知道:
度下降是一种优化算法。它在技术上称为一阶优化算法,因为它明确利用了目标目标函数的一阶导数。一阶导数,或简称为“导数”,是目标函数在特定点(例如,点)上的变化率或斜率。用于特定输入。如果目标函数采用多个输入变量,则将其称为多元函数,并且可以将输入变量视为向量。反过来,多元目标函数的导数也可以视为向量,通常称为梯度。 梯度:多元目标函数的一阶导数。 对于特定输入,导数或梯度指向目标函数最陡峭的上升方向。 梯度下降是指一种最小化优化算法,该算法遵循目标函数的下坡梯度负值来定位函数的最小值。梯度下降算法需要一个正在优化的目标函数和该目标函数的导数函数。目标函数f()返回给定输入集合的分数,导数函数f'()给出给定输入集合的目标函数的导数。梯度下降算法需要问题中的起点(x),例如输入空间中的随机选择点。 假设我们正在最小化目标函数,然后计算导数并在输入空间中采取一步,这将导致目标函数下坡运动。下坡运动是通过首先计算输入空间中的运动量来进行的,计算方法是将步长(称为alpha或学习率)乘以坡度。然后从当前点减去该值,以确保我们逆梯度移动或向下移动目标函数。 x(t)= x(t-1)–step* f'(x(t-1)) 在给定点的目标函数越陡峭,梯度的幅度越大,反过来,在搜索空间中采取的步伐也越大。使用步长超参数来缩放步长的大小。 步长(alpha):超参数,控制算法每次迭代时相对于梯度在搜索空间中移动多远。 如果步长太小,则搜索空间中的移动将很小,并且搜索将花费很长时间。如果步长太大,则搜索可能会在搜索空间附近反弹并跳过最优值。 现在我们已经熟悉了梯度下降优化算法,下面让我们看一下Adam算法。 (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |