梯度的数值逼近

当实施反向传播的时候,有一个测试叫做梯度检验,它的作用是保证反向传播可以正确实施。在写好反向传播公式的时候,你没有办法保证执行反向传播的所有细节全部都是正确的。为了实现逐步梯度检验,我们先来说一下如何对梯度做数值逼近。

如图所示,我们只需记住,双边检测误差更低,精度更高。

那么为什么是平方误差关系呢,这里用到了泰勒展开式,做差所得,我们先来复习一下泰勒展开式的知识

然后这个公式的推导过程如下:

梯度检验

下面我们介绍一下如何用梯度检验来检验反向传播实施是否正确。

如图所示,为了执行梯度检验,我们首先要把所有参数转化成一个巨大的向量数据。

转换完之后那么现在的问题是dθd\theta,或者说是代价函数J的梯度和代价函数之间有什么关系。而这,就是实施梯度检验的过程。英语里通常称为grad check

如图所示,为了执行梯度检验,你要做的就是使用循环操作。

我们执行双边误差检测。由上节课的知识我们应该知道,这个双边误差应该近似于dθd\theta。

那么如何定义两个向量是否彼此接近呢?我们一般使用二范数来进行度量。最后我们将向量长度做归一化处理,得到上图中最下面的公式。如果我们得到的这个误差在10的负7次方的数量级,那么非常好,如果这个误差比较大,那么我们就要重新检验了。

关于梯度检验实现的注记

这里我们谈一下在神经网络中实现梯度检验的注意技巧和注意事项

最后的一点说明一下,最好在反复训练神经网络之后再进行梯度检验。

吴教主深度学习和神经网络课程总纲

2.1.5 梯度检验相关推荐

  1. 【Python-ML】神经网络-多层感知器增加梯度检验

    # -*- coding: utf-8 -*- ''' Created on 2018年1月26日 @author: Jason.F @summary: 多层感知器实现,加梯度检验 训练集:http: ...

  2. 1.14 梯度检验应用的注意事项-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.13 梯度检验 回到目录 1.15 总结 梯度检验应用的注意事项 (Gradient Checking Implementation Notes) 这节课,分享一些关于如 ...

  3. 1.13 梯度检验-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.12 梯度的数值逼近 回到目录 1.14 关于梯度检验实现的注记 梯度检验 (Gradient Checking) 梯度检验帮我们节省了很多时间,也多次帮我发现backp ...

  4. Stanford UFLDL教程 梯度检验与高级优化

    梯度检验与高级优化 众所周知,反向传播算法很难调试得到正确结果,尤其是当实现程序存在很多难于发现的bug时.举例来说,索引的缺位错误(off-by-one error)会导致只有部分层的权重得到训练, ...

  5. 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面(作业:初始化+正则化+梯度检验)

    文章目录 作业1:初始化 1. 神经网络模型 2. 使用 0 初始化 3. 随机初始化 4. He 初始化 作业2:正则化 1. 无正则化模型 2. L2 正则化 3. DropOut 正则化 3.1 ...

  6. 吴恩达作业6:梯度检验

    梯度检验的目的就是看反向传播过程中的导数有没有较大的误差,首先看J=theta*x的梯度检验:代码如下 import numpy as np """ J=x*theta的 ...

  7. 深度学习的实用层面 —— 1.14 关于梯度检验实现的标记

    这里主要介绍在神经网络中实施梯度检验的实用技巧和注意事项. 首先,不要在训练中使用梯度检验,它只用于调试,意思是计算所有i值的dθapprox[i]d\theta_{approx^{[i]}}dθap ...

  8. 深度学习的实用层面 —— 1.13 梯度检验

    假设你的网络中含有下列参数W[1]W^{[1]}W[1]和b[1]b^{[1]}b[1],W[2]W^{[2]}W[2]和b[2]b^{[2]}b[2],一直到W[L]W^{[L]}W[L]和b[L] ...

  9. 机器学习算法的调试 —— 梯度检验(Gradient Checking)

    反向传播算法很难调试得到正确结果,尤其是当实现程序存在很多难于发现的bug 时.举例来说,索引的缺位错误(off-by-one error)会导致只有部分层的权重得到训练(for(i=1; i< ...

最新文章

  1. python实训心得2000_实训总结万能版2000字五篇
  2. linux mpp集群环境,Linux环境下,DM8-MPP两节点集群搭建
  3. 微软企业库4.1学习笔记(八)创建对象 续集2
  4. Jenkins系列之二——centos 6.9 + JenKins 安装
  5. 年底双薪一般是什么时候发_评职称发表文章一般发什么刊物
  6. 2021年qs世界大学计算机科学排名,2015年QS世界大学计算机专业排名
  7. 激活Maven profile的几种方式
  8. XSS(跨站脚本攻击)漏洞解决方案
  9. marker 头像 高德地图_高德地图上线马丽导航语音
  10. JSP版LCX:端口转发神器 KPortTran
  11. #pragma pack与sizeof union
  12. 阻止系统自动睡眠的小软件,附C#制作过程
  13. 联想笔记本thinkbook win10系统安装
  14. 每周公布病情 - 北京18区县均有手足口病例
  15. mac的obs录制不到全屏
  16. 怎样屏蔽(去掉)csdn博客侧栏广告
  17. word里如何在□里打√!框框里打勾
  18. 【NVMe-MI 1.2a - 1】NVM Express Management Interface介绍
  19. 信贷、贷款行业如果利用运营商大数据精准获客?
  20. EasyPoi 实现Word文档内容替换3种情况(正常文本替换、表格文本替换、图表替换)

热门文章

  1. ginkgo php,【行业资讯】PHP 开发框架 ginkgo v0.1.2 发布
  2. 扬州古城门高挂大红春联迎新春 环卫工受邀揭幕
  3. 抽象类 VS 接口 (3)
  4. 企业传播可以考虑放弃公众号了
  5. 介绍几个好用的android自定义控件
  6. 网页与APP中那些优美的登陆表单
  7. NSIS 刷新ICO缓存
  8. One sentence only!!
  9. 【正一专栏】欧冠决赛点评——只服齐达内,送别布冯
  10. Win系统复制粘贴失效解决办法