在環境中狀態的轉移、獎賞的返回是不受機器控制的,機器只能通過選擇要執行的動作來影響環境,也只能通過觀察轉移後的狀態和返回的獎賞來感知環境。
離散狀態空間、離散動作空間第
k 個搖臂第
n次嘗試之後平均獎賞:q0
(k)=
0 qn
(k)=
1n((
n−1)
×qn−
1(k)
+vn)
qn(k)=q
n−1(
k)+1
n(vn
−qn−
1(k)
)
基於當前已知的搖臂平均獎賞對探索和利用進行折中基於 boltzmann 分布p(
k)=e
q(k)
τσki
=1q(
i)τ
假定任務對應的馬爾科夫決策過程四元組 e=
⟨x,a
,p,r
⟩ 均已知,即機器已對環境進行了建模,能在機器內部模擬出與環境相同或近似的狀況,從狀態
x 執行動作
a轉移到狀態 x′
的狀態轉移概率 pa
x→x′
以及獎賞 ra
x→x′
均已知。
狀態-動作值函式 q(
⋅):指定狀態-動作上的累積獎賞
乙個強化學習可能會有多個最優策略,最優策略對應的的值函式 v∗
稱為最優值函式:∀x
∈x:v
∗(x)
=vπ∗
(x)
其中,π∗=
argmaxπ∑
x∈xv
π(x)
。
最優值函式 v∗從乙個初始策略出發,先進行策略評估,再進行策略改進,不斷迭代直到策略收斂。(x)=
maxa∈a
qπ∗(
x,a)
策略迭代每次改進完都要進行評估,較為耗時,可將策略改進視為值函式的改進。
相比有模型學習,實際任務中環境的轉移概率、獎賞函式、狀態數很難得知,無法依賴環境建模。
評估與改進的策略相同,採用
ϵ-貪心代替原始確定性策略。
隨機取樣
s 條軌跡,每條軌跡長為
t,每個時刻為乙個三元組 (x
t,at
,rt+
1),最後乙個時刻只有狀態
對每個時刻 t∈
[0,t
−1] 計算當前累積獎賞 r=
1t−t
∑ti=
t+1r
i ,利用
r 更新平均獎賞 q(
xt,a
t)更新策略 π(
x,a)
: 引入 ϵ
-貪心是為了便於策略評估,但最終希望改進的是原始確定性策略。
隨機取樣
s 條軌跡,每條軌跡長為
t,每個時刻為乙個三元組 (x
t,at
,rt+
1),最後乙個時刻只有狀態
計算選取每個動作 ai
的概率 pi
: 對每個時刻 t∈
[0,t
−1] 計算當前累積獎賞 r=
1t−t
∑ti=
t+1r
i∏t−
1t=t
+1?(
ai=π
(xi)
)pi ,利用
r 更新平均獎賞 q(
xt,a
t)更新策略 π(
x,a)
:取當前平均獎賞最大的動作 π(
x,a)
=arg
maxa′q
(x,a
′)蒙特卡洛強化學習演算法效率較低,並且沒有充分利用強化學習任務的 mdp 結構,td 學習則結合了動態規劃與蒙特卡洛方法的思想,將蒙特卡洛批處理式更新狀態-動作值函式更改為增量式進行。
設基於
t 個取樣估計出的值函式 qπ
t(x,
a)=1
t∑ti
=1ri
,則得到第 t+
1 個取樣 rt
+1時,有:
qπt+
1(x,
a)=q
πt(x
,a)+
1t+1
(rt+
1−qπ
t(x,
a))
其中 rt+
1−qπ
t(x,
a)稱為 mc 誤差。
qπγ(
x)=∑
x′∈x
pax→
x′(r
ax→x
′+γv
π(x′
))qπγ(
x)=∑
x′∈x
pax→
x′(r
ax→x
′+γ∑
a′∈a
π(x′
,a′)
qπ(x
′,a′
))qπt+
1(x,
a)=q
πt(x
,a)+
α(ra
x→x′
+γqπ
t(x′
,a′)
−qπt
(x,a
))x=
x0,a
=π(x
) 對每個時刻在環境
e 中執行動作
a,得到獎賞
r 和轉移狀態 x′
根據當前轉移狀態 x′
和 ϵ -貪心策略獲得下一動作 a′
,即 a′
=πϵ(
x′) 更新狀態-動作值函式:q(
x,a)
=q(x
,a)+
α(r+
γq(x
′,a′
)−q(
x,a)
) 更新策略:π(
x)=arg
maxa″q
(x,a
″)x=
x′,a
=a′ ,迴圈 2-5x=
x0,a
=π(x
) 對每個時刻在環境
e 中執行動作
a,得到獎賞
r 和轉移狀態 x′
根據當前轉移狀態 x′
和 原始策略獲得下一動作 a′
,即 a′
=π(x
′)更新狀態-動作值函式:q(
x,a)
=q(x
,a)+
α(r+
γq(x
′,a′
)−q(
x,a)
) 更新策略:π(
x)=arg
maxa″q
(x,a
″)x=
x′,a
=a′ ,迴圈 2-5
值函式能表示為乙個陣列,最簡單情況下能表達為狀態的線性函式:
vθ(x
)=θ⊤
x
以異策略為例,可以得到如下強化學習演算法:x=
x0,a
=π(x
)=argmaxa″
θ⊤(x
;a″)
對每個時刻在環境
e 中執行動作
a,得到獎賞
r 和轉移狀態 x′
根據當前轉移狀態 x′
和 ϵ -貪心策略獲得下一動作 a′
,即 a′
=πϵ(
x′) 更新值函式:θ=
θ+α(
r+γθ
⊤(x′
;a′)
−θ⊤(
x;a)
)(x;
a)更新策略:π(
x)=arg
maxa″θ
⊤(x;
a″) x=
x′,a
=a′ ,迴圈 2-5
從範例軌跡中計算得到狀態的加權和均值向量 x¯
∗ 初始化隨機策略
π 第
t 次從策略中取樣,通過軌跡計算狀態的加權和均值向量 x¯
∗t計算最小化向量:w∗
=arg
maxw
minti=
1w⊤(
x¯∗−
x¯∗t
) ,保證 ∥w
∥≤1 根據環境 ⟨x
,a,r
(x)=
w∗⊤x
⟩ 更新策略
π
機器學習 強化學習
目的 使乙個3關節 髖骨 膝蓋 腳踝 小人學會沿直線走路。方法 1 對於小人建模 2 使用3層人工神經網路訓練小人走路 3 對於每次訓練結果評估,獎懲神經網路調整權重。演示了乙個使用深度強化學習 deep deterministicpolicy gradient,ddpg 演算法控制仿人機械人運動的...
機器學習 強化學習
1 強化學習概述 機器學習方法 有監督學習 資料集中的樣本帶有標籤,有明確目標 回歸和分類 無監督學習 資料集中的樣本沒有標籤,沒有明確目標 聚類 降維 排序 密度估計 關聯規則挖掘 強化學習 智慧型決策的過程,通過過程模擬和觀察來不斷學習 提高決策能力,最接近人類學習模式的機器學習方法 例如 al...
強化學習 強化學習基礎
為了應對車載網路中通訊環境快速變化的難題,可以使用強化學習進行解決,這裡對強化學習的基礎進行整理。主要的應用場景為車載網路中資源分配問題。本文源自莫煩python 強化學習章節,有需要請查閱原文 20200413補充了一些內容,來自這篇部落格,是李巨集毅的深度強化學習的筆記。強化學習的主要構成有 a...