DNN网络反向传播算法

Posted ylxn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNN网络反向传播算法相关的知识,希望对你有一定的参考价值。

本文摘自:

https://www.cnblogs.com/pinard/p/6422831.html

http://www.cnblogs.com/charlotte77/p/5629865.html

 

 

一、DNN求解参数的方法

在监督学习中,优化参数的方法

  • 首先我们都会定义一个目标函数,一般来讲都是损失函数
  • 通过最小化损失函数,求得最优参数
  • 不断迭代上一个步骤直到收敛,也就是损失函数基本不再变化

在DNN神经网络中,前向传播算法,主要是用来计算一层接着一层的输入值,通过计算出来的最后一层的输出值与真实值相计算就可以得到损失函数的值,然后通过反向传播,就可以优化参数。不断迭代前向传播与反向传播这个过程,就可以优化出最优参数。

二、DNN的反向传播,输出层

假设有网络,结构如下图所示,以w7为例子,优化其参数。

技术分享图片

 

1、由上述介绍,首先前向传播算法第i层的输出oi为(现行变换通过激励函数):

技术分享图片

2、定义损失函数为(不唯一):

技术分享图片

3、定义sigma激励函数为sigmoid。

技术分享图片

其中,z为线性变换

技术分享图片

4、在初始化了所有参数之后,首先由前向传播算法,可以得到每一层的输入。在最后一层,可以得总误差:

技术分享图片

5、由微分方程可以得到:

技术分享图片

6、各部分:

技术分享图片

7、sigmoid导数是h(x)(1-h(x)), 因此:

技术分享图片

8、

技术分享图片

9、因此

技术分享图片

技术分享图片

其中eta是学习率。对于同层的其他omega方法耶是一样的。

三、DNN的反向传播,隐藏层

1、更新隐藏层的参数。以w1为例。

技术分享图片

2、

技术分享图片

3、

技术分享图片

4、

技术分享图片

5、

技术分享图片

6、因此得:

技术分享图片

8、

技术分享图片

9、根据上述过程就可以得到同一隐藏层的所有参数。

 




以上是关于DNN网络反向传播算法的主要内容,如果未能解决你的问题,请参考以下文章

循环神经网络(RNN)模型与前向反向传播算法

卷积神经网络的反向传播

2. DNN神经网络的反向更新(BP)

前向传播和反向传播

预测模型基于WMMSE的DNN算法实现数据预测

预测模型基于WMMSE的DNN算法实现数据预测