当前位置: 首页 > news >正文

卷积神经网络 反向传播

误差的计算

 

 softmax

 经过softmax处理后所有输出节点概率和为1

损失(激活函数)

多分类问题:输出只可能归于某一个类别,不可能同时归于多个类别。

误差的反向传播

求w的误差梯度

权值的更新

首先是更新输出层和隐藏层之间的权重。更新权重,我们首先需要知道损失梯度损失梯度实际上是损失根据所需要的更新的权重求偏导,而要求解这个偏导,我们要通过链式法则来求解。成功求解损失梯度后,要通过梯度下降的方法来更新我们的权重。这里的损失梯度前面的系数,我们称之为学习率,直观意义去理解实际上就是步长

 这个参数是我们人为调整的,但是学习率不宜过大,也不易过小。过大可能会导致损失无法收敛,过小可能会导致损失收敛的速度过慢,或者会陷入局部最优解的问题中。因此学习率我们不能随意取值,需要通过后续不断地迭代,来获取最优学习率。

接着我们需要进一步更新我们的隐藏层和输入层之间的权重,对于这里的损失梯度,我们同样是通过链式法则得到损失梯度的表达式,过程基本与前面保持一致。但是这里有两个注意点,第一,这里通过链式法则最后得到的损失梯度的结果会用到我们前面更新过的权重,所以说反向传播的顺序是不可逆的。第二,对与隐藏层和输入层之间权重的更新是多个损失项更新的叠加。通过上述的推到过程,我们可以求得我们所需的损失梯度,得到损失梯度后,通过梯度下降,我们可以得到隐藏层和输入层之间更新后的权重。

至此,我们已经完成了通过误差的反向传播实现了一次完整的权重的更新。后面的过程就是在正向传播更新输出,然后再反向更新权重,循环迭代,直到损失收敛或者是达到设定的迭代次数,一次神经网络的训练完成。

优化器 

使网络更快地得到收敛

 

 

 

相关文章:

  • 感染了后缀为.[sqlback@memeware.net].2700勒索病毒如何应对?数据能够恢复吗?
  • 记录 Docker 中安装 ROS2
  • 深入理解依赖反转原则(DIP)
  • DevOps持续交付之容器化CICD流水线
  • 用IDEA创建/同步到gitee(码云)远程仓库(保姆级详细)
  • 解除mobaxterm会话14个限制
  • C++每日一练(7):爬山
  • 数字孪生在能源电力行业的技术难点和应用场景
  • Flask 日志
  • 第十一章 Stream消息驱动
  • 5个用于构建Web应用程序的Go Web框架
  • 【记录】开始学习网络安全
  • go slice源码探索(切片、copy、扩容)和go编译源码分析
  • SASS循环
  • Qt+Opencv:人脸检测
  • 网络传输文件的问题
  • 2017年终总结、随想
  • Akka系列(七):Actor持久化之Akka persistence
  • Babel配置的不完全指南
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • ComponentOne 2017 V2版本正式发布
  • create-react-app项目添加less配置
  • Golang-长连接-状态推送
  • HTTP那些事
  • JavaScript-Array类型
  • Java基本数据类型之Number
  • ReactNative开发常用的三方模块
  • VUE es6技巧写法(持续更新中~~~)
  • vue 配置sass、scss全局变量
  • zookeeper系列(七)实战分布式命名服务
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 区块链分支循环
  • 深度解析利用ES6进行Promise封装总结
  • 思维导图—你不知道的JavaScript中卷
  • 自制字幕遮挡器
  • #pragma预处理命令
  • $.proxy和$.extend
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • ****Linux下Mysql的安装和配置
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET DataGridView数据绑定说明
  • .NET开源快速、强大、免费的电子表格组件
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @ResponseBody
  • @RestControllerAdvice异常统一处理类失效原因
  • @staticmethod和@classmethod的作用与区别
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager失败
  • [javaSE] 看知乎学习工厂模式