news 2026/8/3 18:26:19

从数值微分到梯度下降:深度学习的基石

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从数值微分到梯度下降:深度学习的基石

从数值微分到梯度下降:深度学习的基石

在深度学习的世界里,梯度下降算法是训练神经网络的基石。而要理解梯度下降,首先要掌握数值微分这个关键概念。

导数:变化的瞬间捕捉

想象你正在跑马拉松,前10分钟跑了2千米。你的平均速度是0.2千米/分,但真正的速度是瞬间变化量,这就是导数的本质。

数学上,导数定义为:
df(x)dx=lim⁡h→0f(x+h)−f(x)h \frac{df(x)}{dx} = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}dxdf(x)=h0limhf(x+h)f(x)

数值微分的实现陷阱

初学者可能会这样实现:

# 不好的实现示例defnumerical_diff(f,x):h=10e-50return(f(x+h)-f(x))/h

这里有两个问题:

  1. 舍入误差:h太小会导致计算机精度问题
  2. 前向差分不准确:不是真正的切线斜率

改进方案:中心差分法

defnumerical_diff(f,x):h=1e-4# 0.0001,避免舍入误差return(f(x+h)-f(x-h))/(2*h)# 中心差分,更准确

图4-5展示了真导数(蓝色切线)与数值微分(红色近似线)的区别:

  • 前向差分:计算(x+h)和x之间的斜率
  • 中心差分:以x为中心,计算左右两侧的平均斜率,误差更小

实战示例:简单函数的数值微分

考虑二次函数:
y=0.01x2+0.1x y = 0.01x^2 + 0.1xy=0.01x2+0.1x

Python实现:

deffunction_1(x):return0.01*x**2+0.1*x# 计算在x=5处的数值微分print(numerical_diff(function_1,5))# 输出:0.1999999999990898

解析解为dydx=0.02x+0.1\frac{dy}{dx} = 0.02x + 0.1dxdy=0.02x+0.1,在x=5处真导数为0.2。我们的数值微分结果0.1999999999990898误差极小!

图4-7展示了用数值微分计算的切线:在x=5和x=10处,红色切线完美贴合蓝色曲线。

多变量函数:偏导数的挑战

当函数有多个变量时,如:
f(x0,x1)=x02+x12 f(x_0, x_1) = x_0^2 + x_1^2f(x0,x1)=x02+x12

我们需要计算偏导数:只对一个变量求导,其他变量视为常数。

计算x0=3,x1=4x_0=3, x_1=4x0=3,x1=4时关于x0x_0x0的偏导数:

# 固定x1=4,创建单变量函数deffunction_tmp1(x0):returnx0*x0+4.0**2.0print(numerical_diff(function_tmp1,3.0))# 输出:6.00000000000378

解析解 vs 数值解

  • 解析求导:基于数学公式推导,如ddxx2=2x\frac{d}{dx}x^2 = 2xdxdx2=2x
  • 数值微分:基于微小差分近似,有计算误差但通用性强

为什么这对深度学习重要?

  1. 神经网络训练:梯度下降需要计算损失函数对每个参数的偏导数
  2. 反向传播:核心是链式法则求导,数值微分可用于验证
  3. 无法解析求导时:某些复杂函数没有简单导数公式,数值微分是唯一选择

关键要点

  1. 数值微分用有限差分近似导数
  2. 中心差分比前向差分更准确
  3. 偏导数是多变量函数沿特定方向的变化率
  4. h的选择很关键:太小有舍入误差,太大近似不准确
  5. 数值微分是理解梯度的第一步,为优化算法奠定基础

掌握数值微分不仅帮助你理解数学原理,更是打开深度学习大门的钥匙。在下篇文章中,我们将探讨如何从数值微分扩展到梯度下降算法,敬请期待!


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 5:02:32

‌测试游戏可访问性:控制器适配策略

控制器适配的核心价值‌ 在当今游戏产业中,可访问性(Accessibility)已成为用户体验的基石,而控制器适配是其核心组成部分。作为软件测试从业者,我们的职责是确保游戏在各种输入设备上无缝运行,包括键盘、鼠…

作者头像 李华
网站建设 2026/7/30 8:20:19

AI日报 - 2026年01月13日

#本文由AI生成 🌐 一、【行业深度】 1. 🌟 Midjourney携手Spellbrush发布Niji 7,动漫生成迈入晶透画质时代 🔥 热点聚焦: 2026年1月9日,Midjourney与Spellbrush联合推出全新AI绘图模型Niji 7,专…

作者头像 李华
网站建设 2026/7/31 5:02:37

Nodejs和vue框架的大型超市购物商城前后台系统

文章目录Node.js与Vue框架的大型超市购物商城系统摘要--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!Node.js与Vue框架的大型超市购物商城系统摘要 该系统采用前后端分离架构,后端基于Node.js的Expres…

作者头像 李华