吴恩达深度学习2-Week1课后作业3-梯度检测

这篇博客介绍了在深度学习中如何使用梯度检测验证反向传播算法的正确性。作者通过一维线性函数示例解释了导数的概念,并在实践中发现初始代码的错误,修正后得到了正确结果。尽管梯度检测速度慢,但它是确保模型训练过程中梯度下降无误的重要工具,不应在dropout正则化后直接使用。
摘要由CSDN通过智能技术生成

一、Deeplearning-assignment

神经网络的反向传播很复杂,在某些时候需要对反向传播算法进行验证,以证明确实有效,这时我们引入了“梯度检测”。

反向传播需要计算梯度 , 其中θ表示模型的参数。J是使用前向传播和损失函数计算的。因为前向传播实现相对简单, 所以确信J的计算正确。现在让我们回头来看一下导数(或者梯度)的定义:

考虑一维线性函数 J(θ)=θx,该模型只包含一个实值参数θ, 并采取x作为输入。

你将实现代码去计算 J(.)和它的导数,然后你将使用“Gradient Checking”去确保你关于J的导数计算是正确的。

梯度检测原理:


二、相关算法代码

import numpy as np
from week1.testCases import gradient_check_n_test_case
from gc_utils import sigmoid, relu, dictionary_to_vector, vector_to_dictionary, gradients_to_vector


def forward_propagation(x, theta):
    """

    :param x: a real-valued input
    :param theta:our parameter, a real number as well
    :return:J -- the value of function J, computed using t
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值