神经网络中的前向和后向算法
来源:互联网 发布:淘宝有手续费吗 编辑:程序博客网 时间:2024/04/30 04:58
最近深度学习的研究在学界火的一塌糊涂,大老板终于也下定决心组织实验室开展相关研究了,何况实验室的主流方向是做成像的,不做点这方面的研究感觉说不过去。研究生小朋友们刚进来还得看视觉方面的东西,博三博四的师兄师姐们基本都达到毕业要求了已经无心学习,最后这种为实验室服务性的工作就丢到了我们博二的头上。。。
看了一段时间的深度网络模型,也在tf和theano上都跑了一些模型,但是感觉没有潜下去,对很多东西的理解都只停留在“这个是干什么的”层次上面。昨天在和小老师一起看一篇文章的时候,就被问到RNN里面的后向传播算法具体是怎么推。当时心里觉得BP算法其实很熟悉啊,然后在推导的过程中就一脸懵逼了。于是又去网上翻了翻相关内容,自己走了一遍,准备做个笔记,算是个交代。
准备一个神经网络模型,比如:
其中,
来了解一下前向算法:
前向算法的作用是计算输入层结点对隐藏层结点的影响,也就是说,把网络正向的走一遍:输入层—->隐藏层—->输出层
计算每个结点对其下一层结点的影响。
例如,我们要算结点
而在计算结点
于是
最后
后向算法:
在实际情况中,因为是随机给定的权值,很大的可能(几乎是100%)得到的输出与实际结果之间的偏差非常的大,这个时候我们就需要比较我们的输出和实际结果之间的差异,将这个残差返回给整个网络,调整网络中的权重关系。这也是为什么我们在神经网络中需要后向传播的原因。其主要计算步骤如下:
1. 计算总误差
在要更新每个边的权重之前,必须要知道这条边对最后输出结果的影响,可以用整体误差对
需要讲出来的一个地方是,在计算
3. 更新权重 这一步里面就没什么东西了,直接根据学习率来更新权重:
至此,一次正向+反向传播过程就到此为止,接下来只需要进行迭代,不断调整边的权重,修正网络的输出和实际结果之间的偏差(也就是training整个网络)。

- 神经网络中的前向和后向算法
- 神经网络中的前向和后向算法
- HMM前向算法和后向算法的推导
- 前向神经网络算法原理
- 神经网络前向传播算法
- 多层前馈神经网络的后向传播算法推导
- 神经网络中的参数的求解:前向和反向传播算法
- 深度学习:神经网络中的前向传播和反向传播算法推导
- 前向兼容和后向兼容
- 卷积神经网络(CNN)前向传播算法
- 卷积神经网络(CNN)前向传播算法
- 卷积神经网络(CNN)前向传播算法
- 卷积神经网络(CNN)前向传播算法
- 卷积神经网络(CNN)前向传播算法
- 卷积神经网络(CNN)前向传播算法
- 卷积神经网络(CNN)前向传播算法
- feedforwardnet,前向神经网络
- 神经网络-前向传播
- 19 个 JavaScript 有用的简写技术
- android相机权限适配遇到的坑
- 和平县东水镇
- 服务器端搭建svn
- 最全的java学习视频下载
- 神经网络中的前向和后向算法
- Highcharts 前端图表插件
- fbra重置及重置并冲销的区别
- 正则表达式二 :贪婪与非贪婪
- Android监听用户正在使用的程序
- spring--contextLoader源码
- php实现zip压缩文件解压缩代码分享(简单易懂)
- c++构造函数、复制构造函数、赋值构造函数、析构函数
- Custom Tooltips——自定义工具提示