当前位置:   article > 正文

深度学习基础笔记——前向传播与反向传播_前向传播和反向传播的作用

前向传播和反向传播的作用

相关申明及相关参考:

体系学习地址 主要学习笔记地址

由于是文章阅读整合,依据个人情况标注排版,

不确定算不算转载,主要学习围绕AI浩的五万字总结,深度学习基础
如有侵权,请联系删除。

1前向传播与反向传播 

神经网络的计算主要有两种:

前向传播(foward propagation, FP)作用于每一层的输入,通过逐层计算得到输出结果;

反向传播(backward propagation, BP)作用于网络的输出,计算梯度由深到浅更新网络参数。 

总目标:输入数据 i ,使输出层尽可能与原始输出 I 接近

前向传播:输入层-隐藏层-输出层

假设上一层结点i , j , k , . . .等一些结点与本层的结点w 有连接,那么结点w的值怎么算呢?就是通过上一层的i , j , k , . . .等结点以及对应的连接权值进行加权和运算,最终结果再加上一个偏置项(图中为了简单省略了),最后在通过一个非线性函数(即激活函数),如R e L u sigmoid等函数,最后得到的结果就是本层结点w的输出。不断的通过这种方法一层层的运算,得到输出层结果。

 反向传播:计算总误差-隐藏层-输出层的权值更新-隐藏层的权值更新 

 由于前向传播得到的结果往往存在误差,当前最广泛减少误差的算法就是梯度下降算法,求梯度就是要求偏导数,以上图为例:

 2 计算神经网络的输出

 输出层 3 个节点:1、2、3;隐藏层 4 个节点:4、5、6、7;输出层 2 个节点:8、9;

以隐藏层节点4为例,它和输入层的三个节点 1、2、3 之间都有连接,其连接上的权重分别为是 w_{41}, w_{42}, w_{43} 。

计算节点 4 的输出值时,首先计算上游节点即1、2、3 的输出值,节点 1、2、3 是输入层的节点,所以,他们的输出值就是输入向量本身。按照上图画出的对应关系,可以看到节点 1、2、3 的输出值分别是x_1, x_2, x_3,还有节点4的偏置项w_{4b}

 同理,可以计算节点5、6、7的输出值a_5, a_6, a_7,则输出层节点8的输出值y_{1},w_{8b}为偏置项。

 同理,可以计算y_{2},则输出层所有节点的输出值计算完毕,输出向量的维度和输出层神经元的个数相同。

3 实例理解反向传播——案例实践: 

4 神经网络“深”的意义

前提:在一定范围内。

  • 在神经元数量相同的情况下,深层网络结构具有更大容量,分层组合带来的是指数级的表达空间,能够组合成更多不同类型的子结构,这样可以更容易地学习和表示各种特征。
  • 隐藏层增加则意味着由激活函数带来的非线性变换的嵌套层数更多,就能构造更复杂的映射关系。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/405520
推荐阅读
相关标签
  

闽ICP备14008679号