第3章 神经网络
覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理;用张量路径、单故障梯度轨迹和训练验收门完成独立复核。
学习目标
- 能说明“第3章 神经网络”如何覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理,并区分2016年原版、2018年中文译本与当前扩展
- 能先预测“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”会改变哪个数组、缓存、梯度或训练状态,再用shape与数值断言逐步复核
- 能注入“矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别”,用“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”决定接受、降级或拒绝实现结论
为什么从这个实现问题开始
神经网络页以形状和数值范围贯通前向传播,不用结构图替代数组证据。 “第3章 神经网络”的贯穿任务是:用NumPy实现三层前向网络,对MNIST小批次比较逐样本与批处理输出。 动手前先写下哪个输入、shape、缓存、梯度、参数或指标会变化;运行后补理由不算预测。
围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”建立参考、故障与恢复路径。只有它守住“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”并交付输入/权重/偏置shape、各层预激活与激活、softmax平移量、概率和、批索引、预测与吞吐对照。,代码、图形或指标才构成从零实现证据。
书目、211个原版层级与版本边界
“第3章 神经网络”以O’Reilly Japan原版官方书页核对斋藤康毅著《ゼロから作るDeep Learning》于2016年9月24日出版、320页、ISBN 9784873117584,并以出版社完整目录逐项统计8个章标题、202个编号节/小节与附录A,共211个正式目录层级。出版社官方代码仓库提供可运行示例,官方勘误用于识别已知错误。
本项目没有取得原书完整正文授权,只以官方完整目录、示例代码和勘误限定范围;中文解释、代码实验、交互、练习与答案均为独立教学重写。O’Reilly中文在线书目只用于核对陆宇杰译、人民邮电出版社2018年7月、ISBN 9787115485588和中文目录,不用来证明日文原版正文。“第3章 神经网络”以2016年日文原版与2018年中文译本目录为内容边界;当前Python/NumPy兼容修正、自动微分框架和后续架构只作带时间标签的独立核验。
本页另以技术核对 1、技术核对 2、技术核对 3核对算法定义、实现语义或数值诊断。外部资料能验证技术事实,不能反向证明原书采用了本站表述。
原版目录层级与实现机制
第3章 神经网络
↡神经网络对应原版目录坐标“第3章 神经网络”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 1/31。 在“第3章 神经网络”的坐标1中,目录项「第3章 神经网络」用于沿张量形状执行仿射、激活、稳定输出与批量推理;先冻结环境与shape,再以输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照复核,出现矩阵轴错位、softmax溢出或批语义漂移时撤回结论。
3.1 从感知机到神经网络
↡从感知机到神经网络对应原版目录坐标“3·1 从感知机到神经网络”,在“第3章 神经网络”中用于用权重偏置和层组合实现、反证二值判定,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 2/31。 目录项「3·1 从感知机到神经网络」进入“第3章 神经网络”后要回答第2个实现问题:它怎样用权重偏置和层组合实现、反证二值判定、改变哪个数组或训练状态、由哪些真值表、加权和、阈值、决策边界、XOR反例和隐藏层证明,并如何排除逐样本调参或混淆单层与多层表达力。
3.1.1 神经网络的例子
↡神经网络的例子对应原版目录坐标“3·1·1 神经网络的例子”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 3/31。 围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”在原版层级3把「3·1·1 神经网络的例子」落实为沿张量形状执行仿射、激活、稳定输出与批量推理;复核者先读取输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照,不能接受矩阵轴错位、softmax溢出或批语义漂移。
3.1.2 复习感知机
↡复习感知机对应原版目录坐标“3·1·2 复习感知机”,在“第3章 神经网络”中用于用权重偏置和层组合实现、反证二值判定,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 4/31。 对“第3章 神经网络”而言,目录项「3·1·2 复习感知机」的最小实现合同是用权重偏置和层组合实现、反证二值判定,第4次检查保存真值表、加权和、阈值、决策边界、XOR反例和隐藏层;若产生逐样本调参或混淆单层与多层表达力,就返回上一步。
3.1.3 激活函数登场
↡激活函数登场对应原版目录坐标“3·1·3 激活函数登场”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 5/31。 第5个正式坐标「3·1·3 激活函数登场」服务于覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理,需要以解释器/包版本、值与类型、控制流、函数输入输出和异常呈现建立可复现语言环境和最小程序状态;运行成功掩盖类型、作用域或版本漂移会破坏“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”。
3.2 激活函数
↡激活函数对应原版目录坐标“3·2 激活函数”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 6/31。 在“第3章 神经网络”的坐标6中,目录项「3·2 激活函数」用于建立可复现语言环境和最小程序状态;先冻结环境与shape,再以解释器/包版本、值与类型、控制流、函数输入输出和异常复核,出现运行成功掩盖类型、作用域或版本漂移时撤回结论。
3.2.1 sigmoid函数
↡sigmoid函数对应原版目录坐标“3·2·1 sigmoid函数”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 7/31。 目录项「3·2·1 sigmoid函数」进入“第3章 神经网络”后要回答第7个实现问题:它怎样建立可复现语言环境和最小程序状态、改变哪个数组或训练状态、由哪些解释器/包版本、值与类型、控制流、函数输入输出和异常证明,并如何排除运行成功掩盖类型、作用域或版本漂移。
3.2.2 阶跃函数的实现
↡阶跃函数的实现对应原版目录坐标“3·2·2 阶跃函数的实现”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 8/31。 围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”在原版层级8把「3·2·2 阶跃函数的实现」落实为建立可复现语言环境和最小程序状态;复核者先读取解释器/包版本、值与类型、控制流、函数输入输出和异常,不能接受运行成功掩盖类型、作用域或版本漂移。
3.2.3 阶跃函数的图形
↡阶跃函数的图形对应原版目录坐标“3·2·3 阶跃函数的图形”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 9/31。 对“第3章 神经网络”而言,目录项「3·2·3 阶跃函数的图形」的最小实现合同是建立可复现语言环境和最小程序状态,第9次检查保存解释器/包版本、值与类型、控制流、函数输入输出和异常;若产生运行成功掩盖类型、作用域或版本漂移,就返回上一步。
3.2.4 sigmoid函数的实现
↡sigmoid函数的实现对应原版目录坐标“3·2·4 sigmoid函数的实现”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 10/31。 第10个正式坐标「3·2·4 sigmoid函数的实现」服务于覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理,需要以解释器/包版本、值与类型、控制流、函数输入输出和异常呈现建立可复现语言环境和最小程序状态;运行成功掩盖类型、作用域或版本漂移会破坏“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”。
3.2.5 sigmoid函数和阶跃函数的比较
↡sigmoid函数和阶跃函数的比较对应原版目录坐标“3·2·5 sigmoid函数和阶跃函数的比较”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 11/31。 在“第3章 神经网络”的坐标11中,目录项「3·2·5 sigmoid函数和阶跃函数的比较」用于建立可复现语言环境和最小程序状态;先冻结环境与shape,再以解释器/包版本、值与类型、控制流、函数输入输出和异常复核,出现运行成功掩盖类型、作用域或版本漂移时撤回结论。
3.2.6 非线性函数
↡非线性函数对应原版目录坐标“3·2·6 非线性函数”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 12/31。 目录项「3·2·6 非线性函数」进入“第3章 神经网络”后要回答第12个实现问题:它怎样建立可复现语言环境和最小程序状态、改变哪个数组或训练状态、由哪些解释器/包版本、值与类型、控制流、函数输入输出和异常证明,并如何排除运行成功掩盖类型、作用域或版本漂移。
3.2.7 ReLU函数
↡ReLU函数对应原版目录坐标“3·2·7 ReLU函数”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 13/31。 围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”在原版层级13把「3·2·7 ReLU函数」落实为建立可复现语言环境和最小程序状态;复核者先读取解释器/包版本、值与类型、控制流、函数输入输出和异常,不能接受运行成功掩盖类型、作用域或版本漂移。
3.3 多维数组的运算
↡多维数组的运算对应原版目录坐标“3·3 多维数组的运算”,在“第3章 神经网络”中用于以数组形状、轴和广播执行数值与可视化操作,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 14/31。 对“第3章 神经网络”而言,目录项「3·3 多维数组的运算」的最小实现合同是以数组形状、轴和广播执行数值与可视化操作,第14次检查保存dtype、shape、stride、广播轴、索引、数值范围和绘图输入;若产生广播或索引产生语义错误但仍可运行,就返回上一步。
3.3.1 多维数组
↡多维数组对应原版目录坐标“3·3·1 多维数组”,在“第3章 神经网络”中用于以数组形状、轴和广播执行数值与可视化操作,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 15/31。 第15个正式坐标「3·3·1 多维数组」服务于覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理,需要以dtype、shape、stride、广播轴、索引、数值范围和绘图输入呈现以数组形状、轴和广播执行数值与可视化操作;广播或索引产生语义错误但仍可运行会破坏“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”。
3.3.2 矩阵乘法
↡矩阵乘法对应原版目录坐标“3·3·2 矩阵乘法”,在“第3章 神经网络”中用于把目录坐标转为有代码、形状、梯度、训练和评估的实现合同,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 16/31。 在“第3章 神经网络”的坐标16中,目录项「3·3·2 矩阵乘法」用于把目录坐标转为有代码、形状、梯度、训练和评估的实现合同;先冻结环境与shape,再以环境、输入输出、张量shape、缓存、梯度、训练轨迹、反例和时间边界复核,出现只复述代码或模型名称时撤回结论。
3.3.3 神经网络的内积
↡神经网络的内积对应原版目录坐标“3·3·3 神经网络的内积”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 17/31。 目录项「3·3·3 神经网络的内积」进入“第3章 神经网络”后要回答第17个实现问题:它怎样沿张量形状执行仿射、激活、稳定输出与批量推理、改变哪个数组或训练状态、由哪些输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照证明,并如何排除矩阵轴错位、softmax溢出或批语义漂移。
3.4 3层神经网络的实现
↡3层神经网络的实现对应原版目录坐标“3·4 3层神经网络的实现”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 18/31。 围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”在原版层级18把「3·4 3层神经网络的实现」落实为沿张量形状执行仿射、激活、稳定输出与批量推理;复核者先读取输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照,不能接受矩阵轴错位、softmax溢出或批语义漂移。
3.4.1 符号确认
↡符号确认对应原版目录坐标“3·4·1 符号确认”,在“第3章 神经网络”中用于把目录坐标转为有代码、形状、梯度、训练和评估的实现合同,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 19/31。 对“第3章 神经网络”而言,目录项「3·4·1 符号确认」的最小实现合同是把目录坐标转为有代码、形状、梯度、训练和评估的实现合同,第19次检查保存环境、输入输出、张量shape、缓存、梯度、训练轨迹、反例和时间边界;若产生只复述代码或模型名称,就返回上一步。
3.4.2 各层间信号传递的实现
↡各层间信号传递的实现对应原版目录坐标“3·4·2 各层间信号传递的实现”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 20/31。 第20个正式坐标「3·4·2 各层间信号传递的实现」服务于覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理,需要以输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照呈现沿张量形状执行仿射、激活、稳定输出与批量推理;矩阵轴错位、softmax溢出或批语义漂移会破坏“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”。
3.4.3 代码实现小结
↡代码实现小结对应原版目录坐标“3·4·3 代码实现小结”,在“第3章 神经网络”中用于复核Softmax-with-Loss的稳定正向和批量反向,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 21/31。 在“第3章 神经网络”的坐标21中,目录项「3·4·3 代码实现小结」用于复核Softmax-with-Loss的稳定正向和批量反向;先冻结环境与shape,再以logit/标签shape、稳定平移、概率、损失归约、反向梯度与差分误差复核,出现标签编码或batch归约错误时撤回结论。
3.5 输出层的设计
↡输出层的设计对应原版目录坐标“3·5 输出层的设计”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 22/31。 目录项「3·5 输出层的设计」进入“第3章 神经网络”后要回答第22个实现问题:它怎样沿张量形状执行仿射、激活、稳定输出与批量推理、改变哪个数组或训练状态、由哪些输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照证明,并如何排除矩阵轴错位、softmax溢出或批语义漂移。
3.5.1 恒等函数和softmax函数
↡恒等函数和softmax函数对应原版目录坐标“3·5·1 恒等函数和softmax函数”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 23/31。 围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”在原版层级23把「3·5·1 恒等函数和softmax函数」落实为建立可复现语言环境和最小程序状态;复核者先读取解释器/包版本、值与类型、控制流、函数输入输出和异常,不能接受运行成功掩盖类型、作用域或版本漂移。
3.5.2 实现softmax函数时的注意事项
↡实现softmax函数时的注意事项对应原版目录坐标“3·5·2 实现softmax函数时的注意事项”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 24/31。 对“第3章 神经网络”而言,目录项「3·5·2 实现softmax函数时的注意事项」的最小实现合同是建立可复现语言环境和最小程序状态,第24次检查保存解释器/包版本、值与类型、控制流、函数输入输出和异常;若产生运行成功掩盖类型、作用域或版本漂移,就返回上一步。
3.5.3 softmax函数的特征
↡softmax函数的特征对应原版目录坐标“3·5·3 softmax函数的特征”,在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 25/31。 第25个正式坐标「3·5·3 softmax函数的特征」服务于覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理,需要以解释器/包版本、值与类型、控制流、函数输入输出和异常呈现建立可复现语言环境和最小程序状态;运行成功掩盖类型、作用域或版本漂移会破坏“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”。
3.5.4 输出层的神经元数量
↡输出层的神经元数量对应原版目录坐标“3·5·4 输出层的神经元数量”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 26/31。 在“第3章 神经网络”的坐标26中,目录项「3·5·4 输出层的神经元数量」用于沿张量形状执行仿射、激活、稳定输出与批量推理;先冻结环境与shape,再以输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照复核,出现矩阵轴错位、softmax溢出或批语义漂移时撤回结论。
3.6 手写数字识别
↡手写数字识别对应原版目录坐标“3·6 手写数字识别”,在“第3章 神经网络”中用于把目录坐标转为有代码、形状、梯度、训练和评估的实现合同,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 27/31。 目录项「3·6 手写数字识别」进入“第3章 神经网络”后要回答第27个实现问题:它怎样把目录坐标转为有代码、形状、梯度、训练和评估的实现合同、改变哪个数组或训练状态、由哪些环境、输入输出、张量shape、缓存、梯度、训练轨迹、反例和时间边界证明,并如何排除只复述代码或模型名称。
3.6.1 MNIST数据集
↡MNIST数据集对应原版目录坐标“3·6·1 MNIST数据集”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 28/31。 围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”“第3章 神经网络”在原版层级28把「3·6·1 MNIST数据集」落实为沿张量形状执行仿射、激活、稳定输出与批量推理;复核者先读取输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照,不能接受矩阵轴错位、softmax溢出或批语义漂移。
3.6.2 神经网络的推理处理
↡神经网络的推理处理对应原版目录坐标“3·6·2 神经网络的推理处理”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 29/31。 对“第3章 神经网络”而言,目录项「3·6·2 神经网络的推理处理」的最小实现合同是沿张量形状执行仿射、激活、稳定输出与批量推理,第29次检查保存输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照;若产生矩阵轴错位、softmax溢出或批语义漂移,就返回上一步。
3.6.3 批处理
↡批处理对应原版目录坐标“3·6·3 批处理”,在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 30/31。 第30个正式坐标「3·6·3 批处理」服务于覆盖激活函数、多维数组、三层网络、输出层、MNIST推理与批处理,需要以输入/权重/偏置shape、中间缓存、激活范围、概率和与批对照呈现沿张量形状执行仿射、激活、稳定输出与批量推理;矩阵轴错位、softmax溢出或批语义漂移会破坏“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”。
3.7 小结
↡小结对应原版目录坐标“3·7 小结”,在“第3章 神经网络”中用于复核Softmax-with-Loss的稳定正向和批量反向,并受环境、dtype、shape、代码状态、训练角色与版本边界约束。原版坐标 31/31。 在“第3章 神经网络”的坐标31中,目录项「3·7 小结」用于复核Softmax-with-Loss的稳定正向和批量反向;先冻结环境与shape,再以logit/标签shape、稳定平移、概率、损失归约、反向梯度与差分误差复核,出现标签编码或batch归约错误时撤回结论。
先预测,再操作三个章专属实现实验
1. 张量、算子与程序状态
固定“用NumPy实现三层前向网络,对MNIST小批次比较逐样本与批处理输出。”,在参考与反例间切换,逐阶段查看“登记输入形状、仿射变换、非线性激活、稳定输出层、批量推理”的输入、代码动作、输出和shape检查。
张量信号路径
选择运行情形,逐步核对形状、算子与输出
怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?
输入设置
用NumPy实现三层前向网络,对MNIST小批次比较逐样本与批处理输出。 固定环境、数据、shape、初值、顺序、容差和种子。
事前预测
沿“登记输入形状 → 仿射变换 → 非线性激活 → 稳定输出层 → 批量推理”得到可复核实现结果。
适用边界
全过程必须满足“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”。
输入张量或程序状态
第3章 神经网络:锁定解释器、依赖、输入与数据角色,保持其余实现合同不变
本步算子或代码动作
冻结版本、dtype、shape、轴、种子和允许读取的信息,并持续满足“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”
输出张量或训练状态
登记输入形状产生可追溯输入状态
形状、梯度与数值检查
可追溯输入状态、shape与数值断言;出现“矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别”时停止
原版坐标:第3章 神经网络、3.1 从感知机到神经网络、3.1.1 神经网络的例子、3.1.2 复习感知机、3.1.3 激活函数登场、3.2 激活函数、3.2.1 sigmoid函数、3.2.2 阶跃函数的实现、3.2.3 阶跃函数的图形、3.2.4 sigmoid函数的实现、3.2.5 sigmoid函数和阶跃函数的比较、3.2.6 非线性函数、3.2.7 ReLU函数、3.3 多维数组的运算、3.3.1 多维数组、3.3.2 矩阵乘法、3.3.3 神经网络的内积、3.4 3层神经网络的实现、3.4.1 符号确认、3.4.2 各层间信号传递的实现、3.4.3 代码实现小结、3.5 输出层的设计、3.5.1 恒等函数和softmax函数、3.5.2 实现softmax函数时的注意事项、3.5.3 softmax函数的特征、3.5.4 输出层的神经元数量、3.6 手写数字识别、3.6.1 MNIST数据集、3.6.2 神经网络的推理处理、3.6.3 批处理、3.7 小结
第3章 神经网络的可重放实现协议
| 阶段 | 允许动作 | 必留证据 | 拒绝条件 |
|---|---|---|---|
| 登记输入形状 | 在“第3章 神经网络”执行登记输入形状,只改变声明的代码、数组或训练状态 | 环境、输入、dtype/shape、数据角色与版本 | 环境或shape不可追溯 |
| 仿射变换 | 在“第3章 神经网络”执行仿射变换,只改变声明的代码、数组或训练状态 | 层、参数、缓存、梯度、优化器状态与输出 | 矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别 |
| 非线性激活 | 在“第3章 神经网络”执行非线性激活,只改变声明的代码、数组或训练状态 | 层、参数、缓存、梯度、优化器状态与输出 | 矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别 |
| 稳定输出层 | 在“第3章 神经网络”执行稳定输出层,只改变声明的代码、数组或训练状态 | 层、参数、缓存、梯度、优化器状态与输出 | 矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别 |
| 批量推理 | 在“第3章 神经网络”执行批量推理,只改变声明的代码、数组或训练状态 | 梯度误差、曲线、独立评估、反例与复现 | 无法重放或缺少独立测试 |
unit: "dls-03"
question: "怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?"
scenario: "用NumPy实现三层前向网络,对MNIST小批次比较逐样本与批处理输出。"
stages: ["登记输入形状", "仿射变换", "非线性激活", "稳定输出层", "批量推理"]
invariant: "权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定"
fault: "矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别"
evidence: "输入/权重/偏置shape、各层预激活与激活、softmax平移量、概率和、批索引、预测与吞吐对照。"
reset: restore_case_stage_trace_mode_step_gates_and_artifact该协议要求“第3章 神经网络”在相同环境、数据角色、dtype/shape、初值、顺序、容差和种子下重放。重置后若案例、阶段、轨迹模式、步骤、训练门或证据包没有回到基线,交互状态已经污染比较。
本页回顾
掌握“第3章 神经网络”不是背诵代码或API,而是能围绕“怎样从输入shape逐层追踪矩阵乘法、激活与softmax,并保证批处理和单样本推理一致?”重建环境、shape、前向、梯度、训练与评估证据,并用“权重形状、轴约定、激活、softmax稳定化、类别数、批大小和预处理固定”拒绝“矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别”。最终交付为输入/权重/偏置shape、各层预激活与激活、softmax平移量、概率和、批索引、预测与吞吐对照。
练习与答案
练习
- 问题 1:实现合同。 “第3章 神经网络”为什么必须先冻结环境、数据角色、dtype/shape、初值、顺序、容差和种子?
- 问题 2:目录逐项覆盖。 怎样证明原版目录坐标已经进入机制、交互和练习?
- 问题 3:故障恢复。 怎样证明“矩阵方向或广播错误仍给出结果,或softmax溢出后只检查最大类别”已经被修正?
名词解释
名词解释
本章出现的专业名词,用大白话再讲一遍。
- 神经网络
检索键 dls-A 对应目录坐标「第3章 神经网络」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 从感知机到神经网络
检索键 dls-B 对应目录坐标「3·1 从感知机到神经网络」;在“第3章 神经网络”中用于用权重偏置和层组合实现、反证二值判定,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 神经网络的例子
检索键 dls-C 对应目录坐标「3·1·1 神经网络的例子」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 复习感知机
检索键 dls-D 对应目录坐标「3·1·2 复习感知机」;在“第3章 神经网络”中用于用权重偏置和层组合实现、反证二值判定,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 激活函数登场
检索键 dls-E 对应目录坐标「3·1·3 激活函数登场」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 激活函数
检索键 dls-F 对应目录坐标「3·2 激活函数」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- sigmoid函数
检索键 dls-G 对应目录坐标「3·2·1 sigmoid函数」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 阶跃函数的实现
检索键 dls-H 对应目录坐标「3·2·2 阶跃函数的实现」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 阶跃函数的图形
检索键 dls-I 对应目录坐标「3·2·3 阶跃函数的图形」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- sigmoid函数的实现
检索键 dls-J 对应目录坐标「3·2·4 sigmoid函数的实现」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- sigmoid函数和阶跃函数的比较
检索键 dls-K 对应目录坐标「3·2·5 sigmoid函数和阶跃函数的比较」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 非线性函数
检索键 dls-L 对应目录坐标「3·2·6 非线性函数」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- ReLU函数
检索键 dls-M 对应目录坐标「3·2·7 ReLU函数」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 多维数组的运算
检索键 dls-N 对应目录坐标「3·3 多维数组的运算」;在“第3章 神经网络”中用于以数组形状、轴和广播执行数值与可视化操作,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 多维数组
检索键 dls-O 对应目录坐标「3·3·1 多维数组」;在“第3章 神经网络”中用于以数组形状、轴和广播执行数值与可视化操作,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 矩阵乘法
检索键 dls-P 对应目录坐标「3·3·2 矩阵乘法」;在“第3章 神经网络”中用于把目录坐标转为有代码、形状、梯度、训练和评估的实现合同,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 神经网络的内积
检索键 dls-Q 对应目录坐标「3·3·3 神经网络的内积」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 3层神经网络的实现
检索键 dls-R 对应目录坐标「3·4 3层神经网络的实现」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 符号确认
检索键 dls-S 对应目录坐标「3·4·1 符号确认」;在“第3章 神经网络”中用于把目录坐标转为有代码、形状、梯度、训练和评估的实现合同,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 各层间信号传递的实现
检索键 dls-T 对应目录坐标「3·4·2 各层间信号传递的实现」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 代码实现小结
检索键 dls-U 对应目录坐标「3·4·3 代码实现小结」;在“第3章 神经网络”中用于复核Softmax-with-Loss的稳定正向和批量反向,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 输出层的设计
检索键 dls-V 对应目录坐标「3·5 输出层的设计」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 恒等函数和softmax函数
检索键 dls-W 对应目录坐标「3·5·1 恒等函数和softmax函数」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 实现softmax函数时的注意事项
检索键 dls-X 对应目录坐标「3·5·2 实现softmax函数时的注意事项」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- softmax函数的特征
检索键 dls-Y 对应目录坐标「3·5·3 softmax函数的特征」;在“第3章 神经网络”中用于建立可复现语言环境和最小程序状态,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 输出层的神经元数量
检索键 dls-Z 对应目录坐标「3·5·4 输出层的神经元数量」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 手写数字识别
检索键 dls-AA 对应目录坐标「3·6 手写数字识别」;在“第3章 神经网络”中用于把目录坐标转为有代码、形状、梯度、训练和评估的实现合同,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- MNIST数据集
检索键 dls-AB 对应目录坐标「3·6·1 MNIST数据集」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 神经网络的推理处理
检索键 dls-AC 对应目录坐标「3·6·2 神经网络的推理处理」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 批处理
检索键 dls-AD 对应目录坐标「3·6·3 批处理」;在“第3章 神经网络”中用于沿张量形状执行仿射、激活、稳定输出与批量推理,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。
- 小结
检索键 dls-AE 对应目录坐标「3·7 小结」;在“第3章 神经网络”中用于复核Softmax-with-Loss的稳定正向和批量反向,需要连接原版范围、代码/shape、梯度轨迹与独立评估证据。