1.12 梯度的数值逼近-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授


←上一篇↓↑下一篇→
1.11 神经网络的权重初始化回到目录1.13 梯度检验

梯度的数值逼近 (Numerical Approximation of Gradients)

在实施backprop时,有一个测试叫做梯度检验,它的作用是确保backprop正确实施。因为有时候,你虽然写下了这些方程式,却不能100%确定,执行backprop的所有细节都是正确的。为了逐渐实现梯度检验,我们首先说说如何计算梯度的数值逼近,下节课,我们将讨论如何在backprop中执行梯度检验,以确保backprop正确实施。

在这里插入图片描述

我们先画出函数 f f f ,标记为 f ( θ ) f(\theta) f(θ) f ( θ ) = θ 3 f(\theta)=\theta^3 f(θ)=θ3 ,先看一下 θ \theta θ 的值,假设 θ = 1 \theta=1 θ=1 ,不增大 θ \theta θ 的值,而是在 θ \theta θ 右侧,设置一个 θ + ϵ \theta+\epsilon θ+ϵ ,在 θ \theta θ 左侧,设置 θ − ϵ \theta-\epsilon θϵ 。因此 θ = 1 \theta=1 θ=1 θ + ϵ = 1.01 \theta+\epsilon=1.01 θ+ϵ=1.01 , θ − ϵ = 0.99 \theta-\epsilon=0.99 θϵ=0.99 ,跟以前一样, ϵ \epsilon ϵ 的值为0.01,看下这个小三角形,计算高和宽的比值,就是更准确的梯度预估,选择 f f f 函数在 θ − ϵ \theta-\epsilon θϵ 上的这个点,用这个较大三角形的高比上宽,技术上的原因我就不详细解释了,较大三角形的高宽比值更接近于 θ \theta θ 的导数,把右上角的三角形下移,好像有了两个三角形,右上角有一个,左下角有一个,我们通过这个绿色大三角形同时考虑了这两个小三角形。所以我们得到的不是一个单边公差而是一个双边公差。

在这里插入图片描述

我们写一下数据算式,图中绿色三角形上边的点的值是 f ( θ + ϵ ) f(\theta+\epsilon) f(θ+ϵ) ,下边的点是 f ( θ − ϵ ) f(\theta-\epsilon) f(θϵ) ,这个三角形的高度是 f ( θ + ϵ ) − f ( θ − ϵ ) f(\theta+\epsilon)-f(\theta-\epsilon) f(θ+ϵ)f(θϵ) ,这两个宽度都是 ε ε ε ,所以三角形的宽度是 2 ϵ 2\epsilon 2ϵ ,高宽比值为 f ( θ + ϵ ) − f ( θ − ϵ ) 2 ϵ \frac{f(\theta+\epsilon)-f(\theta-\epsilon)}{2\epsilon} 2ϵf(θ+ϵ)f(θϵ) ,它的期望值接近 g ( θ ) g(\theta) g(θ) f ( θ ) = θ 3 f(\theta)=\theta^3 f(θ)=θ3 传入参数值, f ( θ + ϵ ) − f ( θ − ϵ ) 2 ϵ = ( 1.01 ) 3 − ( 0.99 ) 3 2 ∗ 0.01 \frac{f(\theta+\epsilon)-f(\theta-\epsilon)}{2\epsilon}=\frac{(1.01)^3-(0.99)^3}{2*0.01} 2ϵf(θ+ϵ)f(θϵ)=20.01(1.01)3(0.99)3 ,大家可以暂停视频,用计算器算算结果,结果应该是3.0001,而前面一张幻灯片上面是,当 θ = 1 \theta=1 θ=1 时, g ( θ ) = 3 θ 2 = 3 g(\theta)=3\theta^2=3 g(θ)=3θ2=3 ,所以这两个值非常接近,逼近误差为0.0001,前一张幻灯片,我们只考虑了单边公差,即从 θ \theta θ θ + ϵ \theta+\epsilon θ+ϵ 之间的误差, g ( θ ) g(\theta) g(θ) 的值为3.0301,逼近误差是0.03,不是0.0001,所以使用双边误差的方法更逼近导数,其结果接近于3,现在我们更加确信, g ( θ ) g(\theta) g(θ) 可能是 f f f 导数的正确实现,在梯度检验和反向传播中使用该方法时,最终,它与运行两次单边公差的速度一样,实际上,我认为这种方法还是非常值得使用的,因为它的结果更准确。

在这里插入图片描述

这是一些你可能比较熟悉的微积分的理论,如果你不太明白我讲的这些理论也没关系,导数的官方定义是针对值很小的 ϵ \epsilon ϵ ,导数的官方定义是 f ′ ( θ ) = f ( θ + ϵ ) − f ( θ − ϵ ) 2 ϵ f^\prime(\theta)=\frac{f(\theta+\epsilon)-f(\theta-\epsilon)}{2\epsilon} f(θ)=2ϵf(θ+ϵ)f(θϵ) ,如果你上过微积分课,应该学过无穷尽的定义,我就不在这里讲了。

对于一个非零的 ϵ \epsilon ϵ ,它的逼近误差可以写成 O ( ϵ 2 ) O(\epsilon^2) O(ϵ2) ε ε ε 值非常小,如果 ϵ = 0.01 \epsilon=0.01 ϵ=0.01 ϵ 2 = 0.0001 \epsilon^2=0.0001 ϵ2=0.0001 ,大写符号 O O O 的含义是指逼近误差其实是一些常量乘以 ϵ 2 \epsilon^2 ϵ2 ,但它的确是很准确的逼近误差,所以大写 O O O 的常量有时是1。然而,如果我们用另外一个公式逼近误差就是 O ( ϵ ) O(\epsilon) O(ϵ) ,当 ϵ \epsilon ϵ 小于1时,实际上 ϵ \epsilon ϵ ϵ 2 \epsilon^2 ϵ2 大很多,所以这个公式近似值远没有左边公式的准确,所以在执行梯度检验时,我们使用双边误差,即 f ( θ + ϵ ) − f ( θ − ϵ ) 2 ϵ \frac{f(\theta+\epsilon)-f(\theta-\epsilon)}{2\epsilon} 2ϵf(θ+ϵ)f(θϵ) ,而不使用单边公差,因为它不够准确。

在这里插入图片描述

如果你不理解上面两条结论,所有公式都在这儿,不用担心,如果你对微积分和数值逼近有所了解,这些信息已经足够多了,重点是要记住,双边误差公式的结果更准确,下节课我们做梯度检验时就会用到这个方法。

今天我们讲了如何使用双边误差来判断别人给你的函数 g ( θ ) g(\theta) g(θ) ,是否正确实现了函数 f f f 的偏导,现在我们可以使用这个方法来检验反向传播是否得以正确实施,如果不正确,它可能有bug需要你来解决。

课程PPT

在这里插入图片描述
在这里插入图片描述


←上一篇↓↑下一篇→
1.11 神经网络的权重初始化回到目录1.13 梯度检验

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
王仁宏老师的《数值逼近》word文档,第一章 Weierstrass定理与线性算子逼近 §1Weierstrass第一定理 §2Weierstrass第二定理 §3线性正算子与Korovkin定理 第一章习题第二章 一致逼近 §1Borel存在定理 §2最佳逼近定理 §3Tchebyshev最小零偏差多项式及其应用 §4最佳一致逼近的收敛速度估计 §5函数的构造性理论 §6代数多项式逼近理论中的有关结果 第二章习题第三章 多项式插值方法 §1Lagrange插值公式 §2Newton插值公式 §3插值余项 §4有限差分计算 §5等距结点上的插值公式 §6Hermite插值公式 §7多元多项式插值 第三章习题第四章 平方逼近 §1最小二乘法 §2空间L  §3直交函数系与广义Fourier级数 §4直交函数结构公式 §5直交多项式的一般性质 §6直交多项式级数的收敛性 §7几种特殊的直交多项式 §8多元直交多项式 第四章习题第五章 数值积分 §1数值积分的一般概念 §2Newton-Cotes公式 §3Romberg方法 §4Euler-Maclaurin公式 §5Gauss型求积公式 §6Gauss公式和Mehler公式 §7三角精度与周期函数的求积公式 §8奇异积分的计算 §9高维求积公式 第五章习题第六章 非线性逼近方法 §1非线性一致逼近 §2有理函数插值 §3Pade逼近方法 §4有理逼近的一些算法 §5Prony指数型函数逼近方法 第六章习题第七章 样条逼近方法 §1样条函数及其基本性质 §2B-样条及其性质 §3三次样条插值 §4多元样条 第七章习题第八章 曲线、曲面生成与逼近 §1简单的数据处理方法 §2累加弦长法 §3Bezier方法 §4B-样条方法 §5非均匀有理B-样条(NURBS)  第八章习题主要参考书目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhao-Jichao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值