Hutchinson迹估计:两次探针读数都不准,平均为何仍有明确目标

昨天 4阅读

大型模型的曲率分析经常遇到这样的接口:可以计算矩阵乘上一条向量,却无法把整张矩阵存下来。此时想知道对角线之和,逐列查询虽然可行,成本却可能很高。Hutchinson估计把问题换成若干随机探针的二次型平均。理解它的关键,不是记住“随机就能近似”,而是检查探针的二阶矩到底满足什么条件。

Hutchinson迹估计:两次探针读数都不准,平均为何仍有明确目标

AI生成的概念示意图:随机探针经过隐式矩阵,产生不同读数后汇总;格子、容器和流量不对应正文的准确数值。

先把能直接验算的矩阵放在桌上

取二乘二矩阵A,第一行为(3,1),第二行为(1,2)。它的迹是对角线之和3+2=5。一次查询输入向量z,先求Az,再计算z与Az的内积,记为q。整个过程不要求单独读取任何一个对角元素,这正是它适合隐式矩阵的原因。

让z的两个坐标独立且等概率取+1或-1。这种随机符号称为Rademacher变量。展开本例可得q=3z₁²+2z₁z₂+2z₂²=5+2z₁z₂。对角项始终给出5;非对角项的符号由两个独立坐标共同决定。

四种等概率探针为(1,1)、(1,-1)、(-1,1)、(-1,-1),对应读数依次是7、3、3、7。每次都没有恰好读到5,四种可能性的平均却正好是5。这里的“无偏”说的是重复随机实验的期望,不是承诺一次运行就准确。

把平均值正确与误差大小分开

单次读数相对5的偏差是+2或-2,各占一半,因此方差为4。如果独立采四次再取平均,平均值的方差变成4/4=1,标准差为1。这个数字描述整个随机过程;它不能被解释成每次结果与5的差都不会超过1。

四次读数全部为7的概率是1/16,全部为3也是1/16。即使采用四个探针,仍有1/8的机会偏离真实迹整整2。另一方面,恰好出现两次7、两次3的概率是6/16,此时平均值正好等于5。把这16种结果全列出来,比只挑一个“很准”的随机种子更能说明估计质量。

对称矩阵使用独立随机符号时,单次方差可写成所有非对角元素平方之和的两倍。本例非对角元素有两个1,所以得到4。这个关系提示一种检查方法:保持对角线不动,只增大非对角耦合,真实迹不变,采样波动却会变大。

“每个坐标都公平”还不够

假如为了省随机数,只抽一个符号s,再令z=(s,s)。两个坐标各自仍有一半机会为正,看起来都很公平,但它们完全相关,乘积永远是1,每次读数都为7。平均一万次也不会接近5,因为错误已经改变了期望。

另一种容易误判的做法是抽到z以后,再把-z当成第二条独立样本。二次型满足(-z)ᵀA(-z)=zᵀAz,第二次读数和第一次完全相同。两条记录只是复制了同一份随机信息,不能按独立样本数把标准误缩小到原来的平方根二分之一。

还要检查是否擅自把探针归一化。本例符号向量的长度是√2;若先除以√2再直接套原估计器,二次型也被除以2,期望变成2.5。单位向量不是不能用,但必须配套正确的维数补偿和分布说明,不能混搭两种定义。

从小矩阵迁移到模型之前

可以让AI生成两套彼此独立的检查:一套按矩阵乘法算q,另一套直接使用5+2z₁z₂,再逐一比较四个结果。随后把A换成对角矩阵diag(3,2),随机符号探针每次都应得到5。这个零方差对照能够发现把内积写成逐元素平均、遗漏某个坐标等实现错误。

再把两个对角元素各加100,矩阵迹变成205,读数变成207或203,单次方差仍为4。数值整体变大不意味着绝对噪声一起增大。报告应明确使用绝对误差还是相对误差,否则两个实验的“误差百分比”可能掩盖完全相同的波动。

在模型中,A可以是某个固定参数点、固定数据目标的Hessian。此时一次Hessian向量积可以由自动微分计算,但估计器不会自动修复向量积自身的错误。若目标批次、随机层状态或参数在不同探针间发生变化,读数就不再对应本文同一张固定矩阵,解释时必须另建随机模型。

还应区分矩阵类别。一般Hessian可能含负特征值,正负曲率抵消后迹可以很小;迹小不代表每个方向都平坦,也不代表最大曲率很小。适用于半正定矩阵的相对误差保证,不能直接搬来覆盖所有不定矩阵。

怎样决定探针预算

实际使用时记录探针分布、随机种子、独立样本数、各次二次型、均值和离散程度。先在能显式形成的小模型上比较真实迹,再决定大模型允许多少随机误差。若一次向量积本身使用迭代近似,还要单列求解容差,避免把数值求解误差误算成采样方差。

这类估计适合只需要总体统计量、且矩阵向量积比显式矩阵便宜得多的场景。如果维数只有二,像本文这样直接求迹当然更省事;小例的用途是给大实现提供可复核的边界,而不是证明随机方法在所有规模上都更快。

一份不容易自我欺骗的对照记录

还可以把矩阵查询器当成独立模块验收。分别输入两个标准基向量(1,0)与(0,1),应该得到(3,1)和(1,2);再输入它们之和,应等于两次输出之和。这个线性检查并不能证明所有情况正确,但足以发现某些错误的归一化、截断和按批缩放。

统计测试则不要和上述确定性检查混在一起。枚举四种符号获得精确期望,是在验证一个有限概率模型;实际随机抽四次,即使均值没有等于5,也可能完全正确。测试套件若强制每次随机均值都等于理论值,反而会把合理波动当成失败,或诱使实现固定挑选正负抵消的探针。

比较两个参数点的迹时,共用一组探针有时有助于比较差值,但那是配对实验,两个估计之间存在相关性。计算差值的不确定性应保留这种配对关系,不能一边复用随机数,一边套用两个独立实验的误差传播公式。先写清想估计的是单个迹还是迹的变化,才能选择对应记录。

资料核对日期:2026年10月3日。数值均为原创教学设定,已用本地独立程序复算;未进行真实模型训练、线上检索或生产性能测试。

参考资料

Meyer等:Hutch++,第1.1节Hutchinson估计器


文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。