• 沒有找到結果。

第二章 文獻探討

第二節 增強式學習

Standard & Poor’s 在 2007 年 7 月出版的《S&P Dynamic Multi-Asset Strategy Index Methodology》提出動態資產配置的作法,在不提高投資組合波動性的前提

非監督式學習(Unsupervised Learning)是透過未經標註目標的資料來找出 隱藏於其中的結構。常見的監督式學習為分群(Clustering)。有些人認為增強式

執行動作時必須遵從探索性(Exploration)和利用性(Exploitation)之間的換 抵關係,在訓練階段一開始時,會隨機選取動作(即為探索性),接下來有較高 預期報酬(Expected Return)。報酬(return,𝐺𝑡)即為採取一系列的動作而得到 未來各期所有報酬折現到當期 𝑡 的總和,之所以需要折現是因為沒有一個完美的 模型可以預測未來的變化,因此未來各期的報酬具有不確定性,以數學式表示為:

𝐺𝑡 = 𝑅𝑡+1+ 𝛾𝑅𝑡+2+ 𝛾2𝑅𝑡+3+⋅⋅⋅= ∑𝑘=0𝑅𝑘𝑟𝑡+𝑘+1 (1)

其中,0 ≤ 𝛾 ≤ 1, 𝛾 為折現率。

代理人執行動作後,不僅會得到報酬,還會促使狀態產生變化。「狀態轉換 函數」(State Transition Function)可以用來模擬狀態的變化,又稱「模型」

(Model)。 𝑝(𝑠|𝑠, 𝑎) 表示當代理人執行動作 𝑎 後,從狀態 𝑠 轉移到狀態 𝑠 的 機率。

二、 馬可夫決策過程(Markov Decision Process, MDP)

2 策略有兩種表達方式,一為確定性策略(deterministic policy),𝑎 = 𝜋𝑡(𝑠),表在狀態 𝑠 下,一 定會選擇動作 𝑎 。二為隨機性策略(stochastic policy),𝜋𝑡(𝑎|𝑠),表在狀態 𝑠 下,執行動作 𝑎 的 機率。一般來說,策略是隨機的。

馬可夫鏈(Markov chain),是由一系列的狀態和狀態轉換機率(State Transition Probability)所組成 。

馬可夫決策過程(Markov Decision Process)即馬可夫過程加上價值衡量以 及決策能力,若一個環境中的所有狀態都擁有馬可夫性質即可稱此環境為馬可 夫決策過程,由以下四個要素所組成(Kaelbling, L. P., Littman, M. L., & Moore,

A. W.,1996):

1. 所有可能的狀態所構成的集合 𝒮 2. 所有可執行的動作所構成的集合 𝒜

3. 報酬函數 𝑟(𝑠, 𝑎) = 𝔼[𝑅𝑡+1|𝑆𝑡= 𝑠, 𝐴𝑡 = 𝑎] ⊂ ℝ 4. 狀態轉換函數(state transition function)

更正式的定義增強式學習問題中的馬可夫性質,一般而言,下一期環境的 變化應該與所有過去發生的事件有關,可以用下列式子表達:

ℙ[𝑆𝑡+1= 𝑠, 𝑅𝑡+1= 𝑟 | 𝑆0, 𝐴0, 𝑅1, … , 𝑆𝑡−1, 𝐴𝑡−1, 𝑅𝑡, 𝑆𝑡, 𝐴𝑡] (3)

若一個狀態擁有馬可夫性質,則下一期環境的變化僅跟本期的狀態及動作有 關,轉換函數可以用下式表示:

變數之期望值來評估該策略的好壞。因此,在 MDP 裡,以值函數(Value Function)

來衡量一個策略的好壞。

狀態值函數(State-value Function) 用來衡量代理人處於某個狀態時的好壞,

狀態值函數 𝑣𝜋(𝑠) 定義為遵循策略 𝜋 下,起始於狀態 𝑠 的預期報酬,可用下列的

動作值函數(Action-value function,又稱為 Q-Function)則用來衡量在某個 狀態下,採取某個動作的好壞。記為 𝑞𝜋(𝑠, 𝑎) ,定義為遵循策略 𝜋 下,起始於狀

Equation)(Bellman, R.E. 1957),可以用來說明當期狀態的值及其下期狀態的 值之間的關係。動作值函數亦可依上面的推導分解成兩部分,如下式: 循特定策略的形式,稱為「Bellman 最佳性方程」(Bellman optimality equation),

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

13

(14) 顯示在最佳策略下的狀態值 𝑣(𝑠) 必定等於在該狀態下選擇了最佳動作的預期 報酬 𝑞(𝑠, 𝑎)。若知道了 𝑞(𝑠, 𝑎),也就知道在每個決策點應該選擇哪個動作。

𝑣 的 Bellman 最佳性方程可表達如下:

𝑣(𝑠) = max

𝑎∈𝒜𝑠)𝑞(𝑠, 𝑎) = max

𝑎 𝔼𝜋[𝐺𝑡|𝑆𝑡= 𝑠, 𝐴𝑡 = 𝑎]

𝑣

(𝑠)

= max

𝑎 𝔼[𝑅𝑡+1+ 𝛾𝑣(𝑆𝑡+1)|𝑆𝑡 = 𝑠, 𝐴𝑡 = 𝑎]

𝑣

(𝑠)

= max

𝑎∈𝒜𝑠)∑ 𝑝(𝑠, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾𝑣(𝑆𝑡+1)]

𝑠,𝑟

𝑞 的 Bellman 最佳性方程則可以表達為:

𝑞(𝑠, 𝑎) = 𝔼 [𝑅𝑡+1+ 𝛾 max

𝑎 𝑞(𝑆𝑡+1, 𝑎)|𝑆𝑡 = 𝑠, 𝐴𝑡 = 𝑎]

𝑞

(𝑠, 𝑎)

= ∑ 𝑝(𝑠, 𝑟|𝑠, 𝑎) [𝑟 + 𝛾 max

𝑎 𝑞(𝑠, 𝑎)]

𝑠,𝑟

由此可知,一定存在一個最佳策略,藉由找出 𝑞(𝑠, 𝑎) 而獲得。

1. 動態規劃(Dynamic Programming)

動態規劃的原理是先將一個複雜的問題分解成許多較簡單子問題,解決了一

(Policy Iteration)或值迭代(Value Iteration)的方式求解。

策略迭代可以拆解為兩步驟,一為策略評估(Policy Evaluation),目的是為

2. 蒙地卡羅法(Monte Carlo Methods)

蒙地卡羅法與動態規劃不同地方在於其不需要對環境有完整的認識,但是卻 必須完整執行到最後一步才能改進策略,就金融市場而言幾乎是不可行的,所以 在此不多加敘述。

3. 時間差分法(Temporal-Difference Learning, TD Learning)

時間差分法結合了動態規劃法和蒙地卡羅法的優點,不需要環境的完整模型,

最簡單的 TD (0) 透過抽樣法採取動作,僅需往前一步到狀態 𝑆𝑡+1,即能藉由該 狀態的值𝑣(𝑆𝑡+1)回推以更新狀態 𝑆𝑡 的值 𝑣(𝑆𝑡)。

TD (0)更新狀態值函數的公式如下:

𝑣(𝑆𝑡) ⟵ 𝑣(𝑆𝑡) + 𝛼[𝑅𝑡+1+ 𝛾𝑣(𝑆𝑡+1) − 𝑣(𝑆𝑡)]

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

17

(19)

三、Q-Learning

Q-Learning(Watkins, C. J., & Dayan, P., 1992)是一種建立於 TD 控制問題的 離線式(off-policy)演算法,用來更新動作值函數,但動作值更新時所採的策略 不同於選取動作時所遵循的策略,而是使用最大的 𝑞(𝑠𝑡+1, 𝑎) 來更新 𝑞(𝑠𝑡, 𝑎𝑡)。

Q-Learning 更新動作值函數的公式如下:

𝑞(𝑠𝑡, 𝑎𝑡) ← 𝑞(𝑠𝑡, 𝑎𝑡) + 𝛼 [𝑟𝑡+1+ 𝛾 𝑚𝑎𝑥

𝑎𝑡+1𝑞(𝑠𝑡+1, 𝑎𝑡+1)-𝑞(𝑠𝑡, 𝑎𝑡)]

圖 3 Q-Learning 演算法

在 Q-Learning 中,使用 Q 表格(Q-table)來計算並儲存 𝑞 值,表格中的 列為狀態、欄為所採取的動作。

圖 4 Q-Learning 使用 Q-table 儲存 𝑞 值

𝑎

1

𝑎

2

… 𝑎

𝑚

𝑠

1 𝑞(𝑠1, 𝑎1) 𝑞(𝑠1, 𝑎2)

𝑠

2 𝑞(𝑠2, 𝑎1) 𝑞(𝑠2, 𝑎2)

⋮ ⋱

𝑠

𝑛

𝑞(𝑠𝑛, 𝑎𝑚)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

18

四、 深度增強學習(Deep Q-Learning)

Q-Learning 最大的缺點是,很難以大小有限的 Q-table 來表達擁有眾多狀態 及動作 MDP 的 𝒒 值,所以必須改用值函數近似(value function approximation)

的方法去近似最佳的 𝑞(𝑠, 𝑎) 函數。

𝑄(𝑠, 𝑎; 𝜃𝑖) ≈ 𝑄(𝑠, 𝑎) , 𝜃𝑖為第𝑖次迭代的參數(即權重)

使用類神經網路等非線性函數去近似動作值函數通常會很不穩定。這是因 為(1)觀測值序列的相關性;(2)對於 𝒒 值的微小更新都會對策略產生顯著的 改變,也因此改變了資料的分布狀況;(3)𝒒 值以及目標值 𝑟 + 𝛾 max

𝑎 𝑄(𝑠, 𝑎) 之間存在相關性。

為了改善非線性函數近似的不穩定性,使用一種新型的 Q-Learning 稱為 Deep Q-Learning(Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J.,

Bellemare, M. G., Graves, A., Riedmiller, M., Fidjeland, A. K., Ostrovski, G.,

Petersen, S., Beattie, C., Sadik, A., Antonoglou, L., King, H., Kumaran, D., Wierstra, D., Legg, S., Hassabis, D. & Petersen, S., 2015),以類神經網路來近似動作值函 數,這樣的類神經網路稱為 Deep Q-Network(DQN)。

Initialize reply memory 𝐷 to capacity 𝑁

Initialize action-value function 𝑄 with random weights θ Initialize target action-value function 𝑄̂ with weights 𝜃 = 𝜃

For episode = 1, M do

if episode terminates at step j + 1 otherwise

Perform a gradient descent step on (𝑦𝑗 − 𝑄(𝜙𝑗, 𝑎𝑗; 𝜃))2with respect to the network parameters 𝜃

Every C steps reset 𝑄̂ = 𝑄

End For

End For

圖 5 Deep Q-Learning 演算法

其包含了兩個重要的想法:

(1) 經驗回放(Experience Replay)

讓代理人能回顧儲存在回放記憶庫(Replay Memory)的經驗,便能再次從

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

20

(2) 調整 𝑞 值的更新方式:使用另一個類神經網路(稱為 target network)產生目 標值 𝑦𝑖,並改為定期由訓練的 Q-network 更新參數至 target Q-network(每 經過一定期數後才調整),可以降低兩個類神經網路之間的相關性。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

21

相關文件