AI基石 | 微积分实战:梯度下降与链式法则 —— AI 是如何“知错能改”的?

【梯度下降|链式法则】卷积神经网络中的参数是如何传输和更新的? 【梯度下降|链式法则】学习笔记! 阅读详情

AI基石 | 微积分实战:梯度下降与链式法则 —— AI 是如何“知错能改”的?

前言

在之前的文章中,我们用矩阵构建了数据的结构,用概率处理了世界的噪声。但此时的 AI 模型更像是一个“静态的天才”——它也许结构精妙,但它不会学习。

如果你给它一张猫的图片,它猜是“狗”,它并不知道怎么修正这个错误。

今天我们要讲的微积分,特别是梯度下降 (Gradient Descent) 和 链式法则 (Chain Rule),就是 AI 的“反省机制”。它们告诉模型:“你错了,错在哪了,应该往哪个方向改,改多少。”

正是因为有了这套机制,ChatGPT 才能通过海量数据的训练,从胡言乱语进化到吟诗作对。


一、 场景引入:下山的盲人

想象你被蒙住双眼,放置在一座高山上(这座山代表“误差”,山顶误差最大,山谷误差最小)。你的目标是以最快的速度走到山谷底(让误差最小化)。

你看不见周围的地形,你该怎么办?

  1. 感知脚下:你会用脚试探周围 360 度的坡度。
  2. 寻找方向:你会感觉到某一个方向向下倾斜得最厉害。
  3. 迈出一步:你沿着这个最陡峭的下坡方向,迈出一小步。
  4. 重复:在新位置重复上述过程,直到你感觉脚下是平地(到达谷底)。

这个过程,在数学上就叫梯度下降。

  • 脚下的坡度:就是导数(Derivative)。
  • 下坡最陡的方向:就是梯度(Gradient)。
  • 迈出的步长:就是学习率(Learning Rate)。

二、 核心原理:让误差“指导”参数

在 AI 训练中,我们有一个衡量“错误程度”的指标,叫 损失函数 (Loss Function, JJJ)。

我们的目标是调整参数 www(权重),让 Loss 越小越好。

1. 导数:变化的指南针

微积分告诉我们,导数 f′(x)f'(x)f′(x) 代表了函数在某一点的变化率。

  • 如果导数是正的(坡度向上),说明 www 变大,Loss 也会变大 -> 所以我们要让 www 变小。
  • 如果导数是负的(坡度向下),说明 www 变大,Loss 会变小 -> 所以我们要让 www 变大。

2. 梯度下降公式

这就是那个让所有神经网络“动起来”的魔法公式:

wnew=wold−α⋅∂J∂ww_{new} = w_{old} - \alpha \cdot \frac{\partial J}{\partial w}wnew​=wold​−α⋅∂w∂J​

  • www:我们要训练的参数。
  • α\alphaα (Alpha):学习率,即下山时一步跨多大。步子太大容易跨过谷底(震荡),步子太小下山太慢。
  • ∂J∂w\frac{\partial J}{\partial w}∂w∂J​:梯度,即当前的坡度。

一句话总结:沿着梯度的反方向(下坡方向),更新你的参数。


三、 链式法则:责任的传递

现在的神经网络动辄几十层、上百亿个参数。当输出结果错了(比如把猫认成了狗),我们怎么知道是哪一层的哪一个参数出了问题?

这就需要 链式法则 (Chain Rule),也就是大名鼎鼎的 反向传播 (Backpropagation) 的数学基础。

🍌 直觉:传话游戏

假设有一个 3 人传话游戏:

A 告诉 B,B 告诉 C,C 喊出了结果。

如果 C 喊出的声音太大了(误差),是谁的锅?

  • C 会说:“是 B 跟我说的声音就很大,我只是放大了一点。” -> 我们可以算出 C 对误差的贡献。
  • B 会说:“是 A 跟我说的声音也很大…” -> 我们可以通过 C 的反馈,算出 B 的责任。
  • A 只能背锅。

⛓️ 数学公式

如果 y=f(u)y = f(u)y=f(u) 且 u=g(x)u = g(x)u=g(x),那么 yyy 对 xxx 的导数是:

dydx=dydu⋅dudx\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}dxdy​=dudy​⋅dxdu​
神经网络反向传播图图像

在神经网络中,误差信号就是这样一层一层向后传递的。

第 10 层的误差 →\rightarrow→ 算出第 9 层的梯度 →\rightarrow→ 算出第 8 层的梯度… →\rightarrow→ 直到更新第一层的参数。


四、 代码实战:手写梯度下降解线性回归

为了不让大家觉得微积分只是符号游戏,我们用 Python 徒手实现一个最简单的机器学习模型——线性回归。

我们要训练机器找出一组数据的规律 y=wx+by = wx + by=wx+b。

import numpy as np
import matplotlib.pyplot as plt

# 1. 准备数据 (模拟 y = 2x + 5 加上一些噪音)
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 5 + 2 * X + np.random.randn(100, 1) # 真实规律是 w=2, b=5

# 2. 初始化参数 (瞎猜)
w = np.random.randn(1) # 随机初始化权重
b = np.random.randn(1) # 随机初始化偏置
learning_rate = 0.1    # 学习率 (步长)
n_iterations = 1000    # 训练次数 (下山走多少步)

# 记录 Loss 变化用于画图
loss_history = []

# 3. 开始梯度下降 (训练过程)
for iteration in range(n_iterations):
    m = len(X)
    
    # 前向传播:计算预测值
    y_pred = w * X + b
    
    # 计算 Loss (均方误差 MSE):(预测 - 真实)^2
    loss = (1/m) * np.sum((y_pred - y)**2)
    loss_history.append(loss)
    
    # --- 微积分核心时刻 ---
    # 计算梯度 (偏导数)
    # 对 w 求导: 2/m * sum((y_pred - y) * x)
    gradient_w = (2/m) * np.sum((y_pred - y) * X)
    # 对 b 求导: 2/m * sum(y_pred - y)
    gradient_b = (2/m) * np.sum(y_pred - y)
    
    # 更新参数 (向梯度的反方向走)
    w = w - learning_rate * gradient_w
    b = b - learning_rate * gradient_b
    
    if iteration % 100 == 0:
        print(f"Step {iteration}: Loss={loss:.4f}, w={w[0]:.4f}, b={b[0]:.4f}")

# 4. 结果展示
print(f"\n训练结束!\n真实参数: w=2, b=5")
print(f"AI学到的: w={w[0]:.4f}, b={b[0]:.4f}")

# 可视化拟合效果
plt.scatter(X, y, color='blue', label='Data')
plt.plot(X, w*X + b, color='red', linewidth=3, label='AI Prediction')
plt.title('Gradient Descent in Action')
plt.legend()
plt.show()

拟合效果图

代码解读

  1. gradient_w 的计算:这里直接用到了微积分里的链式法则求导结果。
  2. w = w - lr \* grad:这行代码就是 AI “学习”的本质瞬间。每一次循环,参数都在向正确的方向微调。

五、 进阶思考:从山坡到高原

在实际的大模型训练中,梯度下降并没有这么简单,我们会遇到很多复杂的“地形”:

  1. 局部最优 (Local Minima):像一个小水坑。你以为到了谷底,其实旁边还有更深的山谷。
    • 解决:引入动量 (Momentum),像滚下的石头一样借着惯性冲出水坑。
  2. 梯度消失 (Vanishing Gradient):链式法则传得太远,误差信号变得极小,前面的层收不到信号,停止学习。
    • 解决:使用 ReLU 激活函数 或 Transformer 架构(残差连接)。
  3. 鞍点 (Saddle Point):前后看是平的,左右看是陡的,容易让 AI 迷失方向。

我们现在常用的优化器 Adam,就是给普通的梯度下降装上了“自适应变速箱”和“GPS”,让它能更聪明地走完这条下山路。


六、 结语:数学基础篇完结撒花

至此,我们的【AI 自学路线第一阶段:数学基础】正式完结!

  • 线性代数 让我们学会了如何把世界装进矩阵。
  • 概率统计 让我们学会了如何在不确定性中做判断。
  • 微积分 让我们掌握了通过梯度自我进化的钥匙。

这三座大山翻过去后,你已经具备了手撕神经网络的理论资格。

下一阶段预告

如果你觉得光看数学枯燥,那么好消息来了。

下一阶段我们将进入 Python 与工具链。我们将不再手算梯度,而是使用 PyTorch —— 这个 AI 界的“神笔马良”,用几行代码自动完成我们今天讲的所有微积分运算。

我们将亲手搭建你的第一个真正的神经网络,敬请期待!

人工智能神经网络bp算法及其数学演算过程 BP 算法 这是第一次尝试在csdn上写blog,主要因为我也是刚刚接触人工智能,所以各方面都在尝试中,所以想通过这种方式以讲代学,内有不足之处,希望各路大佬能够多多包涵。 预备知识 在开始之前,首先需要补充一点预备知识。 1. 激活函数sigmoid函数: sigmoid 函数是人工智能神经网络中最常使用的一类激活函数,其数学表达式为: ... 阅读详情

相关推荐

【人工智能数学基础—微积分】深入详解梯度与梯度下降:掌握梯度下降法及其变种及模型参数的优化

【人工智能数学基础—微积分】深入详解梯度与梯度下降:掌握梯度下降法及其变种及模型参数的优化

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 4837

深度学习_07_3_随机梯度下降_单输出&多输出感知机梯度&链式法则

07_3_随机梯度下降_单输出&多输出感知机梯度&链式法则 单输出感知机及其梯度 recap(回顾) 单层的感知机模型:每个输入节点xix_ixi​和它对应的wiw_iwi​节点相乘,加上bias得到预测值。图是数学模型。 Perception(感知) 单层感知机前面激活函数是不积函数(阶梯),不可导。目前使用sigmoid函数,用σ\sigmaσ表示。 规范化定义:输入层为第0层; x10x^0_{1}x10​,上标0表示第0层;这个1表示0~n,表示第0层一共有N个元素节点的第1个元素

小明2766的博客 629

深入理解EtherCAT状态机:从IGH代码看伺服电机如何从‘上电’到‘使能’

本文深入解析EtherCAT状态机的工作原理,重点探讨伺服电机从'上电'到'使能'的状态转换过程。通过分析状态字(Status Word)和控制字(Control Word)的交互机制,结合IGH代码实例,揭示DS402状态机的核心逻辑,帮助工程师解决60%以上的伺服控制问题,提升EtherCAT网络调试效率。

weixin_42549037的博客 289

前向传播、反向传播(后向传播)、梯度下降、导数、链式法则

日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 2.4 神经网络最优化过程 2.4.1 最优化(Optimization) 2.4.1.1 梯度下降算法过程(复习) 目的:使损失函数的值找到最小值 方式:梯度下降 函数的梯度(gradient)指出了函数的最陡增长方向。梯度的方向走,函...

あずにゃん梓喵的博客 5132

风控IV、AUC、KS python计算代码

df_temp:数据集,Y:是否逾期标签,feas_list:需要计算IV的 变量。2、 按月和不同Y 下的 IV计算。

暮雨听轩的专栏 1618

手把手教你用ROS2控制PX4无人机画个圆:从C++代码到Gazebo仿真全流程解析

本文详细解析了如何使用ROS2控制PX4无人机实现圆形轨迹飞行,涵盖从C++代码编写到Gazebo仿真的全流程。重点介绍了Offboard模式下的控制算法实现、圆形轨迹生成的数学原理,以及解决通信延迟和坐标系转换等常见问题的实用技巧。通过实战案例,帮助开发者快速掌握无人机轨迹跟踪仿真的核心技术。

weixin_30839881的博客 96

神经网络学习笔记——神经网络基础(一)

人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的 计算模型。

qq_52952281的博客 1046

MIMIC数据库基本信息分析

一、MIMIC数据库中26张表介绍 数据库中一共有26张表,记录患者入院的各种信息,每张表的介绍如下所示。 表格名 信息 admission 患者基本信息,比如性别、种族、语言、宗教、婚姻、入院和出院时间、死亡时间等 callout 提供病人准备从ICU转出或者已经从ICU转出时相关信息 caregivers 记录医护人员信息(ID、类型、附加...

m0_37520426的博客 1万+

深度学习(29)随机梯度下降七: 链式法则

深度学习(29)随机梯度下降七: 链式法则1. Derivative Rules2. Basic Rule3. Product Rule4. Quotient Rule5. Chain Rule 1. Derivative Rules 2. Basic Rule f+gf+gf+g y=x2+xy=x^2+xy=x2+x ∂y∂x=2x+1\frac{∂y}{∂x}=2x+1∂x∂y​=2x+1 f−gf-gf−g y=x2−3xy=x^2-3xy=x2−3x ∂y∂x=2x−3\frac{∂y}{∂x

weixin_43360025的博客 851

GB 47955—2026 L2组合驾驶辅助强制国标全解、合规方案与工程代码落地

GB 47955—2026 L2辅助驾驶国标合规工程代码# 运行环境:Python3.8+,适配车载仿真、台架测试、算法验证场景# 依赖安装:pip install numpy dataclasses tqdm struct time json# ===================== 国标强制时序参数(完全对标GB 47955—2026) =====================HAND_OFF_FIRST_WARN = 5.0 # 手部脱离5s触发一级预警。

lin_xiu的博客 302

LVGL core theme主题管理(lv_theme.c)

如果打开宏,主题的初始化是在显示设备注册时完成的。整个themes的实现放在目录下面。这里一共有三套主题(basic、default和mono)可供选择或者参考。源码中默认对接的是 default 主题,所以在中,看到的是调用default主题的接口。也就是说,如果需要更换主题,把这里面的接口换掉就可以了。或者要重新做一套主题,参考这些实现修改也就可以了。虽说有三套主题,但逻辑流程是一样的。主要完成两个工作:构造lv_theme_t结构体和初始化默认样多备用(style_init函数内实现)。构造。....

Bigan(安)的博客 3411

DL之BP: BP神经网络的简介、基础知识(优化目标/梯度下降/链式法则)、反向传播算法原理的各种可视化案例解读之详细攻略

​ DL之BP: BP神经网络的简介、基础知识(优化目标/梯度下降/链式法则)、反向传播算法原理的各种可视化案例解读之详细攻略 目录 BP神经网络的简介 BP神经网络的原理 BP神经网络的简介 深度学习(Deep Learning, DL)或阶层学习(hierarchical learning)是机器学习的技术和研究领域之一,通过建立具有阶层结构的人工神经网络(Artifitial Neural Networks, ANNs),在计算系

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 1万+

SAP Build Work Zone standard edition 订阅报错 OIDC trust missing 的成因与完整解决路径

摘要:用户订阅SAP Build Work Zone时遇到422错误,提示未配置OpenID Connect信任。该错误表明业务用户需通过SAP Cloud Identity Services的OIDC协议认证,而当前子账户仅配置了SAML信任或未配置信任。解决方法是进入子账户的Trust Configuration页面,使用Establish Trust功能建立与SAP Cloud Identity Services的OIDC信任关系。这是SAP新版服务的强制要求,SAML协议已不被支持。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 197

梯度下降与链式法则:AI学习的数学基础

微积分是现代人工智能的核心数学工具,其中梯度下降算法和链式法则构成了机器学习模型训练的基础框架。梯度下降通过迭代调整参数最小化损失函数,其本质是沿着函数梯度的反方向寻找最优解。链式法则则使神经网络能够高效计算每一层参数的梯度,实现误差的反向传播。这两个关键数学原理共同支撑了深度学习模型的训练过程,广泛应用于图像识别、自然语言处理等领域。在实际工程中,合理应用这些原理需要关注学习率调度、优化器选择等技巧,同时应对梯度消失、爆炸等挑战。理解这些基础数学工具,是掌握AI技术的关键一步。

weixin_29597551的博客 166

基于YOLO26深度学习框架的人脸识别门禁系统的算法研究实现方法

本文研究了基于YOLO26深度学习框架的人脸识别门禁系统实现方法。系统采用YOLO26目标检测算法,通过CSPDarknet53主干网络、特征金字塔结构和注意力机制实现高效人脸检测。研究内容包括数据预处理、模型训练优化和身份验证等关键技术,使用迁移学习策略和CIoU损失函数提升检测精度。该系统可应用于智能安防场景,具有实时性强、识别准确的特点,为门禁管理提供了智能化解决方案。

一键难忘的博客 766

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【机器学习】梯度下降法详解

一、导数 导数 就是曲线的斜率,是曲线变化快慢的一个反应。 二阶导数 是斜率变化的反应,表现曲线的 凹凸性 y=f(x)y = f(x)y=f(x) y′=f′(x)=dydx=lim⁡Δx→0ΔyΔx=lim⁡Δx→0f(x0+Δx)−f(x0)Δxy' = f'(x) = \frac{dy}{dx}=\lim_{\Delta x \rightarrow ...

Daycym的博客 1248

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

机器学习算法——梯度下降

//转载https://www.cnblogs.com/pinard/p/5970503.html 在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结。 梯度     在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如...

weixin_42417298的博客 447

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数学和微分角度理解梯度下降算法

梯度下降法(Gradient descent )是一个一阶最优化算法,通常也称为最陡下降法 ,要使用梯度下降法找到一个函数的局部极小值 ,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。 如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法 ,相反则称之为梯度下降法。

数据与算法架构提升之路专栏 1121

10亿参数的AI,只是个摸黑下山的盲人|微积分直觉

文章摘要 本文用直观的方式讲解微积分在AI训练中的核心作用。微积分是处理非均匀变化的数学工具,通过无限分割(微分)和累加(积分)解决复杂问题。AI模型训练本质上是寻找损失函数的最小值,而梯度下降法依赖导数、偏导数和梯度来调整参数。链式法则则实现了误差在网络中的高效反向传播。文章强调,微积分是目前AI训练唯一可行的实用方法,并展示了从理论到代码实现的完整逻辑。通过建立微积分直觉,读者能更深入理解神经网络如何通过“摸黑下山”的方式自我优化。

542

梯度下降法

一、为什么用梯度下降? 通过OLS(最小二乘法)得到:J(θ)=,而通过这个真的能够求得θ,但是不建议这么做,原因有二点: 第一:不确定是否可逆 第二:线性回归仅仅是一个特例,它可能会求得θ值。但是其他的损失函数就不一定。 二、什么是梯度下降、梯度上升? 梯度是多元微积分中的概念,就是值增长最快的方向。梯度为0时,可以认为是极值点,不在发生变化。 求极值时,有2个优化算法:梯度上升...

xiaogao2017的博客 441

跟着StatQuest学知识02-链式法则与梯度下降法

跟着StatQuest学知识-链式法则

m0_74803856的博客 570

链式法则——反向传播算法的数学基础

多元函数的复合函数求导一般比较复杂,特别注意复合函数中哪些是自变量,哪些是中间变量。只有这样才能正确使用链式法则求出结果。为了便于记忆链式法则,可以按照各变量间的复合关系,画成树状图。对于由多个函数复合而得的复合函数,其导数公式可反复应用上式而得。画分枝,并在每个分枝旁写上对应的偏导数。的所有可能路径,以及相应的偏导数。画两个分枝,然后再分别从中间变量。注1 复合函数的求导亦称为。)的偏导数,则复合函数。的求导公式一般也写作。

u013600306的博客 1393

关于感知机、链式法则and梯度下降

关于感知机,链式法则,梯度下降

onlywishes的博客 606

人工智能作业一

文章目录PyTorch 安装 PyTorch 安装 PyTorch可以在 https://pytorch.org/get-started/locally/ 网站进行安装。 由于CUDA 10.2不再支持Windows,所以要选择CUDA 11.3.我这里使用pip进行安装 复制Run this Command里的命令,打开cmd输入. 安装完毕后进行测试,发现已经安装成功! ...

qq_45834992的博客 2053

[数值计算-18]:最小二乘的求解法3 - 链式求导与梯度下降法求解loss函数的最优化参数(Python, 超详细、可视化)

链式求导与图梯度下降法

文火冰糖(王文兵)的博客 1513

梯度下降 Gradient Descent 详解、梯度消失和爆炸

1、什么是梯度 在微积分中,对多元函数的参数求∂偏导,把求得的各个参数的偏导数以向量形式写出来即为梯度。 例如对于函数f(x,y),分别对x,y求偏导,求得的梯度向量就是 (∂f/∂x, ∂f/∂y)^T,简称 grad f(x,y),或者▽f(x,y)。相对于的,在点(x_0,y_0)处的梯度就是 (∂f/∂x_0, ∂f/∂y_0)^T, 或者记做 ▽f(x_0,y_0)。 2、梯度的意义 ...

止鱼 6283
上一篇: AI基石 | 概率统计三剑客:从“神箭手”到“老侦探”,AI 如何看透不确定的世界?
下一篇: AI基石 | Python 基础篇:AI 工程师眼中的“方言” —— 从列表到张量的思维跃迁
ipython_harley
博客等级 码龄7年 8粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值