第二章、 背景知識與相關文獻
2.3 增強式學習
增強式學習主要是代理人(agent)藉由每次與環境互動的過程中學習經驗,自行 發掘在各種狀態下應該如何動作,最後達成目標的方法。
2.3.1 增強式學習基本運作原理
基本上,一般的增強式學習包含了五個部份:
1. 學習者或決策者稱為代理人(agent) 2. 代理人所做出的決定動作(action) 3. 與代理人做互動的環境(environment) 4. 評價代理人決策好壞的回饋值(reward) 5. 代理人所處的狀態(state)
這五個部份的關係,如圖- 5所示。代理人會根據現在所處的狀態(
S t
)以及之前的 經驗,來決定要採取怎麼樣的動作(a t
);而這個動作會對環境造成改變,因此會產生出新的狀態(
S t 1
),並且同時會針對這個動作來評估好壞,傳回去給代理 人;代理人便可以根據傳回來的回饋值(r t 1
),累積起經驗,作為下次決策的參 考。如此週而復始的不斷循環後,最終使代理人在各種狀況下,都可以做出最適 當、最符合長遠利益的決策。圖- 5 增強式學習架構圖
Q-Learning 為增強式學習的一種學習方法,藉由建立每一個狀態對應每一個動 作之Q 值的查詢表(look-up table),Q-learning 可以順利地處理存在少量離散狀態與 作空間上的問題。其演算法如圖- 6 所示,利用 Q 值來累積每次採取動作後所學到
圖- 6 Q-Learning 演算法 訊號。每一個Q-Learning 會對應一張 Q-table,表示每一個狀態對應到動作的價值。
Q-table 如下表:
Algorithm: Q-Learning Algorithm
1. Initialize Q (
st , at)
2. Repeat for each step of episode:
(a) Initialize st
(b) Repeat (for each step of episode):
Choose a from s using policy derived from Q Take action at
表- 1 Q-table 狀態-動作價值表
a
1a
2… a
ms
1 Q(s1,a1) Q(s1,a2)s
2 Q(s2,a1) Q(s2,a2)…
s
n Q(sn,am) 假設原本的環境狀態為s2 執行 a1 動作,其 Q-table 如下:表- 2 Q-table 更新前之價值
a
1a
2… a
ms
1 Q(s1,a1) Q(s1,a2)s
20.6
0.2…
s
n Q(sn,am)假設α=0.3;γ=0.5;r=0.9,依據( 13 )可以得到修改後的 Q 值 = 0.6 + 0.3 * (0.9 + 0.5
* 0.8 - 0.6) = 0.81。
表- 3 Q-table 更新後之價值
a
1a
2… a
ms
1 Q(s1,a1) Q(s1,a2)s
20.81
0.2…
s
n Q(sn,am)以此方法更新Q-table 即可以達成依不同的環境改變機器人相對應的動作,使 機器人擁有自我學習的功能。此種學習方式稱之為Q-Learning。
2.3.2 增強式學習相關文獻
增強式學習法屬於機器學習法的一種,增強式學習法是源自帕弗洛夫教授 (Pavlov)有關心理學的制約實驗所衍生的學習法則[14],由於該學習法則具有較為 簡易的狀態回授輸入訊號,並以獎勵的方式增強學習結果的收斂性,在實際物理 系統的應用上頗為簡易,近年來成為機器學習法的重要方法之一。
[41]將增強式學習法則運用於機器人的控制系統中,透過經驗法則定義當目標 物件落於機器人前方各個位置的理想動作序,並在實驗的過程中使用增強式學習 修改,使機器人即使在硬體上有所缺陷,也能夠自我修正每種狀態所對應的動作 序而達成指定的任務。其缺點為基因演算法的學習需要相當多的世代才能達成,
在此篇論文中作者將增強式學習法則直接套用於機器人控制系統的基因演算法 中,利用實作回授訊號作為增強式學習法則的輸入,並藉以提供基因演算法的修 正依據,雖然實作結果可以達成控制的目的,但是受限於基因演算法的即時(real time)修正能力不足,整體學習機制長達十餘個小時。
[38]嘗試將貪婪式演算法(greedy algorithm)、基因演算法與增強式學習結合來 教機器人如何讓自己的行為變的更好。應用機器人去偵測一個環境的形狀並回報 給主控端環境的訊息,若機器人陷入區域問題(local problem)而無法跳脫,便使用 基因演算法來找到合適的動作序以跳脫此問題。機器人移動偵測環境時,同步更 新增強式學習之Q 值(Q-value),達到同步偵測環境並學習該如何前進之效果。
在2007 年,學者 Dongbing 和 Housheng 也提出結合基因演算法與增強式學習 應用在四足機器人踢足球控制,透過增強式學習去修改有限狀態機(finite-state machine)的狀態對應動作序列表,並使用基因演算法來決定模糊規則[7]。透過模擬 器與實機操作兩階段的實驗,可以證實透過模擬器能夠平行處理基因演算法方法 的運算,並透過實體機器人的測試提升實驗結果可行性,但由於使用有限狀態機 控制,使得增強式學習的效果被侷限於一定的範圍。