一阶参数更新

这里的参数更新指的是在神经网络的训练过程中,通过计算参数w的梯度,将梯度反向传播,从而更新参数w的过程。

普通更新

普通更新指的是,沿着梯度的负方向,对参数w进行更新,用公式表示:
w += - learning_rate * dw
其中,learning_rate就是前面博客提到的学习率,它是一个超参数。但是该方法存在一个问题,即如果损失函数剖面呈现椭圆形,那么将loss对w求梯度时,水平和竖直方向的大小不同,因此在更新梯度时,等高线密集的方向更新快,会出现来回震荡的现象,而变化平缓的方向更新慢,因此导致了普通更新的收敛速度慢。有人指出,可以降低学习率来缓解这种震荡的问题,但是学习率作用于各个方向,会使本来缓慢的方向上更新更加缓慢。

动量(Momentum)更新

该方法受物理学的启发,将loss比作地形,梯度比作加速度,因此梯度不直接影响loss,而是通过速度v间接的影响位置loss,而运动时还存在摩擦力,因此速度v在不同时刻也要乘以摩擦系数mu,其中mu大于0小于1,用公式表示为:
v = mu * v - learning_rate * dw
w += v
加速度这个概念,我们可以理解为,它会在某种程度上抑制变化快的loss方向上的速度的大小,也会激励变化慢的loss方向上的速度大小。而mu,我们通常在开始的几个epoch中先将其设置为0.5,随着epoch的增加,将mu慢慢增加到类似于0.99这样的值

Nesterov动量

Nesterov动量是对普通动量的改进,将梯度dw改为对超前位置的求导,其公式为:
w_ahead = w + mu * v
v = mu * v - learning_rate * dw_ahead
w += v

二阶方法的优势在于不需要学习率这个超参数,它是利用Hessian矩阵得到损失函数的曲率,从而在曲率大的地方缓慢更新,曲率小的地方快速更新。然而由于需要计算Hessian矩阵,则会消耗大量内存,因此使用L-BFGS方法近似,从而避免计算Hessian矩阵。但是L-BFGS需要在全部的数据集上计算,而不是利用批数据,如何在mini-batch上计算L-BFGS也是研究热点。

总的说来,在参数更新时,更倾向于使用一阶参数更新的方法,主要由于其计算简单,并且可拓展性强。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,MATLAB可以用于实现高斯-牛顿算法进行一阶最小二乘参数辨识。在使用MATLAB实现高斯-牛顿算法时,需要给定残差向量函数r、雅可比矩阵函数J、允许的最大迭代次数K、误差阈值ϵ和未知参数初始值x(0)。具体的算法步骤如下: 1. 定义残差向量函数r和雅可比矩阵函数J。 2. 设置最大迭代次数K和误差阈值ϵ。 3. 初始化未知参数初始值x(0)。 4. 进行迭代计算,直到满足终止条件(达到最大迭代次数或误差小于阈值): a. 计算残差向量r和雅可比矩阵J。 b. 根据当前参数估计值x(k)和雅可比矩阵J,计算参数更新量∆x(k)。 c. 更新参数估计值x(k+1) = x(k) + ∆x(k)。 d. 判断是否满足终止条件,如果满足则结束迭代,否则返回步骤4a。 5. 输出最终的参数估计值x。 关于电池的一阶最小二乘参数辨识,需要根据具体的电池模型和观测数据来定义残差向量函数r和雅可比矩阵函数J。然后使用上述步骤进行迭代计算,得到电池的参数估计值。 请注意,以上回答是基于引用内容提供的信息,具体的实现细节可能需要根据具体情况进行调整和补充。 #### 引用[.reference_title] - *1* [非线性最小二乘问题的分析与理解(附高斯牛顿法matlab代码)](https://blog.csdn.net/HawkJLi/article/details/125533081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [科学计算与仿真-高斯牛顿法的非线性最小二乘问题简单介绍与应用](https://blog.csdn.net/m0_46653805/article/details/125806852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值