機器人學習

逆強化學習

逆強化學習是讓機器人透過觀察專家,去推斷專家究竟想達成什麼——是動作背後那個隱藏的目標,而不僅僅是動作本身。設想你在旁觀一位老練的司機,卻沒人告訴你交通規則。你不會只是死記「到這兒左轉、到那兒煞車」,而是慢慢推斷出他似乎在意些什麼——保持在車道內、與前車留出安全距離、平穩到達而不讓車一頓一頓的。逆強化學習對機器人做的正是這件事:它從示範中重建出一個獎勵函數,也就是那條評分規則,用來判斷哪些結果是好的、哪些是壞的,並使這條規則最能解釋專家為何會那樣行事。

這把通常的套路徹底翻轉了過來,名字也由此而來。在普通的強化學習裡——這是機器人在人工智慧那一面向強化學習這一領域借來的概念——你把一個獎勵函數交給機器人,它再通過反覆試錯去摸索出一種好的行為。逆強化學習則把這個過程倒著跑:你把行為(專家的示範)交給它,它去反推出這套行為暗地裡一直在優化的那個獎勵函數。它的好處在於:獎勵一旦被還原出來,抓住的就是意圖,而不是表面的動作。一個領會了專家「為何在障礙物附近放慢」的機器人,能在示範從未涵蓋的新情境裡繼續做出合理的選擇,而不是一味重放舊動作。

難點在於:同樣這幾段示範,往往可以由許多不同的目標來解釋——放慢車速可能意味著「省油」,也可能是「別顛壞貨物」,或者「躲開一個坑」,而機器人未必分得清是哪一個。因此這類方法要靠一些額外的假設,比如在所有說得通的解釋裡偏好最簡單的那個;而且通常要有相當數量乾淨的示範,推斷出來的目標才靠得住。

一台倉庫機器人觀察工人們如何在場地裡推車繞行,再藉助逆強化學習,推斷出一條沒人說出口的獎勵——避開人行通道——此後即便走在沒有工人示範過的路線上,它也照樣遵守這條規則。

機器人不是照搬路線,而是還原出那條塑造了路線的規則。

逆強化學習還原的是目標(獎勵);而普通的強化學習——一種人工智慧領域的方法——則從給定的獎勵出發去學出行為。二者互為鏡像。

又稱
IRLinverse optimal control逆最优控制