课程/M05 习题答案
附录源文件:exercises/m05-答案.md

M05 习题答案

对应 m05-习题。计算题保留中间步骤;数值保留 3 位小数,精确值优先写分数。

A 概念题

  1. 是体积缩放倍率:单位正方形/立方体的像的体积。符号记录定向: 保持定向, 翻转, 把 维体积压成更低维。 的本质是列线性相关(存在非零 使 ),与元素大小无关;例如 元素不小但 。

  2. (a) 错。:,而 。 (b) 对。体积先乘 再乘 。 (c) 错。每行都乘 , 矩阵应得 ;如 。 (d) 对。转置不改变体积。 (e) 对。交换两行翻转定向,有向体积变号。 (f) 对。倍加是剪切,保体积。 (g) 错。反例同上:没有零行,但两列成比例,。 (h) 对。,取 得 。

  3. 等价说法:列(行)线性相关;;零空间含非零向量; 不是对每个 都有唯一解; 是 的特征值; 的像体积为 0。它们等价,是因为「存在非零方向被压到 0」同时意味着列不独立、秩亏损、不可逆,而体积为 0 正是降维的几何表现。

  4. Cramer 要算 个行列式;按 Leibniz 是 ,即使每个用消元也是 ,且行列式易上溢/下溢、相消严重,误差被 放大。 小不等于病态: 的 ,条件数为 1;判断病态要看条件数或最小奇异值。

B 计算题

  1. (a) ;可逆; 不翻转;面积 。 (b) ;奇异;面积 (两列共线,压成直线)。 (c) ;可逆; 翻转;面积 。 (d) ;可逆; 翻转;面积 。

  2. 沿第一行:

    行变换验算: 得 ,按第一列展开 。

  3. 九个代数余子式组成 ,所以

    ( 对称, 也对称)。。 验证第一行: 的第一行 乘 的三列,分别得 、、;其余行同理,故 。

  4. 把第 1 列换成 :

    第 2 列:。 第 3 列:。 所以 。代回:。

  5. (a) ,;单位正方形顶点映到 ,是两条对角线都为 2 的菱形,面积 ; 翻转定向。 (b) ,在 处 ,局部面积放大 4 倍。 (c) ,。 (d) ,;在 处为 1,局部保面积。

C 大模型题

  1. 漏掉这一项,目标就不再是归一化密度的似然。以 为例,,正确目标含 ;漏掉后目标变成 ,把 推向 (放大体积)就能让所有 、 接近峰值,却不用付 的代价。密度积分也不再等于 1。 Coupling 层的 Jacobian 是块三角阵,,所以 ,只需 ,而完整 行列式要 。

  2. 。均值处

    实际代码用 Cholesky :,再用两个三角回代解 。这样避免显式求逆( 且数值不稳),也避免直接算 的上溢/下溢。

  3. ,float64 直接下溢为 0.0,np.linalg.det 返回 0,无法区分「真奇异」与「只是很小」。,用 slogdet 可稳定得到。 反例: 的 ,但条件数为 1,完全不病态。相反, 的 ,条件数却是 。所以病态要看条件数/奇异值,不看 。

D 开放题

  1. 取 ,每轮生成 ,元素取 (把尺度归一,避免 指数级变化)。计算

    并对每档 重复 100 次取中位数。预期 随 缓慢增长,量级约 ,偶尔因相消出现离群值。不能直接对 随机矩阵比较 :随机矩阵的 约为 ,会溢出;应改用 slogdet 比较 ,符号单独比较。

  2. 完整 Jacobian:每层算 的 ,时间 、内存 ,表达能力强,但 时已经昂贵,且行列式数值不稳。Coupling:三角 Jacobian, 为 ,逆变换显式、训练稳定;代价是每层只改一半维度,需要多层交替,单层表达能力受限。Diffusion 不做「可逆确定映射」:前向过程逐步加噪,似然通过 ELBO/score 估计,不需要也不会出现 ;它用「去噪」换掉了 flow 的「可逆 + 行列式」约束。

输入关键词开始搜索