碧澜港的守宴人
一、碧澜港的醉月宴
碧澜港有九家酒坊,各家酿法不同,谁也摸不准哪一家的欢愉最得人心。
每年渔汛散去、商船归港的时节,港里要办一连七七四十九夜的"醉月宴"。宴上最要紧的一桩事,由年轻的守宴人阿砚掌管:每入夜,他得从九家酒坊里只挑一家,作为当夜大堂正中那瓮"今夜之选"。
挑哪一家,全港人的舌头当晚就只认这一家。宾客饮过,由评宴官在玉牌上记一个"欢愉度",从零到一百,越乐呵分越高。
"这有何难,"阿砚头一夜想,"头一夜闭眼抓阄便是。"
头七夜,他真就轮着来,一家一瓮。可第七夜散宴,老酿师杞翁捻着胡须摇头:"你这七夜,三家酿得平平,两家还惹了宾客皱眉,白白糟蹋了七个好夜。"
阿砚讪讪:"我不试,怎知哪家好?"
"试,是要试,"杞翁笑,"可你总得想清楚——往后的四十几夜,每一夜都只能供一家,你是要守着已尝过的甜,还是去碰没准更好的?"
二、评酿翁老杞的账册
第九夜,阿砚把前八夜的玉牌摊在杞翁面前,请他指条明路。
杞翁不急着说哪家好,只取一册空账,在九页上各写一家酒坊的名号,又添两栏:"被选几次"、"平均欢愉"。
"你瞧,"他点着账册,"醉仙居被挑过三回,平均分七十二;满堂红也被挑过三回,平均分八十九。若只按这账面,明夜该供满堂红。"
阿砚点头:"那便供满堂红。"
"且慢,"杞翁按住他的手,"满堂红那三回,头一回恰逢宾客都是好酒的汉子,分给得高;醉仙居那三回,有一回正赶上一船人晕船,谁也喝不进甜。你敢说,账面的高低,就是九家的真本事?"
阿砚一愣。他忽然懂了杞翁的意思:账面上的平均分,是试出来的,试得少的那几家,分数里掺着运气,当不得真。
"那怎么办?"阿砚问,"总不能四十几夜都拿不准。"
杞翁提笔,在账册每一页的"平均欢愉"旁,又添了一栏,名唤"偏账"。
三、乐观的偏账
"我教你我年轻时学来的一招,"杞翁说,"每夜供酒前,你给每家都算一笔'总评':总评 = 平均欢愉 + 偏账。"
他指着"偏账"那栏:"这一栏,专给试得少的酒坊长脸。一家若只被挑过一两回,偏账就大,总评便被抬上去;挑得越多,偏账越小,渐渐就剩个实在的平均分。"
阿砚皱眉:"那岂不是总在偏袒没试过的?"
"不是偏袒,是给它们一个证明自己的机会,"杞翁正色,"一家只试过一回,你不知它是真好还是碰巧;一家试过三十回还平平,那平平便是它的真面目。偏账要做的,就是让那些'还没说清自己本领'的坊,也能被请上大堂几回。"
"那偏账该有多大?"
杞翁笑而不答,只把笔尖在"总评"栏的算式上点了点:"你只记着——偏账的大小,要看两件事:一是这坊自己被挑过几回,回数越少,偏得越多;二是四十九夜已经过去了几夜,夜越深,你越舍不得把好夜浪费在没底的事上,偏账便收得越紧。"
阿砚似懂非懂,却照着做了。
四、两家酒坊的真相
第十夜起,阿砚依着"总评"挑酒。头几夜,连他自己都意外:分明满堂红账面最高,他倒连着把醉仙居、晚晴庐几家少人问津的坊请了上来。
第二十夜,怪事显了。
醉仙居被多请了几回后,平均分竟从七十二一路爬到九十四——原来它头三回是真撞了霉运,底子却是九家里的头一份。偏账早早把它从冷板凳上扶了正。
而满堂红,随着被选次数累加,那点运气被摊薄,平均分从八十九慢慢落回七十六。它本就不差,却也并非账面那般风光。
第四十九夜散宴,阿砚翻着写满的账册,长舒一口气。九家里孰高孰低,此刻清清楚楚:醉仙居居首,晚晴庐次之,满堂红排在中间,最末一家自始至终没翻过身。
"你可知你赢在哪?"杞翁问。
阿砚想了想:"我没死守着一开始看着最好的,也没胡乱每家都匀。偏账替我把'没试够'和'试够了'分了家。"
杞翁颔首:"宁可先给未知一个机会,也别把最好的那一瓮,永远埋在没试透的运气里。"
技术解读
多臂老虎机(Multi-Armed Bandit, MAB)是强化学习中最基础又最经典的序贯决策问题:面前有 K 台"老虎机"(臂),每台吐钱的概率分布固定但未知;玩家每一轮只能拉一台的拉杆,只能观测到这一台的奖励。目标是在总共 T 轮内,让"本可拿到的最大累计奖励"与"实际拿到奖励"之差(即 regret,遗憾)尽可能小。
核心矛盾即"探索 vs 利用"(Exploration vs Exploitation):一直拉当前看起来最好的臂(贪心利用),可能永远错过一台均值更高却早期运气差的臂;均匀轮流试探所有臂(盲目探索),又会把大量轮次浪费在明显糟糕的臂上。
UCB(Upper Confidence Bound,置信上界)由 Auer、Cesa-Bianchi 与 Fischer 在 2002 年的论文 "Finite-time Analysis of the Multiarmed Bandit Problem" 中提出,给出了一个优雅的折中:对每台臂 i,维护其被拉动次数 n_i 与经验平均奖励 \hat{μ}_i,每轮选择
a_t = argmax_i [ \hat{μ}_i + c · √( ln t / n_i ) ]
其中 t 为当前轮次,c 为可调系数。第二项就是故事里的"偏账"——它随样本 n_i 增大而衰减,随总轮次 t 缓慢增长,保证每台臂都被探索足够多次,且探索的"慷慨程度"随时间收敛。Auer 等人证明,UCB 的累计遗憾上界为 O(√KT·ln T),在理论上达到最优量级。
另一类主流做法是汤普森采样(Thompson Sampling,1933 年提出、2010 年代被重新证明最优),即根据每台臂"是好臂"的后验概率随机抽选——对应故事中杞翁对手"按胜场比例抽签"的筒子。
核心概念回顾
| 概念 | 通俗解释 |
|---|---|
| 多臂老虎机(MAB) | 每轮只能选一个未知收益的选项,目标是总收益最大化 |
| 探索(Exploration) | 去试那些还不了解的选项,以收集信息 |
| 利用(Exploitation) | 选当前看起来最好的选项,以获取已知收益 |
| 遗憾(Regret) | 本可拿到的最优累计收益与实际收益之差 |
| 经验平均 \hat{μ}_i | 某臂被拉动后,按已观测奖励算出的平均值 |
| 置信上界 UCB | 在平均值上叠加一项"乐观不确定性",选最大者 |
| 偏账项 √(ln t / n_i) | UCB 的探索激励:试得越少越大,随时间收紧 |
| 汤普森采样 | 按各臂"为好臂"的后验概率随机抽选 |
| 贪心策略 | 每轮只选当前平均最高者,易陷入利用陷阱 |
| 最优臂 | 真实期望奖励最高的那台臂,是探索最终要找的目标 |
故事中的隐喻对照
| 故事元素 | 映射的技术概念 | 解释 |
|---|---|---|
| 碧澜港的醉月宴(连办四十九夜) | 多臂老虎机序贯决策过程 | 每一夜是一步决策,共 T 步 |
| 守宴人每夜只挑一家酒坊 | 每轮从 K 个臂中选一个 | 单步只能获得被选臂的反馈 |
| 宾客欢愉度(0–100) | 奖励 reward | 选中的臂吐出的收益 |
| 九家酒坊各自的隐藏真实平均欢愉 | 各臂的真实期望回报 μ_i | 固定但未知的均值 |
| 某坊某夜恰逢霉运/好运(分数波动) | 奖励的随机性/方差 | 同臂每轮奖励围绕均值波动 |
| 九家酒坊 | K 个臂 | 候选选项集合 |
| 始终只供账面最佳(如早期满堂红) | 贪心利用策略 | 只看当前均值,错失更优臂 |
| 头七夜轮着抓阄 | 均匀随机探索 | 不偏袒但浪费轮次 |
| 杞翁的账册(被选次数 + 平均分) | 维护每臂的样本计数 n_i 与经验均值 \hat{μ}_i | 在线估计算法状态 |
| "偏账"栏 | UCB 的不确定性激励项 c·√(ln t / n_i) | 试得越少、总夜越深,偏账越讲究 |
| 总评 = 平均分 + 偏账,取最大 | UCB 选择规则 argmax(\hat{μ} + bonus) | 乐观面对不确定性 |
| 醉仙居早期霉运却最终居首 | 最优臂被早期坏样本低估,靠探索激励翻盘 | optimism in the face of uncertainty |
| 满堂红早期好运后回落 | 早期幸运样本被大数定律纠偏 | 经验均值随 n 增大收敛到真值 |
| 对手"按胜场比例抽签"的筒子 | 汤普森采样 / 贝叶斯抽样 | 按后验概率随机选臂 |
| 守宴人阿砚 | 决策智能体 / 学习算法 | 在信息不完全下做序贯选择 |
为什么这个故事对应多臂老虎机与 UCB?
- 因为每夜只能挑一家,未被选的八家当晚欢愉全无记录,所以只能观测到被选中酒坊的质量 → 类比 MAB 每轮仅获得被拉臂的奖励,信息天然不完整,这正是它与"全信息反馈"问题的根本区别。
- 因为账册只记"被选过的坊",从未被请上大堂的坊没有平均分 → 类比未被拉动的臂无任何样本,必须用"偏账/乐观初始化"去补偿信息缺失,否则永远不被尝试。
- 因为偏账随被选次数 n_i 增大而衰减(√(ln t / n_i) 中 n_i 在分母),所以试得越多的坊,探索激励越小 → 类比 UCB 的不确定性项随样本增多收敛,估计变准后不再需要额外激励去探索。
- 因为满堂红早期好运被高估,而 UCB 用"经验均值 + 置信上界"而非瞬时分数,且大 n 下偏账消失,使其回归真实排名 → 类比 UCB 以经验均值为下界、置信项为上界,天然抵抗早期幸运样本的误导。
- 因为醉仙居早期霉运但真实最佳,偏账保证它获得足够尝试次数才肯下结论 → 类比 UCB 的"面对不确定性保持乐观"原则,确保最优臂以高概率被识别而非被过早淘汰。
- 因为总夜数 t 出现在 ln t 中,夜越深探索越"吝啬"却仍在必要处探索 → 类比 UCB 的遗憾上界 O(√KT·ln T),理论上累计遗憾随时间有界增长,不会无限膨胀。
后记:多臂老虎机是机器学习里少有的、能把"好奇心"写成一道精确公式的问题。杞翁的偏账栏,本质上是在替算法存一份谦卑——它承认自己看走眼过,所以愿意再给未知一次机会。现实中的推荐系统、临床试验分组、广告投放,背后都站着这位碧澜港的守宴人:在"已知的甜"与"未知的可能是更甜"之间,用一笔乐观的偏账,温柔地平衡着每一次抉择。

