寓言故事
钟楼里倒查错响的齿轮
城心钟楼每天报时,钟声一错,全城开市都跟着乱。钟表匠起初靠最后一口大钟办事,熟人熟路,日子小的时候很少出错。钟表匠明白,只记录钟面最后慢了几下,无法说明误差究竟从哪枚齿轮开始;要改进,必须把结果的责任传回每一层。
后来新齿轮越装越多,迟一息早一息都可能从深处传到钟面。齿轮数量增加后,一个早期偏差会经多层传动放大;只调末端指针,既可能掩盖根因,也会破坏原本正常的部分。
第一次修补很急:只把大钟敲得更紧,或把报时童子换掉。只把钟面敲紧能短暂掩盖误差,却没有改变内部齿轮的参数。可新毛病跟着出来,大家只盯最容易被看见的地方,远处的小偏差越积越深。
他从损失出发沿传动链反向计算各齿轮对误差的贡献,再按梯度微调参数;每一层都得到可用于学习的信号。
他从错响那一刻往回查,量出每个齿轮多推了多少、少咬了多少,再按轻重微调。这一步麻烦,起初还拖慢了工期;可几轮之后,返工少了,师傅也不再凭脾气改规矩。徒弟学会把误差分摊回各层齿轮,复杂机关因此能靠局部调整逐步变准。
徒弟终于懂得,训练不是只看最后答错什么,而是把误差信号传回产生它的层层参数。
徒弟第一次明白,末端的错声要沿着传动路倒回去分摊。从那以后,修复杂机关,不能只骂最后出声的地方。