11 爱上小成本的错误——成为水,成为火,渴望风的吹拂
我们本能里追求正确,避免犯错是因为直觉上我们觉得只有判断正确,我们才能获利。但有太多时候,即使自己判断正确, 也会失败。原因可能是表达正确的方式不恰当,二是这种正确是众人皆知的正确,所以在市场中价格会上涨,导致长期而言, 损失过大。但是如果从反面思考,什么样的结构在犯错的情况下依然盈利,便会有许多意想不到的收获。
“我们该设计怎样一种结构使得上万个元器件都有可能出现故障报废的情况下,依然建造一个可靠的系统。”钱学森在1954年出版的《工程控制论》的错误控制从工程角度回答了一部分这个问题, 并完成了一次思想飞跃。从此,在系统设计时,我们不再区分系统行为的稳定与不稳定,正确与错误,只是把错误当成一种概率与信息来源。没有一种事实不可以被利用,我们不再艰苦的防御,而 是榨取每个错误的价值。
从保险的视角看,保险公司盈利的一个基本前提是它所承担的损失必须来自于一系列独立事件,而非单独的灾难性事件。 其背后的数学原理是大数定律和中心极限定理,如果我们自己是一个人是一家保险公司,希望从错误中获利, 那就要爱上犯错,聪明地犯错:
11.1 怎样爱上犯错?
强迫自己大脑爱上犯错注定失败。窍门是动之以情,晓之以理。围棋上有势和实利的的权衡,每次犯错时相当于我们外在世界 的实利受到了损失,但是我们内心对世界的了解(什么不起作用)关于环境的认知和势得到了增强。如果我们把注意力放在内部,庆祝 每一次学习到的新知识,而不是外部的损失,我们就会爱上犯错。譬如,训练一条狗,最好的办法是及时的、持续的给予正面奖励, 而不是不断惩罚它。另一种办法是N-1排除原则而不是N+1又失误了原则,每次犯错,我们都告诉自己,我们离大成又进了一步或者我们 可以迅速止损退回到上一个工作的状态,而不是指责自己又犯了一个错误。
11.2 错误在空间上是局域的而非全局的
生活在一个过度连接的世界,供应链上的一小个链条出了故障,就会导致整个系统瘫痪很长一段时间,或者更糟的是,有害的变化如病毒等会扩散到整个系统。 如何犯局域的错误而不犯全局的错误呢?首先是可以想象自己是戴两顶帽子的魔术师,一顶叫出奇,一顶叫守正。戴出奇帽子的时候,只专注于以最小的代价,最小的交易量 获得未知世界的最多信息,不去想维护现有结构的稳固,不去想改变已经成功运行的方案。戴守正帽子的时候,只去维护修缮内在结构,使得它干净整洁,不去想做新的实验,或者增添新的功能。 在软件设计领域,我们称之为Open for extension and closed for modification原则,它最早是在1988年由Bertand Meyer提出: 我们把系统按照相互的依赖等级分成不同的组块,把高等级的组块如金融报告的交互系统保护于易变的低等级组块如打印系统、网页展示系统等等。 在工程实践上,要量避免使用全局数据(Global Data),把它封装成变量或者进函数如Setupdefaultvalue进行传递。历史上,中国的改革开放能取得成功而前苏联陷入亡党亡国的悲剧,也是因为中国先开辟了在空间上隔绝于其他地方的经济试验区,以小成本获得教训与成功经验,快速迭代, 而不是像苏联那样采取休克疗法渴望一蹴而就。
11.3 错误在时间上是可回撤的
每个程序员都会和你分享一个关于Debugging的噩梦。但是假如我们犯的错误是一分钟之前刚刚发生的,那么错误定位与修正便不再那么困难。 错误在时间上是可回撤的性质便是降低恼人的Debug长度的关键。在犯错误时,我们实际上是用低强度高频率的刻意损失去换取高强度的瓶颈突破。 低强度高频率的错误像是不断调整的小碎步,也像美国空军用的OODA策略中的观察(Observation)和调整(Orientation)部分,用今日的小损失 换取明日的决定性的行动。
11.4 机器最小化失误,人类渴望小错误
任何机器学习的前提是明确定义的优化函数,譬如最常用的交叉信息熵。一旦优化函数确定后,机器会不断迭代,最小化错误,直到参数收敛。 但人类的学习从某种程度上渴望不会让我们毁灭的小错误,并让小错误丰富我们。所谓的思路只有在失败中才能产生。 由于GPT模型的本质是一个概率发生器,加之在每一步最小化错误,至今在沃森卡片实验中,GPT的表现仍旧差强人意。 人类用最好的芯片,无数的GPU,几千年来能搜集到的所有数据训练出来的机器仍旧在犯经典的“肯定后件(affirming consequence)”谬误。 在没有生命力的组织中,各种条条框框试图把人规训成机器学习算法,让他们最小化错误,甚至不犯错误。毫不犯错的的组织是无法产生智能的。
11.5 如何吸收错误?
每次犯错后,你非但不遭受损失,反而越变越强大的前提是,你的赔付结构是Convex的而不是Concave的。比如在Debug的时候,如何你的搜索呈现出 一种二分搜索的状态,巨大的搜索空间也能被迅速缩小。比如在金融市场中,如果市场下跌1%,你的投资组合损失是1%,但是如果市场下跌30%,你的投资组合反而增长了, 并且非线性地加速增长,那么你的投资组合就在迅速的吸收错误,不断茁壮。反之,如果越跌,亏得越多,并且加速更多,那么你就不能与错误共舞。 在学习过程中,我们要分析错误发生的原因,错误发生的情境与错误的后果,而不是被错误本身吸引注意,或者伤春悲秋,怨天尤人,我们才能反求诸己,不断改进。 “仁者如射,射者正己而后发;发而不中,不怨胜己者,反求诸己而已矣。”