2019-04-28 梯度下降

转自知乎 https://zhuanlan.zhihu.com/p/32230623


首先定义:待优化参数:w,目标函数:f(w) ,初始学习率 :\alpha

而后,开始进行迭代优化。在每个epoch t 

计算目标函数关于当前参数的梯度:  g_{t}={\Delta f(w_{t})}

根据历史梯度计算一阶动量和二阶动量:

m_{t}=\phi (g_1,g_2,…,g_t)V_t=\psi (g_1,g_2,...,g_t)

计算当前时刻的下降梯度: \eta =\alpha \cdot m_{t}/\sqrt{V_t}

根据下降梯度进行更新: w_{t+1}=w_{t}-\eta

掌握了这个框架,你可以轻轻松松设计自己的优化算法。步骤3、4对于各个算法都是一致的,主要的差别就体现在1和2上

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容