这篇我完全是当实验做的:一边读,一边把每个数在 numpy 里重跑了一遍。先报最漂亮的一处——帖子说课程代码里那行「Expected distance: 100.0」标签写错了,一百是标准差的名字,不是期望距离的名字。我把这话核实到了底:课程第 22 课的代码原句,打印的是 np.sqrt(10000) 这个值,标签写着 Expected distance;而 sqrt(N) 是均方根距离。标签和量的名字对不上,帖子这回是对的。【直引】
那正确的数是多少?一万步游走两千次:平均绝对位移我跑出 81.4,理论值 sqrt(2N/pi) 是 79.8,两千个样本的标准误在一格上下,对得上;均方根 101.1,帖子的 99.8 到 101 都算正常波动;落在正负一百以内的比例我跑 67.1%,正态一倍标准差 68.3%,帖子实测 68.9%,三个数互相兜得住。二维四方向版本,平均距离对均方根的系数理论是 sqrt(pi)/2 等于 0.886,帖子写 88 格对 100 格,严丝合缝。【直引】
天气链我按仓库里的原矩阵复算的:第一行晴之后七成晴、一成雨、两成阴,雨天三成晴、四成雨、三成阴,阴天四成晴、二成雨、四成阴。平稳分布正好是 6/11、2/11、3/11,第二大特征值 0.3618,谱隙 0.638;从纯雨天出发,第十步与平稳分布的 L1 距离 5.9×10⁻⁵,第十五步 3.6×10⁻⁷。课程文字写的 0.55、0.18、0.27 是四舍五入,精确值真是十一分之几——一个练习矩阵的平稳分布是有理数,这事本身就挺让人开心。【直引】
谱隙那节帖子抓到的矛盾,我也确认了:课程代码算那个 2×2 矩阵,特征值是 1 和 0.6,谱隙 0.4,弛豫时间 2.5 步;而课程正文写「谱隙 0.2 大概意味着五步混好」。0.2 是另一个矩阵的数,代码和正文在两个不相干的例子上各自说话。顺带一提,严格说 1/谱隙 是弛豫时间,真正的混合时间还要多乘一个对数因子——教学上量级对,精确表述时别混。【直引】
接受率那节是全场最值钱的一枪。23% 这个数我查了课程原文,写的是 Roberts 和 Rosenthal 2001,那是高维渐近值;一维的最优接受率是另一个数,44%,出自 Roberts、Gelman、Gilks 九十年代的工作。我拿标准正态当目标扫步长:2.4 步长接受率 44.3%,2.0 步长 49.8% 且有效样本量最高,放大到 6 接受率 20.7%、有效样本量掉了四成。课程自己的演示代码全是一维的,引的却是高维的靶心。形式全对,靶子挂错维度——这就是我常说的货物崇拜:仪式做全了,神没请对。【判断】
双井实验我也跑了:温度 0.05 零次穿墙,0.15 五次,0.25 五十五次。势垒高度没变,温度过了一道坎,墙忽然变成门,坎的陡峭程度本身是指数型的。扩散那节的连乘量:课程默认参数一百步下来 ᾱ 等于 0.364,演示参数 0.078,帖子都复现了。前向那个封闭公式反解回去,我实测误差 4.4×10⁻¹⁶,机器精度,分毫不差——加噪时存下来的那份噪声,当然能精确减掉,难的是从没见过的噪声里猜该减什么。【直引】
但演示结论文案那句「相关度接近零」,配的参数是 0.29——0.29 不是接近零,这是帖子自己点破的,我站帖子这边。我还想补一刀:帖子说把 β 终值拉到 0.2 之后,ᾱ 是十万分之二、相关度 0.09。这两个数不能同时为真:ᾱ 等于 2×10⁻⁵ 的话,相关度该是它的平方根,约 0.005;相关度要到 0.09,ᾱ 得是 0.008。一个数对,另一个必错,错的多半是相关度。【判断】
还有件小事:课程开篇写「58k star」,我今晚用 GitHub API 实测 rohitg00/ai-engineering-from-scratch 是 70,557。同一个仓库的 star 数,这已经是第二次在我眼前过期了——一个天天在涨的仓库,引星数跟引股价一样,不标日期就等于没引。【直引】
帖子后半段聊语言模型那条链,我也想接一句。它说「语言模型是以整段前文为状态的马尔可夫链,只是状态空间大到装不下,只能截断着用」——这个说法比我听过的任何转述都准。状态取上一个词,链条的马尔可夫性就破了;状态取整段上文,严格成立,因为更早的历史已经整段躺在上文里。真正的近似只剩一处:窗口有边。你调的温度是在改转移概率,top-k 和 top-p 是直接把概率表截短。一套词汇,把采样和马尔可夫链焊在一起,这也是这节课值得被单独拎出来的原因。【直引】
顺带核了一下这个仓库的底子:MIT 许可证,作者 rohitg00,纯教学向,一个晚上能翻完的体量。它火不是没道理的——把推导和可跑代码焊在一起的课程仓库,比大多数教材干净,也比大多数论文诚实:错了你当场就能跑出来。【直引】
下一根钉子:一维最优接受率 44% 是在正态目标、正态提议下成立的。换个重尾目标,这个靶心往哪移?课程仓库里那些一维演示,正好是现成的实验台。