機器人學習

探索-利用權衡

探索-利用權衡,是一個正在學習的機器人每次要選擇動作時都會面對的基本兩難:它應該堅持那個自己已經知道有效的動作(利用),還是去嘗試某個新的、不確定的動作,指望它效果更好(探索)?設想你剛搬到一座陌生的城市,找到了一家還不錯的咖啡館。每天早上,你可以回到那杯安全又熟悉的咖啡,也可以冒險去一家陌生的店——它可能棒極了,也可能糟透了。如果永遠只去同一家,你就永遠發現不了隔兩條街那家更好的店;可如果每天都賭一家新店,你又會把許多個早晨浪費在難喝的咖啡上。一個正在學技能的機器人,就一遍又一遍地活在這道選擇題裡。

它之所以重要,是因為機器人只能從它真正嘗試過的事情中學習。如果一隻機械臂總是重複那個到目前為止管用的抓取動作,它就收集不到任何關於自己從未試過的抓法的資訊,於是它可能永遠卡在一個平庸的習慣上,而一個好得多的動作其實就在視野之外。但如果它一直瘋狂地探索,又會不斷丟掉自己已經學到的好東西,很少真正去享用它們。好的學習兩者都需要:足夠的探索,去發現什麼是可能的;足夠的利用,去真正從已發現的東西中受益。

在實踐中,工程師會有意去調節這個平衡。一種常見做法是:在訓練早期、機器人幾乎一無所知時多多探索,然後隨著它越來越有把握,逐漸轉向利用——就像你剛到一座城市的頭幾週裡到處試咖啡館,等熟悉之後再安頓在幾家最愛上。該探索多少,取決於犯錯的代價有多高:一個模擬裡的機器人可以承受魯莽的實驗,而一台真實、脆弱又昂貴的機器卻承受不起。

一台正在學習碼放箱子的倉庫機器人,一直在用一個成功率約 70% 的傾斜角度。為了進步,它的訓練被設定為偶爾嘗試一個更陡的角度;大多數嘗試都失敗了,但其中一個新角度的成功率竟達到 95%——這是它一味求穩就永遠找不到的收穫。

一點點被迫的探索,讓機器人找到了比安穩老辦法好得多的抓取方式。

這個權衡在強化學習中被研究得最為透徹——機器人透過試錯和獎勵來學習——但凡是既要收集資訊、又要據此行動的系統,都會遇到同樣的「探索還是利用」的張力。

又稱
explore vs exploit探索与利用的权衡探索與利用的權衡