基于模型与无模型强化学习(model-based vs model-free RL)
/ MOD-ul-bayst vurs MOD-ul-free /
这一分野,关乎智能体肯不肯费心去建立一个「世界如何运作」的心智模型。无模型的智能体从不试图理解规则——它只是靠纯粹的试错,学出哪些动作往往有回报,就像一个人完全靠玩上几千遍、从不翻说明书,就把一款电子游戏玩得很溜。基于模型的智能体则会学出一个预测模型——「我若这么做,那件事多半会发生」——于是它能在行动前,先在脑中想象各种结果来做规划。
这个取舍很鲜明。基于模型的智能体在样本效率上可以高出许多:一旦你有了一个像样的模型,就能在内部演练上百万种情景,而无需触碰那个真实而昂贵的世界——当每一次真实试验都耗费时间、金钱,或赔上一台坏掉的机器人时,这是巨大的赢面。难处在于,模型永远不可能完美,而一个对着有瑕疵的模型去规划的智能体,会信心十足地去追逐幻象——它钻的是模型的错误,而非现实。
无模型方法(Q学习、DQN、PPO)之所以包揽了早期那些著名的胜绩,恰恰因为它们绕开了「学出一个准确世界模型」这桩残酷的难事——它们更简单、更稳健,只是对经验饥渴。而当经验稀缺、或存在一个可靠的模拟器时,基于模型的方法就威力十足;现代系统也越来越把两者糅合:比如 AlphaZero 借助一个已知的棋类模型来规划,而 MuZero 则学出自己的模型、并在其中规划。这里并没有一个定论上的赢家;全看真实经验有多昂贵、世界的规则有多可学。
学开车:无模型的学习者只是从无数次试验中记住「在这个一模一样的情形下,刹车」。基于模型的学习者则建起一个小小的物理模型——「以这个车速、在湿路面上,刹停需要这么远」——于是它能靠模拟,为那些它从未真正经历过的情形预先做出规划。
无模型:靠做来学「什么有效」。基于模型:学「世界如何运作」,再在想象中规划。
基于模型的强化学习,其效率附带一个隐藏的隐患:智能体是对着它学来的模型去规划的,于是那个模型里的任何误差,都成了规划器能去钻的漏洞,让它信心满满地为「实际不会发生的事」做优化。一个「好到足以拿来规划」的模型,本身就很难学出来——这正是为什么无模型方法,尽管对数据饥渴,多年来仍是更安全的默认之选。