第二章 文獻探討
第二節 強化學習背景
不同於監督式學習 (Supervised Learning) 旨在找出輸入與輸出的映射關係,或是非監督 式 學 習 (Unsupervised Learning) 探 索 輸 入 資 料 本 身 的 組 成 結 構 。 強 化 學 習 (Reinforcement Learning) [8][9] 則擅長產生一個最佳化策略,使其最大化使用者所定義 的獎勵 (Rewards)。強化學習的策略,在決策的過程中所做的任何一個中間決策,可能 都不一定是當下最佳的行為(與貪婪法不同),但是對於整個任務而言,則可能會產生 更高的總回報。
2.2.1 強化學習的常用名詞
強化學習以環境 (Environment) 表示欲處理的問題定義,而代理人 (Agent) 為執行策略 的核心角色。策略會依據狀態 (State) 做出相對應的動作 (Action);我們也將欲達到的 目標以獎勵 (Reward) 的方式表達,獎勵對於在每個狀態下做出的動作給予回饋,用以 最佳化強化學習的策略。本小節對於狀態、動作、獎勵,以及環境和代理人做出較詳細 的定義:
• 狀態 (State, 𝑠$):
是隨時間而改變的變數,用來表示在該時間點下,物體的內部變量。以機器人 為例,它可以是在該時間點的電池剩餘時間、所處位置,或是機器手臂彎曲角 度等等。
• 動作 (Action, 𝑎$):
動作是與時間相關的變數,表示該時間點時代理人所做出的決策:例如在某時 間點車輛是加速還是減速、機器人應該轉向多少角度等等。
• 獎勵 (Reward, 𝑟$):
獎勵與時間、狀態、動作相關,為在該時間點時根據其狀態與選擇的動作的回 饋,通常需要延遲若干時間點後才能被觀測。強化學習根據獎勵的定義產生能 夠最大化獎勵的策略。
• 代理人 (Agent):
代理人在強化學習中,代表著遵循自身策略而與環境互動的主體。其根據自身 狀態決策出相對應的動作。
• 環境 (Environment):
代理人 (Agent) 所處的環境,也是欲處理問題的概述。代理人可以對環境一 無所知 (Model-free reinforcement learning),也可以嘗試預測環境 (Model-based reinforcement learning)。環境根據代理人的行為,給予回饋,其中包括獎勵以 及狀態的更新訊息。
圖 2. 強化學習的示意圖:代理人透過做出動作與環境互動,並觀察因動作所產生的狀態改變以及得到 的獎勵試圖最佳化策略。
s
ts
t+1r
t+1a
t
從圖 2的示意圖,強化學習以代理人為主體,不斷地嘗試與環境互動。在任意時刻 𝑡 時,
代理人根據自身狀態 𝑠$ 根據自身的策略做出動作 𝑎$ ,而環境接收到動作 𝑎$ 後在下一時 刻 𝑡 + 1 給予狀態 𝑠$)* 更新與獎勵 𝑟$)* 。而強化學習的最終目的則是在整個過程中,最 大化其收到的獎勵總和。
2.2.2 馬可夫決策過程
「馬可夫決策過程」 (Markov Decision Process, MDP) [10] 是一種能夠用來系統性的表 達強化學習的數學模型。馬可夫決策過程中具有與強化學習等價定義的狀態、動作以及 獎勵。
圖 3. 一個簡單的馬可夫決策過程:在任何時間點狀態可能處於 A、B、C,或者 D。
馬可夫決策過程以一群狀態(如圖 3之A~D)與若干連線所構成,每一條連線可以視為 做出某種動作。連線的起點是做出該動作前的狀態,終點是做出該動作後所造成的狀態 轉移。在任何時間點 𝑡 時,狀態 𝑠$ 可能處於A~D 的任一個,在選擇動作 𝑎$ 後轉移至 𝑠$)* , 其轉移機率根據 𝑃,-,-./,並且若干時間點後(以1 為例)得到獎勵 𝑟$)* 。馬可夫決策過 程假設每一個狀態只與前一個狀態相依:
𝑃(𝑠$|𝑠$2*, 𝑠$24, 𝑠$25,
…
) = 𝑃(𝑠$|𝑠$2*) (1) 若定義總回報 (Return) 𝐺$ 表示從時間點 𝑡 開始到結束時,得到的獎勵總和:𝐺$ = ∑;:<$)*𝑟: (2)
由於獎勵會延遲幾個時間點後才能夠觀測獲得。數學式 (2) 假設以延遲一個時間點才觀 測到獎勵,因此計數 𝑖 從時間 𝑡 + 1 開始。
若想找出從狀態 A 到狀態 D 的最佳策略,使得總回報最高。那麼一個作法是針對 所有的狀態進行評分,以找出能夠得到最高回報的狀態群。這個用來評分狀態的函式稱 為「狀態價值函數」(Value-function, 𝑣 ):
𝑣(𝑠) = Ε[𝐺$|𝑠$ = 𝑠] (3)
則根據貝爾曼方程式 (Bellman-Equation) [8][9],狀態價值函式可以求得封閉解:
I (Dynamic Programming) 配合狀態價值函數,便可找出最佳決策路線以最大化總回報。
若一馬可夫決策過程的狀態轉移矩陣無法直接求得,只能夠過對環境進行嘗試與觀 測其狀態的轉移變化,則此問題稱為「可部分觀測的馬可夫決策過程」(Partial Obserable Markov Decision Process, POMDP) [11]。可部分觀測的馬可夫決策過程可以視為一般化
的馬可夫決策過程。在此假設之下,貝爾曼方程式無法求得狀態價值函數的封閉解;僅 能經由採樣觀測的方式,透過不斷的嘗試與紀錄其狀態轉移的發生次序,估算真實ㄗㄜ 轉移機率,進而估計狀態狀態價值函數 。
採樣估算可分為以一次模擬為基礎,或是以一個時間點為基礎。前者以蒙地卡羅 (Monte-Carlo) [12] 演算法為代表,後者以時間差分 (Temporal-Difference) [13] 演算法 為代表。
2.2.3 蒙地卡羅法
蒙地卡羅法又可細分為「第一次拜訪時評估 (First-visit evaluation)」 與「每次拜訪時評 估 (Every-visit evaluation)」,差異只在於如何計算某狀態被觀測的次數 𝑁(𝑠)。蒙地卡 羅採樣的方式如下(以「每次拜訪時評估」為例):
每當狀態 𝑠 於 𝑡 時間點被拜訪時:
𝑁(𝑠) ← 𝑁(𝑠) + 1 𝐶(𝑠) ← 𝐶(𝑠) + 𝐺$ 𝑣(𝑠) ← 𝐶(𝑠)
𝑁(𝑠)
(7)
其中 𝐶(𝑠) 是一個變數,用途於累計每次總回報的結果。「第一次拜訪時評估」的蒙地 卡羅法在同一次模擬中,不管狀態 𝑠 被重複拜訪多次, 𝑁(𝑠) 與 𝐶(𝑠) 都僅計算一次;相 反的,「每次拜訪時評估」則可能計算多次(如數學式 7)。
v
透過數學式 (8) 替換 𝐶(𝑠) 以 𝐺$ 來表示,以 𝑣R(,)(𝑠) 為經過 𝑁(𝑠) 次估算後的狀態
新。例如某問題可能需要耗時許久才能夠進行一次完整的模擬;或是模擬時沒有辦法明 確的定義終止點。這類的問題使得蒙地卡羅法的更新效率較差,更適合使用時間差分法 來進行狀態的更新。
2.2.4 時間差分法
時間差分法不需要完成一次完整的模擬,便可以在過程中更新狀態價值函數。其選擇不 去直接使用總回報 𝐺$ ,而是透過不同時間點所處的狀態(例如 𝑠$ 與 𝑠$)* ),彼此的 狀態價值函數差異來估測 𝐺$ 。我們可以先根據數學式 (2) 先將 𝐺$ 換成 𝑟$)*+ 𝐺$)*,再 透過數學式 (3) 對於狀態價值函數的定義,則推得數學式 (12):
𝑣(𝑠$) ← 𝑣(𝑠$) + 𝛼(𝑟$)*+ 𝛾𝑣(𝑠$)*) − 𝑣(𝑠$)) (12)
由於這邊是利用模擬中前後時間點的狀態差異做更新,因此以狀態 𝑠$ 表示為在 𝑡 時間 點所處於的狀態。
除了狀態價值函數之外,行動價值函數 (Action-value function) 也常常被使用。行 動價值函數與狀態價值函數類似,除了行動價值函數不只評估處於某狀態的價值好壞,
更考慮採取某行動的價值變化,定義為 𝑄(𝑠, 𝑎):
𝑄(𝑠, 𝑎) = Ε[𝐺$|𝑠$ = 𝑠, 𝑎$= 𝑎] (13) 數學式 (11) 與 (12),都可以經由替換狀態價值函數 𝑠$ 成 𝑄(𝑠, 𝑎) 達到等價效果。