認識強化學習

用看得懂的語言說明強化學習與 PPO,以及模擬中學到的東西如何轉移到真實世界。

強化學習是什麼

一般的機器學習需要有人先把正確答案準備好。強化學習沒有標準答案,只有一個分數:做得好就加分,做得差就扣分。模型要自己去試,從分數的變化裡推敲出什麼樣的動作比較好。這也是為什麼它特別適合用開車來說明 —— 沒有人能列出「每一種路況下方向盤該轉幾度」的完整清單,但你很容易判斷一趟開得好不好。

獎勵函式在做什麼

獎勵函式就是你給分的規則,也是你唯一能對模型下的指令。把「跑得快」給高分,模型就會開始切彎;再把「壓到線」扣分,它才學會在快與穩之間取捨。寫獎勵函式常常比調參數更關鍵 —— 模型永遠會朝著分數最高的方向去,包括你沒想到的那些鑽漏洞的走法。

PPO 是什麼

PPO(Proximal Policy Optimization)是目前應用最廣的強化學習演算法之一。它的核心想法很務實:每次更新都不要改太多。改太少學得慢,改太多則可能一次把先前學到的東西全毀掉,PPO 用一個限制把每次的調整幅度框在合理範圍內,因此訓練過程比早期的方法穩定得多。

為什麼模擬跟真實會有落差

這個落差有個名字,叫 sim-to-real gap。模擬器裡的地板摩擦力是一個固定的數字,真實的地板則到處都不一樣;模擬裡的馬達說轉多快就轉多快,真實的馬達會因為電量而變慢。模型在模擬裡的好成績,有一部分來自它真的學會了開車,有一部分則來自它學會了鑽模擬器的漏洞 —— 把車放到實體賽道上跑一趟,是分辨這兩者最直接的辦法。