叙事增强规范:让公式「有来处、有去处」
这份规范回答一个问题:同样一个概念,怎样写才不像干巴巴的公式清单? 它不是替换
模板-概念文档.md,而是在十二个小节内部加一层「现实感」。
1. 要解决的问题
初学者读公式时,脑子里缺的不是符号解释,而是四样东西:
| 缺失 | 读者的真实疑问 | 本文档的对策 |
|---|---|---|
| 来处 | 我什么时候会真的遇到它? | §0 写一个有数字、有决策、有代价的现场 |
| 身体感 | 它在现实世界里对应什么东西? | §1 给一个可触摸的物理/工程对应,并标注边界 |
| 必然性 | 为什么非得这样定义,换个写法不行吗? | §3 做反事实推演:换一种定义,具体坏在哪 |
| 去处 | 算出来的数拿来干什么?错了会怎样? | §5.3 走一遍输入 → 计算 → 输出 → 决策 → 失败的闭环 |
2. 四件套(每篇必做)
2.1 §0 现场:给数字、给角色、给代价
不要写「在机器学习中,向量很重要」。要写清楚:
- 谁:一个具体的系统、岗位或场景(推荐系统、相机防抖、数据库查询、电网调度……);
- 多大:数据规模、维度、时间预算、显存、金额,至少两个具体数字;
- 冲突:两个方案取舍,或一个必须做的决定;
- 代价:算错/算慢会发生什么(用户流失、OOM、误差超标、多花多少钱)。
结尾用一句话把现场抽象成本节的数学问题,并列出「读完你能回答的三个问题」。
反例(不合格):矩阵乘法在深度学习中应用广泛,是神经网络的基础。
正例:一层 Transformer 的前向里,一个 的权重矩阵要对 个 token 做投影。显存里这个矩阵占 64 MB(fp16),而每秒钟要过 50 次——它到底是「算得慢」还是「搬得慢」?
2.2 §1 身体感:一个现实对应 + 一条边界
给概念一个可以摸到的对应物:
- 力、功、能量、功率(物理);
- 体积、流量、影子、压缩、投票、合唱、翻译(工程/生活);
- 钱、时间、带宽、显存(成本)。
然后必须补一句「这个类比在哪里失效」。类比不标边界,就会变成新的误解来源。
量级直觉(推荐,非必需):给出这个量在真实数据里的典型数量级。例如「128 维随机单位向量的点积标准差约 」。写量级时标注「经验值」,不要伪装成定理。
2.3 §3 反事实:换一种定义,具体坏在哪
不要只说「这样定义有三个好处」。要真的换掉它,算一个反例:
如果把点积换成逐元素相乘后取最大, 与 的「相似度」会变成 1,与 和 自己一样高——方向完全相反,却得到满分。
反事实要满足两条:能手算、结论荒谬得一眼能看出。
2.4 §5.3 场景闭环:从输入到代价
在手算例子之后,加一个完整闭环,至少包含:
- 输入:规模、dtype、维度;
- 计算:用本节公式算出关键中间量;
- 输出:一个决策或一个排序;
- 成本:时间、显存、带宽、误差,至少一个量化估计;
- 失败:什么条件下这个方法会骗你,工程上怎么兜底。
这一步是把「数学正确」翻译成「工程可用」的桥。
3. 「物理意义」怎么写
不是每篇都有狭义物理意义。按概念类型选一种:
| 概念类型 | 现实对应 | 例子 |
|---|---|---|
| 几何量 | 长度、夹角、投影、体积 | 点积 = 功;行列式 = 体积缩放 |
| 变换 | 旋转、拉伸、投影、压缩 | 矩阵 = 一台机器;SVD = 旋转-拉伸-旋转 |
| 谱量 | 频率、衰减率、刚度、能量分布 | 特征值 = 振动频率/增长速率 |
| 信息量 | 自由度、有效维度、冗余 | 秩 = 独立信息的条数;低秩 = 可压缩 |
| 稳定性 | 误差放大、条件、收敛速度 | 条件数 = 误差的放大倍数 |
| 成本 | 时间、带宽、显存、钱 | GEMM = 每字节搬运换多少次计算 |
写完后自检:这个对应物有没有单位或量级? 没有就说明还太虚。
4. 场景选择:一篇一个世界
- 同一模块内不要反复用「用户-商品」;不同篇尽量换领域:搜索、图像、语音、机器人、金融、生物、游戏、数据库、编译器、网络。
- 场景里的数字必须与公式自洽。写了 万候选、 维,就要能算出 次乘加。
- 不编造论文结论、benchmark 分数、公司内部数据。需要具体数字时,写成「按 估算」并给出算式。
- 不写「某公司」「某模型」这种模糊指代;要么给可验证的公开事实,要么写成「以一类实现为例」。
5. 语言要求
- 一段只讲一件事,段落不超过 5 行。
- 每个公式后面跟一句「这个式子说的是……」,用人话读一遍。
- 多用「你」和具体动词:你拿到、你算出、你发现、你付了多少钱。
- 允许短句、破折号、设问;不允许「众所周知」「不言而喻」「显然」。
- 不牺牲严谨性:直觉在前,定义与推导照旧,符号表与量纲要对得上。
6. 自检清单(提交前逐条打勾)
- §0 至少有 2 个具体数字、1 个决策、1 个代价;
- §1 有一个现实对应物,并写了类比失效的边界;
- §3 有一个可手算的反事实反例;
- §5 有手算例子 + 一个完整的场景闭环(输入/计算/输出/成本/失败);
- 所有新数字都能用文中公式复算;
- 没有新增顶级小节,十二节顺序不变;
- 没有编造文献、benchmark 或公司数据;
-
python3 scripts/check.py <模块目录>通过。
7. 一个合格样本
见 01-向量与几何/03-点积.md:它的 §0 是一场真实规模的召回请求,§1 有功的物理图像,§3 有点积/欧氏/余弦的反事实对比,§5.3 有从 12 万候选到 200 个结果的完整成本核算。