章节摘要:深度学习框架里几乎所有东西都是张量:输入、权重、中间激活、梯度。本章把
tf.Tensor与torch.Tensor并排放:形状、dtype、设备、与 NumPy 互转、广播与矩阵乘。随后专节对照tf.GradientTape与autograd——这是原文选型理由里点名、旧结构却没有单独成节的能力。层、激活、损失、优化器、前向与反向,都建立在「张量能算、梯度能录」之上。读完你应当能把一侧的三行张量代码翻译成另一侧,并指出梯度录不上的两种典型原因。
阅读完本章,你应当能够:
watch 与 PyTorch requires_grad 各自默认盯什么CrossEntropyLoss 不要再接 Softmax金句:框架之间的方言,大半发生在张量约定和梯度约定上;层名字反倒好记。

从标量到四维图像批次,对照创建、属性、广播、GPU 迁移;吸收原文 3.1 / 4.1 的安装后张量练习。
GradientTape 与 autograd:谁默认被追踪、何时停止记录、高阶导要不要留到入门之后。
Dense / Linear、ReLU、Softmax 放在哪一层;卷积只作预告。
稀疏交叉熵对 CrossEntropyLoss,Adam 的学习率默认是否暴露。
把一次更新画成双方都能认的五步,为第 4 章训练循环对照做原理铺垫。
建议准备一个笔记本页,左边 TF 右边 PT,从上到下只抄「创建张量、读 shape、matmul、to 设备、一次二次函数求导、Dense/Linear、稀疏交叉熵、Adam、一次五步」。抄完应不超过一页。超过一页说明你在抄文档而不是在建词典。2.1 与 2.2 是体检,失败就停;2.3 与 2.4 是约定,允许查表;2.5 是默写,必须不看稿说出五步顺序。有人喜欢从 2.3 开始因为「终于像神经网络了」,那样会把形状错误当成激活函数问题,排查成本翻倍。
和 NumPy 对照时只问两个增量:设备、梯度。其它运算几乎可翻译。把增量问清楚,本章就不会膨胀成第三本线性代数。
张量不会求导,求导没有层也可以玩玩具式的二次函数;但要把分类器训起来,五节必须按这个顺序咬合。
| 节 | 出门证 |
|---|---|
| 2.1 | 形状设备与四道小题 |
| 2.2 | 二次函数梯度为 6 |
| 2.3 | 参数量与未训练输出形态 |
| 2.4 | 假损失两侧接近 |
| 2.5 | 空跑权重确有变化 |
2.1 形状设备 ──► 2.2 梯度从哪来 ──► 2.3 层怎么叠 │ └► 2.4 损失优化器 ──► 2.5 一次更新
fit 或手写循环本章是全书最「不像在搭模型、却决定模型能不能学」的一章。形状写错时,框架往往仍会给你一个能跑的网络,只是在认错的像素排列;梯度录不上时,优化器仍会调用,只是权重不动或乱跳。这两种事故的共同外表是「准确率像随机」,所以必须在进 Fashion MNIST 之前单独练。张量节用加法、切片、reshape 当体检;求导节用 y = x * x 当体检。体检不过,不要用 128 个神经元去掩盖。
层与损失两节看起来像在背 API,实际在背约定:Softmax 放模型还是放损失,标签是整数还是 one-hot,Adam 的学习率写不写出来。这些约定在第 5 章会变成「两侧差两个点」的元凶。前向反向一节则是第 4 章的原理预告片——读完应能在纸上默写五步,而不是等到看见 fit 才第一次问「梯度在哪算的」。
若你已经熟悉 NumPy,2.1 可以读得很快,但不要跳过设备与通道维两段。NumPy 没有 cuda:0,也没有 NCHW 默认。这两段是框架张量相对科学计算数组的真正增量。2.2 即使你「知道有反向传播」,也请把 Tape 的 watch 与 zero_grad 的累加各看一遍,这是后文自定义循环的全部伏笔。
层这一节请把 Softmax 的位置写成一条家规,贴在显示器上:Keras 入门网络输出层带 softmax,损失用稀疏交叉熵;PyTorch 输出层不带 softmax,损失用 CrossEntropyLoss。家规记混,第 5 章会得到「一侧正常、一侧像没学」的假对照。损失与优化器一节把 Adam 的 0.001 写进两侧构造,不要一侧用字符串默认、一侧写 0.01,还比较谁收敛快。五步一节结束时,合上书应能按顺序说出取批次、清梯度、前向、损失、反向、更新,并能指出哪一步在 Keras 里看不见。说得出,第 4 章只是把原理换成 API 名字;说不出,第 4 章会变成两份互不相干的抄写作业。
本章的体检标准很具体:能把同一份 2 乘 2 矩阵在两侧创建、相加、乘上、迁设备;能对二次函数求出梯度 6;能说出 Softmax 放在模型还是损失里。三项都过,才允许打开 Fashion MNIST。不过就停在对应节,不要用 128 个神经元掩盖形状错误或断图。第 4 章只是把这些体检换成 API 名字,体检不过,换名字也救不了。