JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

強化學習的不同:從監督式學習到規劃

替強化學習定位——它和監督式學習、和純粹的規劃有何不同,又為何是「探索或利用」兩難的所在。

不是監督式學習

如果你以前接觸過機器學習,那多半是監督式學習(supervised learning):一份「輸入配上正確標籤」的資料集,再訓練一個模型去模仿那些標籤。強化學習是另一種生物。這個對比——監督式 vs 強化學習——歸結到「你得到什麼回饋」。監督式學習被告知正確答案;強化學習只被告知它自己的答案結果有多好

這一個差別會一路擴散出去。監督式模型可以從一堆「訓練前就已存在」的固定範例學習。強化學習的代理人卻必須靠行動去自己產生資料,而且它看到的資料,取決於它還在學的那套行為——一個沒有固定解答本的移動標靶。

三种学习范式并列对比——监督、无监督和强化学习——标明强化学习的位置。

比较监督、无监督和强化学习的示意图。

從後果中學,沒有老師

因為沒有解答本,代理人又回到了試誤:要知道一個動作好不好,唯一的辦法就是試試看、觀察獎勵。這同時既解放又危險。解放,是因為代理人能創造出沒人教過它的招式。危險,是因為它只能學到它真的去做的那些動作——而它有可能永遠不會去做那個本來最好的動作。

探索還是利用的兩難

這份危險有個出名的名字:探索與利用的取捨(exploration–exploitation trade-off)。每一步,代理人都面對一個無聲的兩難。利用(exploit):做目前為止最有效的那件事,穩穩入袋一份可靠的獎勵。探索(explore):試一個全新、未經驗證的選擇,它可能更糟——也可能好得多,揭開一個你原本永遠找不到的選項。太偏向利用,你會困在平庸裡;探索過頭,你又把一生浪費在嘗試爛點子上。

這裡沒有白吃的午餐——每個會學習的代理人,甚至可以說每個人,都得拿捏出某種平衡。一個合乎常理的做法是:早期、你所知甚少時多探索,隨著你對「什麼有效」越來越有把握,再漸漸轉向利用。本領域後面有整整數個軌道,專門在講怎麼把這件事做好。

強化學習 vs 規劃:是學會規則,還是早就知道規則

強化學習也值得拿來和古典的規劃(planning)對比。在規劃裡,你已經握有一個關於世界如何運作的完美模型——比方說西洋棋的規則——你向前推演各種可能的未來,藉此挑出一步棋。在強化學習相對於規劃中,決定性的差別在於「是否知道規則」:純粹的強化學習代理人不會一開始就帶著模型。它只能純粹從「撞上世界」的經驗中,學會世界會怎麼回應。

蒙特卡洛树搜索向前推演各种可能的未来——这正是已知规则时进行规划的标志。

交互式蒙特卡洛树搜索,展开未来走法的树。

不過這條界線不是一堵牆。代理人可以先學出一個世界的模型,再在其中規劃——這個強大的混合手法,我們會在「基於模型」的軌道裡探討。現在,先把這兩端記在心裡:規劃「知道規則、用想的」;學習「不知道規則、用試的」。

回合任務 vs 持續任務

最後一個區別,會左右我們連「成功」該怎麼定義:這個任務會結束嗎?回合式任務(episodic task)有自然的終點線——一局遊戲結束、一座迷宮被破解、機器人摔掉了杯子——然後世界重設,全新的一回合(episode)重新開始。持續性任務(continuing task)則永不停止:調度流量的伺服器、恆溫器、交易系統,就這樣一路運轉,看不到任何重設。

G_t=\sum_{k=0}^{\infty}\gamma^k R_{t+k+1}

折扣回报对未来奖励求和,折扣因子 γ 即使在无尽的持续奖励流中也能让总和保持有限。