DNN,深度神经网络的反向传播过程其实就是利用梯度下降来完成DNN参数学习的过程。

这个过程也就是网络的训练过程。

那么我们就来推导一下这个梯度下降的过程

在使用梯度下降进行训练前,需要做3个准备:

1 需要准备好样本M个。

2 准备好模型的前向计算公式。

3 准备好loss函数。

关于1,我们假设准备好了,因为是公式推导,不用真实去训练,所以,我们假设已经准备好了。

关于2,我们用一下网络。

DNN模型的前向计算的结构为:

矩阵求导是对每一个元素求导吗_矩阵求导_矩阵求导公式

图1 DNN网络

我们姑且认为这个5层的网络,就是深度神经网络。那么这个网络各层神经元的个数如下图所示

矩阵求导公式_矩阵求导是对每一个元素求导吗_矩阵求导

图2 DNN的各层维度以及前向计算过程

有了前向计算过程,我们就可以用来求导了,

不过这里的求导是使用矩阵的求导了,因为我们的前向计算过程,就是矩阵的各种计算过程,如果不用矩阵求导,整个过程会非常繁琐。

我们在这里先说结论:

矩阵求导公式_矩阵求导是对每一个元素求导吗_矩阵求导

图3 求DNN参数导数:矩阵求导过程

矩阵求导_矩阵求导是对每一个元素求导吗_矩阵求导公式

图4 将图3所示过程推广到任意层的DNN上

以下为详细地推导过程:

首先要搞清楚矩阵求导的公式:

矩阵求导公式_矩阵求导_矩阵求导是对每一个元素求导吗

图5 矩阵求导过程详细

如上图公式(1),公式(2)

所以,对于前向计算如图1所示的DNN,

矩阵求导公式_矩阵求导是对每一个元素求导吗_矩阵求导

图6 用矩阵求导的方法求取DNN网络参数的梯度

那么我们总结起来,也就是:

矩阵求导是对每一个元素求导吗_矩阵求导_矩阵求导公式

图7 对应与图1的DNN的各个参数的导数

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!