深度学习算法之CNN、RNN、LSTM公式推导 - Go语言中文社区

深度学习算法之CNN、RNN、LSTM公式推导


整个推导过程首先一定对网络的结构有清醒的认知,所有变量的下角标都能一一对应到网络结构上;然后就是链式求导了。

一、CNN公式推导

1、前向传播

假设CNN共三层,第一层为输入层,第二层为隐藏层,第三层为输出层。

定义:第一层与第二层之间的参数为Wih,第二层到第三层的参数为Whk

t时刻的某一个神经元的输入为bi

那么隐藏层输入为:

mi=1Wihbi

则隐藏层的真实输入为:

ah=mi=1Wihbi

经过激活函数后:

bh=f(ah)

再传入输出层:

ak=Kh=1Whkbh

如果最后的损失函数使用softmax的负log函数:

yk=eakm1eai

L(w)=mk=1zklog(yk)

2、反向梯度计算

先求最后的输出层的梯度:

求解参数whk关于损失函数的梯度:

L(w)whk=L(w)akakwhk=L(w)akbh(1)

L(w)ak是输出层的输入关于损失函数的导数,因为ak与每个yk都有关系,由链式法则得其导数需求和:

L(w)ak=m1L(w)ykyk 版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sinat_22336563/article/details/71216291
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

  • 发表于 2020-03-01 21:38:04
  • 阅读 ( 1269 )
  • 分类:算法

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢