理论结合实际:如何调试神经网络并检查梯度(二)

简介: 理论结合实际:如何调试神经网络并检查梯度(二)

双向导数

因此,如果您了解一些相关知识,则可以轻松推断出

image.png

其中g(θ)指梯度。

现在,通过插入刚刚讨论的示例的值,来检查上面编写的方程式的正确性。所以,我会得到以下的东西。

image.png

现在让我们计算它的实际导数。据我所知,f(θ)=θ³,通过简单的导数g(θ)= 3⋅θ²,而我们得到g(θ)=3。我们做了一个很好的近似,近似误差仅为0.0001。现在让我们看看如果使用传统方法会得到什么。如果用单边来计算,最终将得到3.0301,其近似误差为0.0301。因此,我们在这里做了出色的工作,大大降低了误差!

您刚刚看到双面导数的性能要比传统方法好得多。这给了您更大的信心,θ的g可能是f(θ)的导数的正确实现。这听起来真是太好了!这种方法也有一个缺点。事实证明,这种方法的运行时间是使用单侧方法的两倍。但是我认为在实践中使用此方法是值得的,因为它更加准确。

再深入一点

让我们回顾一下导数的形式定义。

image.png

这里要注意的重要一点是ϵ。对于non的非零值,您可以证明近似值的误差约为ϵ²。ϵ是一个很小的数字,趋向于0。因此,总而言之

error = O(ϵ²)

在此,O是指的顺序。

您可以通过简单的数学证明,如果使用单向导数,则误差将为ϵ或

error = O(ϵ)

ϵ当然是少于1的极小数,所以ϵ >> ϵ²。因此,现在您可能已经了解了为什么应该使用双面导数而不是单面导数,并且我们将看到这如何帮助我们进行梯度检查。

梯度检查

梯度检查是一种非常有用的技术,已帮助我轻松地进行调试并发现神经网络中的错误。现在,我们将演示如何使用这种出色的技术来调试或验证您的网络实现以及反向传播是否正确。这并不是什么新鲜事物,但让我们将单个神经元作为演示。

image.png

请记住,[x₁, x₂ ... x_n]是输入,对于每个参数,我们都参数(w¹, b¹) (w², b²) … (wⁿ, bⁿ)。因此,要实现梯度检查,您应该做的第一件事就是获取所有参数并将它们调整为巨大的矢量数据。因此,您要做的就是将所有这些w和b都进行调整,使其成为矢量。然后将所有这些向量连接成一个称为θ的巨型向量。所以现在我们可以像这样用θ来写成本函数J

image.png

因此,现在我们的J将只是θ的函数。

现在,用相同的方式对w和b进行排序,您还可以将dw¹ , db¹dwⁿ , dbⁿ连接起来,并将它们连接成一个大向量,我们将其称为与θ尺寸相同的dθ。我们将以类似的步骤进行操作,即将所有dw变为矢量,因为它们是矩阵,而b则已经是矢量,因此只需将它们串联即可。我觉得可能有帮助的一点是,w 1的尺寸与dw 1的尺寸相同,而b 1的尺寸与db 1的尺寸相同,依此类推。这也意味着您可以使用相同的大小和串联操作。因此,现在您可能会有一个问题,“dθ在这里是θ的斜率还是梯度?” 我们将在稍后讨论。

目录
相关文章
|
10月前
|
安全 前端开发 JavaScript
信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)
信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)
137 0
|
7天前
|
分布式计算 资源调度 监控
Hadoop节点网络硬件检查
【5月更文挑战第2天】
24 9
|
8天前
|
分布式计算 资源调度 安全
Hadoop节点检查网络交换机、路由器和网线
【5月更文挑战第1天】您可以对Hadoop节点中的网络交换机、路由器和网线进行全面的检查,确保这些设备正常运行并且网络连接稳定可靠。如果在检查过程中发现任何问题,应及时解决,以避免影响Hadoop集群的稳定性和性能。
27 6
|
14天前
|
存储 弹性计算 运维
网络连接检查
【4月更文挑战第30天】
15 0
|
16天前
|
运维 监控 Linux
【专栏】Linux中的ping命令不仅用于基础网络连通性检查,Linux 中这些高级 ping 命令可以提高工作效率!
【4月更文挑战第28天】Linux中的ping命令不仅用于基础网络连通性检查,还有许多高级功能。了解如`-c`(设置数据包数量)、`-i`(设置间隔时间)和`-w`(设置超时时间)等选项能提升效率。进阶技巧包括自定义数据包大小(`-s`)、详细统计信息(`-v`)、持续ping(`-t`)、指定源地址(`-S`)和多目标ping。这些在网络性能测试、故障排查和监控中极其有用。注意权限、参数选择,并结合其他工具以准确解读结果。提升网络管理技能,善用ping命令的全部潜力。
|
16天前
|
分布式计算 运维 Hadoop
Hadoop节点网络设备与交换机检查
【4月更文挑战第21天】
25 1
|
19天前
|
分布式计算 安全 Hadoop
|
27天前
|
机器学习/深度学习 数据可视化 API
Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
|
9月前
|
Android开发
Android 网络地址之实现检查主机名的功能
Android 网络地址之实现检查主机名的功能
54 0
|
10月前
|
Windows
idea Translation插件翻译失败。TKK: 更新 TKK 失败,请检查网络连接
idea Translation插件翻译失败。TKK: 更新 TKK 失败,请检查网络连接
238 0