1 参数的更新
四种方法:见图
01 随机梯度下降法:SGD
使用参数的梯度,沿着梯度方向更新参数,并且重复这个步骤多次,从而逐渐靠近最优参数,这个过程称为随机梯度下降法
# 源代码
class SGD:
def _init_(self,lr=0.01):
self.lr=lr
def update(self,params,grads): # params,和grads是字典型变量
# 代码段的update(params,grads),会被反复调用按照params['W1']、grads['W1'],
#分别保存了权重参数和他们的梯度。
for k inparams.keys():
params(key)-=self.lr*grads[key]
见图:SGD呈之字形移动, 这是一个相当低效的路径。
SGD的缺陷就是,如果函数的形状非均向,比如延伸状,搜索的路径就会非常抵消。
低效率的最根本原因是,梯度的方向没有指向最小的方向。
02 Momentum 方法
Mnmentum是“动量”的意思,和物理有关。