基於模型與無模型強化學習(model-based vs model-free RL)
/ MOD-ul-bayst vurs MOD-ul-free /
這一分野,關乎智能體肯不肯費心去建立一個「世界如何運作」的心智模型。無模型的智能體從不試圖理解規則——它只是靠純粹的試錯,學出哪些動作往往有回報,就像一個人完全靠玩上幾千遍、從不翻說明書,就把一款電子遊戲玩得很溜。基於模型的智能體則會學出一個預測模型——「我若這麼做,那件事多半會發生」——於是它能在行動前,先在腦中想像各種結果來做規劃。
這個取捨很鮮明。基於模型的智能體在樣本效率上可以高出許多:一旦你有了一個像樣的模型,就能在內部演練上百萬種情景,而無需觸碰那個真實而昂貴的世界——當每一次真實試驗都耗費時間、金錢,或賠上一台壞掉的機器人時,這是巨大的贏面。難處在於,模型永遠不可能完美,而一個對著有瑕疵的模型去規劃的智能體,會信心十足地去追逐幻象——它鑽的是模型的錯誤,而非現實。
無模型方法(Q學習、DQN、PPO)之所以包攬了早期那些著名的勝績,恰恰因為它們繞開了「學出一個準確世界模型」這樁殘酷的難事——它們更簡單、更穩健,只是對經驗飢渴。而當經驗稀缺、或存在一個可靠的模擬器時,基於模型的方法就威力十足;現代系統也越來越把兩者糅合:比如 AlphaZero 借助一個已知的棋類模型來規劃,而 MuZero 則學出自己的模型、並在其中規劃。這裡並沒有一個定論上的贏家;全看真實經驗有多昂貴、世界的規則有多可學。
學開車:無模型的學習者只是從無數次試驗中記住「在這個一模一樣的情形下,剎車」。基於模型的學習者則建起一個小小的物理模型——「以這個車速、在濕路面上,剎停需要這麼遠」——於是它能靠模擬,為那些它從未真正經歷過的情形預先做出規劃。
無模型:靠做來學「什麼有效」。基於模型:學「世界如何運作」,再在想像中規劃。
基於模型的強化學習,其效率附帶一個隱藏的隱患:智能體是對著它學來的模型去規劃的,於是那個模型裡的任何誤差,都成了規劃器能去鑽的漏洞,讓它信心滿滿地為「實際不會發生的事」做最佳化。一個「好到足以拿來規劃」的模型,本身就很難學出來——這正是為什麼無模型方法,儘管對資料飢渴,多年來仍是更安全的預設之選。