《深度学习入门》全书总复习

《深度学习入门》全书总复习覆盖211个权威目录层级,以数学推导、数组实现、交互实验和失败对照重建核心。

为什么从可核查的中间量开始

、、、、、共同构成本页坐标。以一个可重放的MNIST小网络串联数组、感知机、前向、损失、数值梯度、反向传播、优化技巧、CNN和深层应用。

“从零实现”的价值不是拒绝成熟框架,而是让每个数学对象都对应一个可检查的数组,让每次forward、loss、backward和update都能解释。实验先冻结样本身份、输入与标签shape、参数初值、随机种子、数据折分、浮点精度和停止规则;运行前先预测第一处会改变的中间量,运行后立即与手算或枚举基线比较。

本页沿“冻结输入与折分 -> 核对逐层前向 -> 核对损失概率 -> 核对解析梯度 -> 核对优化状态 -> 独立重放全链”组织证据。最终准确率、损失曲线或漂亮图像都只是末端现象;若shape、概率归一、局部导数、梯度尺度或数据隔离在更早位置失败,末端结果不能采信。修复后清空前向缓存、梯度、优化器状态与派生特征,从原始输入完整重放。

数学骨架与shape合同

Z(l)=ϕ(W(l)Z(l1)+b(l))Z^{(l)}=\phi(W^{(l)}Z^{(l-1)}+b^{(l)}) L=1Nnlogpn,tnL=-\frac1N\sum_n\log p_{n,t_n} ϵgrad=ganalyticgnumericganalytic+gnumeric+1012\epsilon_{grad}=\frac{\|g_{analytic}-g_{numeric}\|}{\|g_{analytic}\|+\|g_{numeric}\|+10^{-12}} θt+1=Optimizer(θt,Lt,statet)\theta_{t+1}=\operatorname{Optimizer}(\theta_t,\nabla L_t,\text{state}_t)

方程实现前先声明标量、向量、矩阵或四维张量的轴语义,再核对有限值、归一化、导数符号和更新尺度。相同终点可能由错误广播、标签错位、批量分母或缓存污染偶然产生;所以验收以最早分叉为准,并保留更新前后的独立重算结果。

核心机制

  1. 第一道验收是表示:样本、特征、通道、高宽和类别轴有明确shape,广播和聚合只沿指定轴。输入从Python/NumPy进入网络前,dtype、范围、标签编码和数据折分已经冻结。
  2. 第二道验收是前向:感知机展示线性边界与多层组合,神经网络按Affine与非线性逐层传递,softmax沿类别归一。每层输出既要数值有限,也要与手算小例一致。
  3. 第三道验收是学习:交叉熵将概率变成标量目标,mini-batch近似总体损失,中心差分提供小规模梯度基线。参数更新前后分别重算损失,不能复用旧缓存制造下降。
  4. 第四道验收是反向:局部backward遵循链式法则,返回shape与输入一致;广播参数梯度累加,共享路径梯度求和。解析梯度只有通过数值检查后才具备训练资格。
  5. 第五道验收是训练与泛化:优化器状态、初始化、BatchNorm模式、Dropout掩码和正则项都可追踪。验证集选择超参数,测试集只在全部决定冻结后开启一次。
  6. 第六道验收是结构与应用:CNN输出尺寸、im2col重叠累加和池化argmax都可逆向核对;更深、GPU、分布式和低精度的收益在相同协议下比较,应用采用任务专属指标。
  7. 复习不以记住名词结束,而以定位首个分叉结束。若概率不归一,停止在softmax;若解析梯度偏离数值梯度,停止在局部层;若验证好测试差,检查过拟合、泄漏和分布偏移。
  8. 最终闭环从原始样本重放:预处理、forward、loss、backward、update、validation和test均保留输入输出摘要。只要某一步无法解释或复现,就回退到最近通过的合同,而不是继续扩大模型。

从原书路线定位本页

全书权威路线为:第1章 Python入门 -> 第2章 感知机 -> 第3章 神经网络 -> 第4章 神经网络的学习 -> 第5章 误差反向传播法 -> 第6章 与学习相关的技巧 -> 第7章 卷积神经网络 -> 第8章 深度学习 -> 附录A Softmax-with-Loss层的计算图。当前页面不是把主题任意重组,而是在这条依赖链上恢复原书位置。前置章节提供数组、表示和可微目标,后续章节使用这里的中间证据继续推导;跨章引用时必须写明复用的是数学定义、代码接口还是实验状态。

对照实验只改变一个变量:shape、偏置、激活、batch、学习率、初始化、网络深度或任务输出。保持输入、参数、随机状态和评价预算不变,先写出按方程应最先变化的量,再比较基线与边界模式。这样才能区分机制收益、实现错误和随机波动。

权威目录逐项讲解

第1章 Python入门

“Python入门”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“第1章 Python入门”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.1 Python是什么

环境层必须记录Python与NumPy版本、安装来源和随机状态。版本差异会改变默认dtype、API和依赖行为,因此可运行环境本身就是复现实验的一部分。

验收“1.1 Python是什么”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.2 Python的安装

环境层必须记录Python与NumPy版本、安装来源和随机状态。版本差异会改变默认dtype、API和依赖行为,因此可运行环境本身就是复现实验的一部分。

验收“1.2 Python的安装”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.2.1 Python版本

环境层必须记录Python与NumPy版本、安装来源和随机状态。版本差异会改变默认dtype、API和依赖行为,因此可运行环境本身就是复现实验的一部分。

验收“1.2.1 Python版本”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.2.2 使用的外部库

环境层必须记录Python与NumPy版本、安装来源和随机状态。版本差异会改变默认dtype、API和依赖行为,因此可运行环境本身就是复现实验的一部分。

验收“1.2.2 使用的外部库”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.2.3 Anaconda发行版

环境层必须记录Python与NumPy版本、安装来源和随机状态。版本差异会改变默认dtype、API和依赖行为,因此可运行环境本身就是复现实验的一部分。

验收“1.2.3 Anaconda发行版”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3 Python解释器

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3 Python解释器”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.1 算术计算

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.1 算术计算”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.2 数据类型

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.2 数据类型”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.3 变量

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.3 变量”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.4 列表

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.4 列表”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.5 字典

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.5 字典”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.6 布尔型

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.6 布尔型”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.7 if语句

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.7 if语句”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.8 for语句

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.8 for语句”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.3.9 函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.3.9 函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.4 Python脚本文件

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.4 Python脚本文件”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.4.1 保存为文件

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.4.1 保存为文件”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.4.2 类

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“1.4.2 类”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.5 NumPy

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“1.5 NumPy”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.5.1 导入NumPy

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“1.5.1 导入NumPy”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.5.2 生成NumPy数组

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“1.5.2 生成NumPy数组”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.5.3 NumPy的算术运算

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“1.5.3 NumPy的算术运算”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.5.4 NumPy的N维数组

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“1.5.4 NumPy的N维数组”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.5.5 广播

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“1.5.5 广播”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.5.6 访问元素

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“1.5.6 访问元素”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.6 Matplotlib

可视化用于暴露曲线、像素或特征图的结构,但必须与原始数值摘要并列;坐标轴、取值范围、归一化和样本身份都要可追踪。

验收“1.6 Matplotlib”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.6.1 绘制简单图形

可视化用于暴露曲线、像素或特征图的结构,但必须与原始数值摘要并列;坐标轴、取值范围、归一化和样本身份都要可追踪。

验收“1.6.1 绘制简单图形”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.6.2 pyplot的功能

“pyplot的功能”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“1.6.2 pyplot的功能”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.6.3 显示图像

可视化用于暴露曲线、像素或特征图的结构,但必须与原始数值摘要并列;坐标轴、取值范围、归一化和样本身份都要可追踪。

验收“1.6.3 显示图像”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

1.7 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“1.7 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

第2章 感知机

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“第2章 感知机”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.1 感知机是什么

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“2.1 感知机是什么”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.2 简单逻辑电路

逐个代入四个二值输入,保存加权和、边界余量和阈值输出;XOR需要由多个线性区域组合,不能由单个超平面表示。

验收“2.2 简单逻辑电路”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.2.1 与门

逐个代入四个二值输入,保存加权和、边界余量和阈值输出;XOR需要由多个线性区域组合,不能由单个超平面表示。

验收“2.2.1 与门”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.2.2 与非门和或门

逐个代入四个二值输入,保存加权和、边界余量和阈值输出;XOR需要由多个线性区域组合,不能由单个超平面表示。

验收“2.2.2 与非门和或门”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.3 感知机的实现

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“2.3 感知机的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.3.1 简单的实现

“简单的实现”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“2.3.1 简单的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.3.2 导入权重和偏置

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“2.3.2 导入权重和偏置”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.3.3 使用权重和偏置的实现

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“2.3.3 使用权重和偏置的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.4 感知机的局限性

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“2.4 感知机的局限性”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.4.1 异或门

逐个代入四个二值输入,保存加权和、边界余量和阈值输出;XOR需要由多个线性区域组合,不能由单个超平面表示。

验收“2.4.1 异或门”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.4.2 线性和非线性

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“2.4.2 线性和非线性”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.5 多层感知机

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“2.5 多层感知机”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.5.1 已有门电路的组合

“已有门电路的组合”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“2.5.1 已有门电路的组合”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.5.2 异或门的实现

逐个代入四个二值输入,保存加权和、边界余量和阈值输出;XOR需要由多个线性区域组合,不能由单个超平面表示。

验收“2.5.2 异或门的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.6 从与非门到计算机

逐个代入四个二值输入,保存加权和、边界余量和阈值输出;XOR需要由多个线性区域组合,不能由单个超平面表示。

验收“2.6 从与非门到计算机”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

2.7 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“2.7 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

第3章 神经网络

“神经网络”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“第3章 神经网络”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.1 从感知机到神经网络

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“3.1 从感知机到神经网络”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.1.1 神经网络的例子

按Affine与激活顺序记录逐层shape和数值范围;分类输出沿类别轴做稳定softmax,回归输出保留恒等映射,二者不能混用目标语义。

验收“3.1.1 神经网络的例子”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.1.2 复习感知机

把模型写成加权和加偏置再过阶跃函数,利用二维决策边界解释表示能力;多层组合重新编码输入,使线性不可分关系可被分段边界表达。

验收“3.1.2 复习感知机”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.1.3 激活函数登场

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.1.3 激活函数登场”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2 激活函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2 激活函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2.1 sigmoid函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2.1 sigmoid函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2.2 阶跃函数的实现

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2.2 阶跃函数的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2.3 阶跃函数的图形

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2.3 阶跃函数的图形”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2.4 sigmoid函数的实现

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2.4 sigmoid函数的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2.5 sigmoid函数和阶跃函数的比较

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2.5 sigmoid函数和阶跃函数的比较”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2.6 非线性函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2.6 非线性函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.2.7 ReLU函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.2.7 ReLU函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.3 多维数组的运算

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“3.3 多维数组的运算”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.3.1 多维数组

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“3.3.1 多维数组”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.3.2 矩阵乘法

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“3.3.2 矩阵乘法”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.3.3 神经网络的内积

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“3.3.3 神经网络的内积”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.4 3层神经网络的实现

按Affine与激活顺序记录逐层shape和数值范围;分类输出沿类别轴做稳定softmax,回归输出保留恒等映射,二者不能混用目标语义。

验收“3.4 3层神经网络的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.4.1 符号确认

“符号确认”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“3.4.1 符号确认”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.4.2 各层间信号传递的实现

按Affine与激活顺序记录逐层shape和数值范围;分类输出沿类别轴做稳定softmax,回归输出保留恒等映射,二者不能混用目标语义。

验收“3.4.2 各层间信号传递的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.4.3 代码实现小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“3.4.3 代码实现小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.5 输出层的设计

按Affine与激活顺序记录逐层shape和数值范围;分类输出沿类别轴做稳定softmax,回归输出保留恒等映射,二者不能混用目标语义。

验收“3.5 输出层的设计”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.5.1 恒等函数和softmax函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.5.1 恒等函数和softmax函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.5.2 实现softmax函数时的注意事项

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.5.2 实现softmax函数时的注意事项”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.5.3 softmax函数的特征

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“3.5.3 softmax函数的特征”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.5.4 输出层的神经元数量

按Affine与激活顺序记录逐层shape和数值范围;分类输出沿类别轴做稳定softmax,回归输出保留恒等映射,二者不能混用目标语义。

验收“3.5.4 输出层的神经元数量”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.6 手写数字识别

将图像样本冻结为明确输入shape和像素范围,逐样本与批量推理对照;类别由logit最大值确定,概率归一与预测索引都逐行核对。

验收“3.6 手写数字识别”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.6.1 MNIST数据集

将图像样本冻结为明确输入shape和像素范围,逐样本与批量推理对照;类别由logit最大值确定,概率归一与预测索引都逐行核对。

验收“3.6.1 MNIST数据集”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.6.2 神经网络的推理处理

将图像样本冻结为明确输入shape和像素范围,逐样本与批量推理对照;类别由logit最大值确定,概率归一与预测索引都逐行核对。

验收“3.6.2 神经网络的推理处理”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.6.3 批处理

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“3.6.3 批处理”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

3.7 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“3.7 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

第4章 神经网络的学习

“神经网络的学习”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“第4章 神经网络的学习”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.1 从数据中学习

训练数据产生参数和所有数据依赖决策,测试数据只估计冻结模型的泛化;预处理、停止规则或阈值若读取测试信息,就构成泄漏。

验收“4.1 从数据中学习”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.1.1 数据驱动

训练数据产生参数和所有数据依赖决策,测试数据只估计冻结模型的泛化;预处理、停止规则或阈值若读取测试信息,就构成泄漏。

验收“4.1.1 数据驱动”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.1.2 训练数据和测试数据

训练数据产生参数和所有数据依赖决策,测试数据只估计冻结模型的泛化;预处理、停止规则或阈值若读取测试信息,就构成泄漏。

验收“4.1.2 训练数据和测试数据”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.2 损失函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“4.2 损失函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.2.1 均方误差

把预测质量变成连续标量目标,并明确按样本求和还是平均。损失提供参数变化方向,离散准确率只能作为评价,不能替代可微目标。

验收“4.2.1 均方误差”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.2.2 交叉熵误差

把预测质量变成连续标量目标,并明确按样本求和还是平均。损失提供参数变化方向,离散准确率只能作为评价,不能替代可微目标。

验收“4.2.2 交叉熵误差”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.2.3 mini-batch学习

保存抽样索引、批量大小和归一化分母,用小批量梯度近似全数据梯度;标签表示和类别轴必须显式,避免同一公式在索引标签与one-hot标签间错用。

验收“4.2.3 mini-batch学习”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.2.4 mini-batch版交叉熵误差的实现

把预测质量变成连续标量目标,并明确按样本求和还是平均。损失提供参数变化方向,离散准确率只能作为评价,不能替代可微目标。

验收“4.2.4 mini-batch版交叉熵误差的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.2.5 为何要设定损失函数

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“4.2.5 为何要设定损失函数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.3 数值微分

用中心差分建立小规模真值,逐坐标恢复参数原值;负梯度给出局部下降方向,学习率决定步长,更新后必须重新forward计算新损失。

验收“4.3 数值微分”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.3.1 导数

用中心差分建立小规模真值,逐坐标恢复参数原值;负梯度给出局部下降方向,学习率决定步长,更新后必须重新forward计算新损失。

验收“4.3.1 导数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.3.2 数值微分的例子

用中心差分建立小规模真值,逐坐标恢复参数原值;负梯度给出局部下降方向,学习率决定步长,更新后必须重新forward计算新损失。

验收“4.3.2 数值微分的例子”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.3.3 偏导数

用中心差分建立小规模真值,逐坐标恢复参数原值;负梯度给出局部下降方向,学习率决定步长,更新后必须重新forward计算新损失。

验收“4.3.3 偏导数”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.4 梯度

用中心差分建立小规模真值,逐坐标恢复参数原值;负梯度给出局部下降方向,学习率决定步长,更新后必须重新forward计算新损失。

验收“4.4 梯度”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.4.1 梯度法

用中心差分建立小规模真值,逐坐标恢复参数原值;负梯度给出局部下降方向,学习率决定步长,更新后必须重新forward计算新损失。

验收“4.4.1 梯度法”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.4.2 神经网络的梯度

用中心差分建立小规模真值,逐坐标恢复参数原值;负梯度给出局部下降方向,学习率决定步长,更新后必须重新forward计算新损失。

验收“4.4.2 神经网络的梯度”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.5 学习算法的实现

把predict、loss、gradient与accuracy组织成一致接口,训练循环只使用训练批次更新;评价阶段切换为只读并保留独立预测。

验收“4.5 学习算法的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.5.1 2层神经网络的类

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“4.5.1 2层神经网络的类”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.5.2 mini-batch的实现

保存抽样索引、批量大小和归一化分母,用小批量梯度近似全数据梯度;标签表示和类别轴必须显式,避免同一公式在索引标签与one-hot标签间错用。

验收“4.5.2 mini-batch的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.5.3 基于测试数据的评价

训练数据产生参数和所有数据依赖决策,测试数据只估计冻结模型的泛化;预处理、停止规则或阈值若读取测试信息,就构成泄漏。

验收“4.5.3 基于测试数据的评价”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

4.6 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“4.6 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

第5章 误差反向传播法

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“第5章 误差反向传播法”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.1 计算图

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.1 计算图”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.1.1 用计算图求解

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.1.1 用计算图求解”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.1.2 局部计算

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.1.2 局部计算”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.1.3 为何用计算图解题

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.1.3 为何用计算图解题”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.2 链式法则

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.2 链式法则”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.2.1 计算图的反向传播

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.2.1 计算图的反向传播”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.2.2 什么是链式法则

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.2.2 什么是链式法则”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.2.3 链式法则和计算图

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.2.3 链式法则和计算图”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.3 反向传播

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.3 反向传播”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.3.1 加法节点的反向传播

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.3.1 加法节点的反向传播”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.3.2 乘法节点的反向传播

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.3.2 乘法节点的反向传播”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.3.3 苹果的例子

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.3.3 苹果的例子”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.4 简单层的实现

“简单层的实现”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“5.4 简单层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.4.1 乘法层的实现

层的forward保存反向所需输入,backward返回与原输入同shape的梯度;加法复制上游梯度,乘法交换另一个前向因子。

验收“5.4.1 乘法层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.4.2 加法层的实现

层的forward保存反向所需输入,backward返回与原输入同shape的梯度;加法复制上游梯度,乘法交换另一个前向因子。

验收“5.4.2 加法层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.5 激活函数层的实现

这一单元建立从交互验证到可复现脚本的编程基础:明确对象类型、控制流、函数输入输出与类状态,并把一次性试算保存为可重复执行的最小程序。

验收“5.5 激活函数层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.5.1 ReLU层

比较函数值、导数与饱和区:非线性阻止多层矩阵坍缩,导数决定梯度能否穿过该层;实现同时检查极端输入的有限性。

验收“5.5.1 ReLU层”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.5.2 Sigmoid层

把每种运算封装为成对forward/backward,参数梯度单独保存;解析结果与中心差分逐元素比较,通过后再接入完整学习循环。

验收“5.5.2 Sigmoid层”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.6 Affine/Softmax层的实现

把每种运算封装为成对forward/backward,参数梯度单独保存;解析结果与中心差分逐元素比较,通过后再接入完整学习循环。

验收“5.6 Affine/Softmax层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.6.1 Affine层

把每种运算封装为成对forward/backward,参数梯度单独保存;解析结果与中心差分逐元素比较,通过后再接入完整学习循环。

验收“5.6.1 Affine层”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.6.2 批版本的Affine层

把每种运算封装为成对forward/backward,参数梯度单独保存;解析结果与中心差分逐元素比较,通过后再接入完整学习循环。

验收“5.6.2 批版本的Affine层”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.6.3 Softmax-with-Loss层

把每种运算封装为成对forward/backward,参数梯度单独保存;解析结果与中心差分逐元素比较,通过后再接入完整学习循环。

验收“5.6.3 Softmax-with-Loss层”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.7 误差反向传播法的实现

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.7 误差反向传播法的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.7.1 神经网络学习的全貌图

把每种运算封装为成对forward/backward,参数梯度单独保存;解析结果与中心差分逐元素比较,通过后再接入完整学习循环。

验收“5.7.1 神经网络学习的全貌图”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.7.2 对应误差反向传播法的神经网络的实现

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.7.2 对应误差反向传播法的神经网络的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.7.3 误差反向传播法的梯度确认

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.7.3 误差反向传播法的梯度确认”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.7.4 使用误差反向传播法的学习

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“5.7.4 使用误差反向传播法的学习”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

5.8 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“5.8 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

第6章 与学习相关的技巧

“与学习相关的技巧”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“第6章 与学习相关的技巧”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1 参数的更新

固定初值、批次顺序和更新次数,比较参数轨迹、损失与状态变量;优化器差异来自梯度历史的使用方式,不能用不同预算制造优劣。

验收“6.1 参数的更新”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.1 探险家的故事

“探险家的故事”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“6.1.1 探险家的故事”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.2 SGD

固定初值、批次顺序和更新次数,比较参数轨迹、损失与状态变量;优化器差异来自梯度历史的使用方式,不能用不同预算制造优劣。

验收“6.1.2 SGD”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.3 SGD的缺点

固定初值、批次顺序和更新次数,比较参数轨迹、损失与状态变量;优化器差异来自梯度历史的使用方式,不能用不同预算制造优劣。

验收“6.1.3 SGD的缺点”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.4 Momentum

固定初值、批次顺序和更新次数,比较参数轨迹、损失与状态变量;优化器差异来自梯度历史的使用方式,不能用不同预算制造优劣。

验收“6.1.4 Momentum”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.5 AdaGrad

固定初值、批次顺序和更新次数,比较参数轨迹、损失与状态变量;优化器差异来自梯度历史的使用方式,不能用不同预算制造优劣。

验收“6.1.5 AdaGrad”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.6 Adam

固定初值、批次顺序和更新次数,比较参数轨迹、损失与状态变量;优化器差异来自梯度历史的使用方式,不能用不同预算制造优劣。

验收“6.1.6 Adam”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.7 使用哪种更新方法

固定初值、批次顺序和更新次数,比较参数轨迹、损失与状态变量;优化器差异来自梯度历史的使用方式,不能用不同预算制造优劣。

验收“6.1.7 使用哪种更新方法”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.1.8 基于MNIST数据集的更新方法比较

将图像样本冻结为明确输入shape和像素范围,逐样本与批量推理对照;类别由logit最大值确定,概率归一与预测索引都逐行核对。

验收“6.1.8 基于MNIST数据集的更新方法比较”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.2 权重的初始值

初始化既要打破同层对称,又要让层间方差稳定。通过多层激活均值、方差、饱和率和非零率判断信号是否消失或爆炸。

验收“6.2 权重的初始值”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.2.1 可以将权重初始值设为0吗

“可以将权重初始值设为0吗”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“6.2.1 可以将权重初始值设为0吗”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.2.2 隐藏层激活值的分布

初始化既要打破同层对称,又要让层间方差稳定。通过多层激活均值、方差、饱和率和非零率判断信号是否消失或爆炸。

验收“6.2.2 隐藏层激活值的分布”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.2.3 ReLU的权重初始值

比较函数值、导数与饱和区:非线性阻止多层矩阵坍缩,导数决定梯度能否穿过该层;实现同时检查极端输入的有限性。

验收“6.2.3 ReLU的权重初始值”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.2.4 基于MNIST数据集的权重初始值比较

将图像样本冻结为明确输入shape和像素范围,逐样本与批量推理对照;类别由logit最大值确定,概率归一与预测索引都逐行核对。

验收“6.2.4 基于MNIST数据集的权重初始值比较”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.3 Batch Normalization

训练时使用当前批均值方差并更新移动统计,推理时使用冻结统计;gamma和beta恢复可学习尺度,模式切换必须显式。

验收“6.3 Batch Normalization”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.3.1 Batch Normalization的算法

训练时使用当前批均值方差并更新移动统计,推理时使用冻结统计;gamma和beta恢复可学习尺度,模式切换必须显式。

验收“6.3.1 Batch Normalization的算法”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.3.2 Batch Normalization的评估

训练时使用当前批均值方差并更新移动统计,推理时使用冻结统计;gamma和beta恢复可学习尺度,模式切换必须显式。

验收“6.3.2 Batch Normalization的评估”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.4 正则化

比较训练与验证差距,并分别追踪权重范数或随机掩码。正则机制只读训练数据,Dropout在推理时关闭,不能让测试信息决定强度。

验收“6.4 正则化”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.4.1 过拟合

比较训练与验证差距,并分别追踪权重范数或随机掩码。正则机制只读训练数据,Dropout在推理时关闭,不能让测试信息决定强度。

验收“6.4.1 过拟合”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.4.2 权值衰减

比较训练与验证差距,并分别追踪权重范数或随机掩码。正则机制只读训练数据,Dropout在推理时关闭,不能让测试信息决定强度。

验收“6.4.2 权值衰减”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.4.3 Dropout

比较训练与验证差距,并分别追踪权重范数或随机掩码。正则机制只读训练数据,Dropout在推理时关闭,不能让测试信息决定强度。

验收“6.4.3 Dropout”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.5 超参数的验证

用验证集选择学习率、正则强度、网络宽度与停止轮次,保留所有候选;测试集直到选择冻结后只开启一次。

验收“6.5 超参数的验证”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.5.1 验证数据

用验证集选择学习率、正则强度、网络宽度与停止轮次,保留所有候选;测试集直到选择冻结后只开启一次。

验收“6.5.1 验证数据”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.5.2 超参数的最优化

用验证集选择学习率、正则强度、网络宽度与停止轮次,保留所有候选;测试集直到选择冻结后只开启一次。

验收“6.5.2 超参数的最优化”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.5.3 超参数最优化的实现

用验证集选择学习率、正则强度、网络宽度与停止轮次,保留所有候选;测试集直到选择冻结后只开启一次。

验收“6.5.3 超参数最优化的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

6.6 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“6.6 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

第7章 卷积神经网络

“卷积神经网络”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“第7章 卷积神经网络”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.1 整体结构

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.1 整体结构”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2 卷积层

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.2 卷积层”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2.1 全连接层存在的问题

“全连接层存在的问题”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“7.2.1 全连接层存在的问题”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2.2 卷积运算

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.2.2 卷积运算”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2.3 填充

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.2.3 填充”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2.4 步幅

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.2.4 步幅”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2.5 3维数据的卷积运算

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.2.5 3维数据的卷积运算”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2.6 结合方块思考

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.2.6 结合方块思考”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.2.7 批处理

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“7.2.7 批处理”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.3 池化层

前向在局部窗口保存最大值位置,反向只把梯度送回argmax;空间缩小与位移鲁棒性要和信息损失一起评价。

验收“7.3 池化层”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.3.1 池化层的特征

前向在局部窗口保存最大值位置,反向只把梯度送回argmax;空间缩小与位移鲁棒性要和信息损失一起评价。

验收“7.3.1 池化层的特征”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.4 卷积层和池化层的实现

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.4 卷积层和池化层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.4.1 4维数组

先写出每个数组的shape、dtype和轴语义,再执行索引、广播或矩阵运算;结果不仅核对数值,还核对样本轴、特征轴、通道轴是否保持预期。

验收“7.4.1 4维数组”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.4.2 基于im2col的展开

将滑动窗口展开成行并用矩阵乘法计算卷积;反向col2im把重叠窗口贡献累加回原像素,不能当成普通reshape。

验收“7.4.2 基于im2col的展开”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.4.3 卷积层的实现

按NCHW与滤波器shape计算窗口覆盖和输出尺寸;局部连接保留空间结构,权重共享让同一模式可在不同位置响应。

验收“7.4.3 卷积层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.4.4 池化层的实现

前向在局部窗口保存最大值位置,反向只把梯度送回argmax;空间缩小与位移鲁棒性要和信息损失一起评价。

验收“7.4.4 池化层的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.5 CNN的实现

将滑动窗口展开成行并用矩阵乘法计算卷积;反向col2im把重叠窗口贡献累加回原像素,不能当成普通reshape。

验收“7.5 CNN的实现”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.6 CNN的可视化

可视化用于暴露曲线、像素或特征图的结构,但必须与原始数值摘要并列;坐标轴、取值范围、归一化和样本身份都要可追踪。

验收“7.6 CNN的可视化”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.6.1 第1层权重的可视化

可视化用于暴露曲线、像素或特征图的结构,但必须与原始数值摘要并列;坐标轴、取值范围、归一化和样本身份都要可追踪。

验收“7.6.1 第1层权重的可视化”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.6.2 基于分层结构的信息提取

从第一层边缘滤波器到深层组合特征逐级观察表示;比较架构时同时固定数据、增强、训练预算与评价指标。

验收“7.6.2 基于分层结构的信息提取”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.7 具有代表性的CNN

从第一层边缘滤波器到深层组合特征逐级观察表示;比较架构时同时固定数据、增强、训练预算与评价指标。

验收“7.7 具有代表性的CNN”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.7.1 LeNet

从第一层边缘滤波器到深层组合特征逐级观察表示;比较架构时同时固定数据、增强、训练预算与评价指标。

验收“7.7.1 LeNet”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.7.2 AlexNet

从第一层边缘滤波器到深层组合特征逐级观察表示;比较架构时同时固定数据、增强、训练预算与评价指标。

验收“7.7.2 AlexNet”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

7.8 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“7.8 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

第8章 深度学习

“深度学习”放回本章主线分析其输入、数学变换、输出和边界。复现时保存关键中间量,并用最小样本验证“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”。

验收“第8章 深度学习”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.1 加深网络

深层组合扩大有效感受野和函数复用能力,同时增加优化路径;必须用同协议消融层数、参数量和训练预算,才能归因深度收益。

验收“8.1 加深网络”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.1.1 向更深的网络出发

深层组合扩大有效感受野和函数复用能力,同时增加优化路径;必须用同协议消融层数、参数量和训练预算,才能归因深度收益。

验收“8.1.1 向更深的网络出发”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.1.2 进一步提高识别精度

深层组合扩大有效感受野和函数复用能力,同时增加优化路径;必须用同协议消融层数、参数量和训练预算,才能归因深度收益。

验收“8.1.2 进一步提高识别精度”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.1.3 加深层的动机

深层组合扩大有效感受野和函数复用能力,同时增加优化路径;必须用同协议消融层数、参数量和训练预算,才能归因深度收益。

验收“8.1.3 加深层的动机”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.2 深度学习的小历史

这些节点体现大数据、重复小卷积、多分支和残差捷径的架构演进;重点比较信息路径和优化条件,而非只记网络名称。

验收“8.2 深度学习的小历史”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.2.1 ImageNet

这些节点体现大数据、重复小卷积、多分支和残差捷径的架构演进;重点比较信息路径和优化条件,而非只记网络名称。

验收“8.2.1 ImageNet”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.2.2 VGG

这些节点体现大数据、重复小卷积、多分支和残差捷径的架构演进;重点比较信息路径和优化条件,而非只记网络名称。

验收“8.2.2 VGG”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.2.3 GoogLeNet

从第一层边缘滤波器到深层组合特征逐级观察表示;比较架构时同时固定数据、增强、训练预算与评价指标。

验收“8.2.3 GoogLeNet”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.2.4 ResNet

这些节点体现大数据、重复小卷积、多分支和残差捷径的架构演进;重点比较信息路径和优化条件,而非只记网络名称。

验收“8.2.4 ResNet”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.3 深度学习的高速化

把总时间拆成计算、内存、通信和同步,低精度还要检查数值范围。吞吐提高只有在目标与评价保持一致时才是有效加速。

验收“8.3 深度学习的高速化”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.3.1 需要努力解决的问题

把总时间拆成计算、内存、通信和同步,低精度还要检查数值范围。吞吐提高只有在目标与评价保持一致时才是有效加速。

验收“8.3.1 需要努力解决的问题”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.3.2 基于GPU的高速化

把总时间拆成计算、内存、通信和同步,低精度还要检查数值范围。吞吐提高只有在目标与评价保持一致时才是有效加速。

验收“8.3.2 基于GPU的高速化”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.3.3 分布式学习

把总时间拆成计算、内存、通信和同步,低精度还要检查数值范围。吞吐提高只有在目标与评价保持一致时才是有效加速。

验收“8.3.3 分布式学习”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.3.4 运算精度的位数缩减

把总时间拆成计算、内存、通信和同步,低精度还要检查数值范围。吞吐提高只有在目标与评价保持一致时才是有效加速。

验收“8.3.4 运算精度的位数缩减”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.4 深度学习的应用案例

先定义输出结构,再选择任务指标:检测包含类别与框,分割输出像素标签,标题生成输出序列;分类准确率不能替代这些评价。

验收“8.4 深度学习的应用案例”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.4.1 物体检测

先定义输出结构,再选择任务指标:检测包含类别与框,分割输出像素标签,标题生成输出序列;分类准确率不能替代这些评价。

验收“8.4.1 物体检测”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.4.2 图像分割

先定义输出结构,再选择任务指标:检测包含类别与框,分割输出像素标签,标题生成输出序列;分类准确率不能替代这些评价。

验收“8.4.2 图像分割”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.4.3 图像标题的生成

先定义输出结构,再选择任务指标:检测包含类别与框,分割输出像素标签,标题生成输出序列;分类准确率不能替代这些评价。

验收“8.4.3 图像标题的生成”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.5 深度学习的未来

应用需说明训练信号、推理输出、独立指标和高代价失败。生成质量、驾驶安全与累积奖励都有超出分类精度的边界条件。

验收“8.5 深度学习的未来”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.5.1 图像风格变换

应用需说明训练信号、推理输出、独立指标和高代价失败。生成质量、驾驶安全与累积奖励都有超出分类精度的边界条件。

验收“8.5.1 图像风格变换”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.5.2 图像的生成

应用需说明训练信号、推理输出、独立指标和高代价失败。生成质量、驾驶安全与累积奖励都有超出分类精度的边界条件。

验收“8.5.2 图像的生成”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.5.3 自动驾驶

应用需说明训练信号、推理输出、独立指标和高代价失败。生成质量、驾驶安全与累积奖励都有超出分类精度的边界条件。

验收“8.5.3 自动驾驶”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.5.4 Deep Q-Network(强化学习)

应用需说明训练信号、推理输出、独立指标和高代价失败。生成质量、驾驶安全与累积奖励都有超出分类精度的边界条件。

验收“8.5.4 Deep Q-Network(强化学习)”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

8.6 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“8.6 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

附录A Softmax-with-Loss层的计算图

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“附录A Softmax-with-Loss层的计算图”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

A.1 正向传播

逐节点保存稳定化logit、指数、归一分母、概率与交叉熵;反向结果应为预测分布减目标分布,并通过梯度和为0与中心差分双重核对。

验收“A.1 正向传播”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

A.2 反向传播

前向缓存局部输入,反向接收上游梯度并乘局部导数;分叉路径的贡献在变量处相加,使复杂复合函数可由简单节点重放。

验收“A.2 反向传播”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

A.3 小结

把本章的输入、核心变换、中间证据和失效边界重新连成闭环;验收重点是能从冻结输入重放到“任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。”,而不是只复述术语。

验收“A.3 小结”时先写出预期的输入、输出和第一处可观察变化,再运行一个固定小样本。若终点看似合理但该中间证据未出现,应停止并检查轴、广播、归一化、缓存、梯度或数据隔离。

常见失败与边界

本章回顾

以一个可重放的MNIST小网络串联数组、感知机、前向、损失、数值梯度、反向传播、优化技巧、CNN和深层应用。 验收底线是:任何结论都能回到冻结输入、逐层shape、损失、解析/数值梯度和独立测试;211个正式目录层级无遗漏、无错误拆章。。学习完成的标准不是记住名称,而是能从冻结输入预测中间状态,解释单变量为何改变答案,并在失败样本中指出第一处违背前提的位置。

讨论

评论区加载中…