機器人學習
獎勵塑形
獎勵塑形,是一種沿途撒下一些小小的、有幫助的獎勵的技巧,好讓機器人不必在黑暗中亂抓亂碰就能學會一項難任務。光禿禿的獎勵函數有個麻煩:對許多任務來說,機器人只有在最後才拿得到分——走通迷宮、把銷釘插進孔裡——在那之前一切都是零分。光靠盲目試錯,它可能要摸索很久,才偶然撞上那唯一的回報。塑形則發出一些小提示——離出口更近一點就給點小獎勵、把銷釘對得更正一點也給——這樣機器人就能得到「越來越接近」的回饋,一步步爬向目標,而不是盲目地亂逛。
微妙之處在於,加這些提示時不能偷偷改掉機器人最終該做的事。要是做得草率,這些「麵包屑」可能會適得其反:只因機器人朝目標移動就獎勵它,它可能學會在終點附近原地小跑,永遠靠吃「接近獎勵」過活,卻始終不越過那條線。安全的做法叫「基於勢能的塑形」,它只獎勵狀態之間真正的進展,從數學上保證最優行為分毫不變——機器人只是學得快得多。塑形改變的是學習的速度,而不是終點。
教機械臂疊積木時,你為「拿起一塊積木」和「把它懸在塔上方」各加一點小獎勵,於是它不再盲目失敗,幾小時就學會,而不是幾週。
一路撒下的獎勵「麵包屑」引導學習,卻不挪動終點線。
稀疏獎勵(只在最後才給分)正是塑形通常要去醫治的毛病。
又稱
另見