為什麼像素會弄垮天真的模型
預測下一張原始影像極其困難,而且大多沒有意義——多數像素是與決策毫不相干的背景。硬要預測每個像素既浪費容量,又放大複合誤差。解法是別再直接對像素建模,改為學習一份精簡的、抓住重點的摘要。
潛在動態:對要旨建模,而非對畫面建模
潛在動態模型(latent dynamics model)先把每個觀測編碼成一個小小的潛在狀態——一種學出來的壓縮,保留與決策相關的內容、丟掉雜訊——然後預測這個潛在狀態如何隨時間演化。規劃與想像如今都在這個整潔的潛在空間裡發生,比起像素空間既更快、更平滑,也寬容得多。編碼器通常用與變分自編碼器(variational autoencoder)相同的機制來訓練。
编码器将输入映射为紧凑的潜在向量;解码器再从该潜在向量重建输入。
世界模型:一個學出來的模擬器
把這些零件縫在一起——一個編碼器、一個潛在轉移模型、一個獎勵預測器,通常還有一個能重建影像的解碼器——你就得到一個世界模型(world model):一個完整、學出來的環境模擬器,完全在智能體的腦海裡運行。一旦擁有這樣的模擬器,你就能在算力允許的範圍內生成任意多的想像經驗,這是樣本效率(sample efficiency)的終極體現。
世界模型的核心:一个学得的模拟器,预测下一个潜在状态与奖励,使智能体无需接触真实环境即可进行规划。
Dreamer:純粹靠想像來學習
Dreamer 把這個想法推到邏輯的盡頭。它從過往經驗的回放中學出一個潛在世界模型,然後完全在想像的潛在展開上訓練它的行動者(actor)與評論者(critic)——它真的是夢出成千上萬條軌跡,而不去碰環境。關鍵在於,因為潛在狀態維度低,這些夢很便宜,而且梯度可以沿著想像軌跡回流,直接改進策略。
潜在状态由转移箭头相连,一步步向前推演成一条想象的轨迹。
- 編碼:把回放緩衝區裡的真實經驗編成潛在狀態,並訓練世界模型去預測潛在轉移與獎勵。
- 想像:只用模型,從那些狀態出發做出長長的潛在展開。
- 學習:在想像的展開上訓練行動者與評論者,並穿過動態反向傳播。
- 行動:用改進後的行動者在真實世界中行動,收集少量新資料,然後重複。
強項與誠實的限制
潛在世界模型在視覺控制上帶來驚人的資料效率,也已從單一智能體擴展到多樣的任務。但它們承襲了前幾篇指南的每一項風險:如果編碼器丟掉了某個獎勵其實暗自依賴的東西,這場夢就會自信地犯錯。基於重建的世界模型也可能把力氣浪費在視覺上熱鬧、卻與決策無關的細節上——這個張力,最後一篇指南會用「只要求模型對與價值相關的事準確」來化解。