关于动量更新的概括

一下是看CS231n后自己总结的笔记

动量更新 是另一种在深度学习过程中经常能获得不错收敛率的学习方法。这个方法的灵盖来自物理学(我就意译了),想象优化空间如同一个延绵起伏不断延伸的丘陵地带,优化过程类似于把一个小球轻轻地放在这个地带任何一个位置,让它自然运动直到停止,一般来说,当它停下来的时候这个小球肯定是在某一个最低点,不一定是全局最低点,但是一定是局部的最低点。我们把损失函数类比这个小球的重力势能( U = m g h U=mgh U=mgh);由于力是能量函数相对于位移的梯度,所以损失函数的梯度可以看成作用在小球上的力;又由于加速度和力成正比(F=ma),当m=1的时候我们认为树枝上力和加速度一样,我们就认为梯度就是加速度;接下来,我们利用这个公式$v =at $加速度是均匀的时候,加速度在时间上积累就是速度(其实准确来说加速度速度函数对时间的梯度),在时间是单位时间的情况下,速度又可以等于加速度,而加速度又等于力,力等于梯度,所以速度就以这样一个方式和梯度挂上钩了。之后还有再加上一个条件——牛一定律告诉我们,如果不施以外力,物体会始终保持匀速运动或静止状态——对于这个小球来说如果不施加一个外力,那么高处的势能是无法耗尽的,这个小球会在这个空间中永远运动下去,所以我们给速度增加一个衰减因子,让速度在每次迭代的时候都适当的衰减,那么最后小球就能慢慢的停下来了。这个衰减因子被习惯称之为“momentum”动量,这个就是动量更新的来源,其实从上面的分析来看,这个更应该是现实世界中的摩擦系数,叫“动量”应该算是一个约定俗成的“误传”

# Momentum update
v = mu * v - learning_rate * dx # integrate velocity
x += v # integrate position

当交叉验证的时候,我们经常会从[0.5,0.9,0.95,0.99]这几个数里挑一个作动量参数。
类似于学习率的退火方法,在学习的最后阶段动量(摩擦系数)会增加,这种方法对整个优化过程也会有点帮助。一般用法是这样:一开始的时候动量设置为0.5,当经过了多轮(epoch)训练之后把它变成0.99。

利用动量更新方法,参数向量就可以沿着和梯度方向积累速度。

针对变压器故障诊断这一复杂问题,BP神经网络因其出色的非线性映射能力和自学习能力,已成为一种有效的解决方案。为了应用这一技术,首先需要掌握油中溶解气体分析(DGA)的基本原理,通过检测变压器油中特定气体(例如H2、CH4、C2H4、C2H6、C2H2)的浓度变化,识别变压器可能存在的内部故障。 参考资源链接:[基于BP神经网络的变压器故障诊断模型](https://wenku.youkuaiyun.com/doc/8amrp8v2ni) 在MATLAB环境下,可以使用其丰富的工具箱来构建和训练BP神经网络模型。首先,根据故障诊断的需求和DGA提供的数据,设计网络结构,包括输入层、隐藏层和输出层的节点数目。输入层的节点数通常与特征气体的种类数相匹配,而输出层则对应不同故障类型的分类结果。 在确定网络结构后,需要收集大量的变压器故障案例,并将它们转化为网络的训练样本。这些样本包括特征气体的浓度比值及其对应的故障类型。使用MATLAB的神经网络工具箱,可以方便地创建BP网络,并加载样本数据进行网络训练。 动量梯度下降法是BP神经网络中用于权重和偏置优化的重要算法,它能够加速网络学习过程并减少陷入局部最小值的可能性。在MATLAB中,可以通过调整动量项系数和学习率来控制网络的学习速度和稳定性。例如,较大的动量项可以加快训练速度,但可能会导致网络难以收敛;而学习率则需设定得既不过大也不过小,以确保模型能在合理的迭代次数内达到最佳性能。 具体到MATLAB中的实现步骤,可以概括为以下几点: 1. 准备和预处理DGA数据,将其转换为适合神经网络输入的格式。 2. 利用MATLAB的神经网络工具箱初始化一个BP神经网络模型。 3. 加载训练数据集,将特征气体浓度作为输入向量,故障类型作为目标向量。 4. 设置动量梯度下降法的参数,包括动量项系数、学习率、目标误差和迭代次数等。 5. 使用MATLAB的train函数对网络进行训练,监控网络误差和性能指标。 6. 训练完成后,使用测试数据集评估模型的诊断性能,并进行必要的调整优化。 通过上述步骤,可以有效地利用BP神经网络结合油中溶解气体分析技术进行变压器的故障诊断。在MATLAB平台下,动量梯度下降法的应用使得网络训练过程更为高效和稳定。这一技术的自动化和电气工程应用,不仅有助于电力系统的安全运行,也为变压器的健康管理提供了科学的决策支持。 参考资源链接:[基于BP神经网络的变压器故障诊断模型](https://wenku.youkuaiyun.com/doc/8amrp8v2ni)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值