关于神经网络中对于求解权重最优的梯度下降算法分析
2023-04-10 13:50 作者:Pasta_OldRuns | 我要投稿
比较常用的对于w权重的训练优化方法是----随时间反向传播算法
下面一步步详细的推过去
首先要知道的知识点
知识点 1.
h函数是每个神经元的输出结果,在记忆网络中当前输出结果作为下一个神经元的记忆输入。
如图

U可看作是对于记忆输入的输入权重。
上一个输入与WX+B 结合作为新输入用z表示.
在一次反向传播中,U与W是不变的。
知识点2 .

真实值与y预测的差别,作为衡量权重是否优秀并且根据此损失来反向优化权重大小。
首先给出最后推出来的公式--梯度公式=

过程如下
图中的 左侧θ L/θ U = ∑(k=1,t) θLt/θU
上述公式右侧 θLt/θU= θLt/θZk * θZk/U
你可以理解为两个偏导乘积消去Zk即输入部分,两个乘积部分右侧等于 h[k-1]的转置
此处推导应用知识点1部分的求导。 两个乘积部分中左侧 写成这个形式δ(t,k) 你可以理解为平方损失(δt,k为第t时刻的损失对第k步隐藏神经元的净输入zk的导数)。
它也可以通过这种方式计算

同上,也是三部分乘积分别可以写成 对角矩阵的运算diag(f`(Zk)) 与 U的转置 与 δ(t,k+1)
对δ(t,k+1) 再带入,一直代入到 δ(t,t),用当前的δ(t,t)求出k出的值。 即此部分就是反向求解的直观部分。 如图

再结合此图理解一下

由此这两部分推完,公式也就推完毕了

以上就是反向梯度优化算法。
由于梯度爆炸或消失问题,实际上只能学习到短周期的依赖关系。这就是所谓的长程依赖问题。
也就是只适用于小规模学习。
ps:下篇简单写写为什么会出现梯度爆炸和梯度消失,以及用RGU方法解决梯度消失的情况况同时用RGU实现适用大规模学习。