1. 程式人生 > >機器學習(二十五)——強化學習(2)

機器學習(二十五)——強化學習(2)

折扣未來獎勵(Discounted Future Reward)

為了獲得更多的獎勵,我們往往不能只看當前獎勵,更要看將來的獎勵。

給定一個MDP週期,總的獎勵顯然為:

R=r1+r2++rn

那麼,從當前時間t開始,總的將來的獎勵為:

Rt=rt+rt+1++rn

但是Environment往往是隨機的,執行特定的動作不一定得到特定的狀態,因此將來的獎勵所佔的權重要依次遞減,因此使用discounted future reward代替:

Rt=rt+γrt
+1+γ2rt+2++γntrn

這裡γ是0和1之間的折扣因子——越是未來的獎勵,折扣越多,權重越小。而明顯上式是個迭代過程,因此可以寫作:

Rt=rt+γ(rt+1+γ(rt+2+))=rt+γRt+1

即當前時刻的獎勵等於當前時刻的即時獎勵加上下一時刻的獎勵乘上折扣因子γ

如果γ等於0,意味著只看當前獎勵;

如果γ等於1,意味著環境是確定的,相同的動作總會獲得相同的獎勵(也就是cyclic Markov processes)。

因此實際中γ往往取類似0.9這樣的值。因此我們的任務變成了找到一個策略,最大化將來的獎勵R。

Policy, Value, Transition Model

增強學習中,比較重要的幾個概念:

Policy就是我們的演算法追求的目標,可以看做一個函式,在輸入state的時候,能夠返回此時應該執行的action或者action的概率分佈。

π(as)=P[At=aSt=s]

Value,價值函式,表示在輸入state,action的時候,能夠返回在state下,執行這個action能得到的Discounted future reward的(期望)值。

Value function一般有兩種。

state-value function:

vπ(s)=Eπ[GtSt=s]

action-value function:

qπ(s;a)=Eπ[GtSt=s;At=a]

後者由於和state、action都有關係,也被稱作state-action pair value function。

Transition model是說環境本身的結構與特性:當在state執行action的時候,系統會進入的下一個state,也包括可能收到的reward。

很顯然,以上三者互相關聯:

如果能得到一個好的Policy function的話,那演算法的目的已經達到了。

如果能得到一個好的Value function的話,那麼就可以在這個state下,選取value值高的那個action,自然也是一個較好的策略。

如果能得到一個好的transition model的話,一方面,有可能可以通過這個transition model直接推演出最佳的策略;另一方面,也可以用來指導policy function或者value function 的學習過程。

因此,增強學習的方法,大體可以分為三類:

Value-based RL,值方法。顯式地構造一個model來表示值函式Q,找到最優策略對應的Q函式,自然就找到了最優策略。

Policy-based RL,策略方法。顯式地構造一個model來表示策略函式,然後去尋找能最大化discounted future reward。

Model-based RL,基於環境模型的方法。先得到關於environment transition的model,然後再根據這個model去尋求最佳的策略。

以上三種方法並不是一個嚴格的劃分,很多RL演算法同時具有一種以上的特性。

這裡寫圖片描述

參考

強化學習(Reinforcement Learning)基礎介紹

穆黎森:演算法工程師入門——增強學習

強化學習(Reinforcement Learning)演算法基礎及分類

強化學習的核心基礎概念及實現

強化學習全解

構建強化學習系統,你需要先了解這些背景知識

易忽略的強化學習知識之基礎知識及MDP(上)

易忽略的強化學習知識之基礎知識及MDP(下)

李飛飛高徒帶你一文讀懂RL來龍去脈

3萬字剖析強化學習在電商環境下應用