随机梯度下降

Posted by RAIS on 2020-04-10
  • 本文首发自公众号:RAIS,点击直接关注。

前言

本系列文章为 《Deep Learning》 读书笔记,可以参看原书一起阅读,效果更佳。

梯度下降算法

在机器学习或深度学习中,模型的训练在一般都会被转换为求使得目标函数函数值最小的参数组合的优化问题,简而言之就是优化参数,梯度下降法是优化参数的一种方法。梯度是数学上面的概念,梯度的方向是某一点方向导数最大值的的方向,其向其反方向(负梯度)移动,就可以趋近于极小值。梯度下降算法用梯度乘以学习率(learning rate)来确定下一个点的位置,学习率是一个 超参数,学习率太小,每次移动太小则收敛太慢训练时间过长,学习率太大可能会导致下一个点在曲线底部随意弹跳找不到极小值。

梯度下降法

随机梯度下降算法

梯度下降算法的一个问题是需要处理所有的样本,效率太低,因此考虑采用计算其中一部分小得多的数据集去进行计算,且由于这部分数据是随机的,所以站在期望的角度来说,随机梯度和真实梯度期望一致。极限一点,每次只取一个点,只要迭代次数够多,也是可以达到目的的,当然,实际中更多的是一种折中的方法,采用一个 小批量(10-1000) 的样本。

实际的经验表明,随机梯度下降算法和梯度下降算法都能很好的收敛,且随机梯度下降算法甚至还能在一些情况下,可以在多个极值点的情况下找到更好的那一个。

总结

本文介绍了随机梯度下降算法。