機器學習 強化學習

2021-08-14 15:20:29 字數 4433 閱讀 3329

在環境中狀態的轉移、獎賞的返回是不受機器控制的,機器只能通過選擇要執行的動作來影響環境,也只能通過觀察轉移後的狀態和返回的獎賞來感知環境。

離散狀態空間、離散動作空間

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...