為了獲得更多的獎勵,我們往往不能只看當前獎勵,更要看將來的獎勵。
給定乙個mdp週期,總的獎勵顯然為:r=
r1+r
2+⋯+
rnr =r
1+r2
+⋯+r
n那麼,從當前時間t開始,總的將來的獎勵為:rt
=rt+
rt+1
+⋯+r
n rt=
rt+r
t+1+
⋯+rn
但是environment往往是隨機的,執行特定的動作不一定得到特定的狀態,因此將來的獎勵所佔的權重要依次遞減,因此使用discounted future reward代替:rt
=rt+
γrt+
1+γ2
rt+2
+⋯+γ
n−tr
n rt=
rt+γ
rt+1
+γ2r
t+2+
⋯+γn
−trn
這裡γ γ
是0和1之間的折扣因子——越是未來的獎勵,折扣越多,權重越小。而明顯上式是個迭代過程,因此可以寫作:rt
=rt+
γ(rt
+1+γ
(rt+
2+…)
)=rt
+γrt
+1r t=
rt+γ
(rt+
1+γ(
rt+2
+…))
=rt+
γrt+
1即當前時刻的獎勵等於當前時刻的即時獎勵加上下一時刻的獎勵乘上折扣因子
γ γ
。如果γ
γ
等於0,意味著只看當前獎勵;如果γ
γ
等於1,意味著環境是確定的,相同的動作總會獲得相同的獎勵(也就是cyclic markov processes)。
因此實際中
γ γ
往往取類似0.9這樣的值。因此我們的任務變成了找到乙個策略,最大化將來的獎勵r。
增強學習中,比較重要的幾個概念:
policy就是我們的演算法追求的目標,可以看做乙個函式,在輸入state的時候,能夠返回此時應該執行的action或者action的概率分布。π(
a∣s)
=p[a
t=a∣
st=s
] π(a
∣s)=
p[at
=a∣s
t=s]
value,價值函式,表示在輸入state,action的時候,能夠返回在state下,執行這個action能得到的discounted future reward的(期望)值。
value function一般有兩種。
state-value function:vπ
(s)=
eπ[g
t∣st
=s] vπ(
s)=e
π[gt
∣st=
s]
action-value function:qπ
(s;a
)=eπ
[gt∣
st=s
;at=
a]q π(
s;a)
=eπ[
gt∣s
t=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萬字剖析強化學習在電商環境下應用
機器學習 強化學習
在環境中狀態的轉移 獎賞的返回是不受機器控制的,機器只能通過選擇要執行的動作來影響環境,也只能通過觀察轉移後的狀態和返回的獎賞來感知環境。離散狀態空間 離散動作空間 第 k 個搖臂第 n次嘗試之後平均獎賞 q0 k 0 qn k 1n n 1 qn 1 k vn qn k q n 1 k 1 n v...
機器學習 強化學習
目的 使乙個3關節 髖骨 膝蓋 腳踝 小人學會沿直線走路。方法 1 對於小人建模 2 使用3層人工神經網路訓練小人走路 3 對於每次訓練結果評估,獎懲神經網路調整權重。演示了乙個使用深度強化學習 deep deterministicpolicy gradient,ddpg 演算法控制仿人機械人運動的...
機器學習 強化學習
1 強化學習概述 機器學習方法 有監督學習 資料集中的樣本帶有標籤,有明確目標 回歸和分類 無監督學習 資料集中的樣本沒有標籤,沒有明確目標 聚類 降維 排序 密度估計 關聯規則挖掘 強化學習 智慧型決策的過程,通過過程模擬和觀察來不斷學習 提高決策能力,最接近人類學習模式的機器學習方法 例如 al...