一 強化學習 RL 基礎

2021-10-09 03:28:40 字數 3489 閱讀 2960

1. 初探強化學習

1.什麼是強化學習?

2.強化學習可以解決什麼問題?強化學習如何解決這些問題?

2. 強化學習、監督學習和非監督學習
1.監督學習解決的是什麼問題?監督學習如何解決這些問題?

2.強化學習與監督學習的差異:

3.強化學習與非監督學習的差異:

3. 強化學習基礎理論

3.1. 強化學習模型

ta_t

at​;圖中地球代表環境,它有自己的狀態模型,我們選擇了動作 a

ta_t

at​ 後,環境的狀態由 s

ts_t

st​ 變為 st+

1s_st+1

​, 同時我們得到採取動作 a

ta_t

at​ 的延時獎勵 rt+

1r_rt+1

​。然後個體繼續選擇下乙個合適的動作,環境的狀態隨之改變,我們將得到新的獎勵值。

3.2 強化學習要素

智慧型體(agent):強化學習主體,學習者或決策者。

環境:agent 外的一切,主要由狀態集組成。

狀態 s

ss, t

tt 時刻的環境狀態 s

ts_t

st​ 是它環境狀態集中的某乙個狀態;

動作 a

aa, t

tt 時刻 agent 選擇的動作 a

ta_t

at​ 是它的動作集中某乙個動作;

獎勵 r

rr (正/負獎勵訊號), t

tt 時刻個體在狀態 s

ts_t

st​ 採取的動作 a

ta_t

at​ 對應的獎勵 rt+

1r_rt+1

​ 會在 (t+1) 時刻得到;

策略(policy) π

ππ, 狀態到動作的對映,即 agent 會依據策略 π

ππ 來選擇動作。可用條件概率分布 π(a

∣s)π(a|s)

π(a∣s)

表示, 即在狀態 s

ss 時採取動作 a

aa 的概率,即 π(a

∣s)=

p(at

=a∣s

t=s)

π(a|s)=p(a_t=a|s_t=s)

π(a∣s)

=p(a

t​=a

∣st​

=s)。 此時概率大的動作被選擇的機會大;

價值函式 vπ(

s)v_π(s)

vπ​(s)

, 即個體狀態 s

ss 時依照策略 π

ππ 採取行動後的價值(value)。這個價值一般使用累積回報的期望來描述(累積回報是個隨機變數,無法作為價值函式的定義)。雖然當前環境會反饋乙個即時獎勵rt+

1r_rt+1

​, 但是光看這個延時獎勵是不行的,因為當前獎勵值高並不代表後續的獎勵值也高,因此我們需要綜合考慮當前獎勵和後續獎勵。價值函式 vπ(

s)v_π(s)

vπ​(s)

的一般表示式為:

v π(

s)=e

π(rt

+1+γ

rt+2

+γ2r

t+3+

...∣

st=s

)=eπ

[∑k=

0∞γk

rt+k

+1∣s

t=s]

v_π(s)=\mathbb_π(r_+γr_+γ^2r_+... |s_t=s)=\mathbb_π[\sum^_\gamma^k r_|s_t=s]

vπ​(s)

=eπ​

(rt+

1​+γ

rt+2

​+γ2

rt+3

​+..

.∣st

​=s)

=eπ​

[k=0

∑∞​γ

krt+

k+1​

∣st​

=s]獎勵衰減因子 γ∈[

0,1]

γ \in [0, 1]

γ∈[0,1

]。如果為0,則是貪婪法,即價值只由當前獎勵決定。如果是1,則後續所有狀態的獎勵和當前獎勵一視同仁。一般取值在0到1之間,即當前獎勵所佔權重大於後續獎勵所佔權重。

環境的狀態轉化模型 pss

′ap^a_

pss′a​

,即在狀態 s

ss 下採取動作 a

aa 轉到下乙個狀態 s′s′

s′的概率;

探索率 ϵ

ϵϵ,其主要用在強化學習訓練迭代過程中,用來平衡探索和利用。如果我們一直選擇使當前輪迭代價值最大的動作,那麼一些較好的但我們沒有執行過的動作將被錯過。因此,我們可以以 ϵ

ϵϵ 的概率選擇使當前輪迭代價值最大的動作,而以 (1−

ϵ)(1-ϵ)

(1−ϵ

) 的概率隨機選擇乙個動作。

4. 強化學習發展歷史

1.兩個關鍵時間節點:2023年和 2023年

2.三條主線

主線1:試錯學習模仿心理學上動物的學習方式。

主線2:最優控制動態規劃法:通過求解貝爾曼方程來間接解決最優控制問題, 存在「維數災難」問題。

主線3:時間差分法(第一次研究熱潮)

5. 擴充套件實列:井字棋 (tic-tac-toe)

1.遊戲描述:這是乙個簡單的遊戲,在乙個 3x3 的九宮格裡,兩個人輪流下棋,直到有個人的棋子滿足三個一橫一豎或者一斜,贏得比賽遊戲結束,或者九宮格填滿也沒有人贏,則和棋。

2. 井字棋github原始碼

3. **分析

【相關參考】

[1] 《強化學習》, sutton\barto 著;

[2] 《深入淺出強化學習原理入門》, 郭憲\方勇純 著;

[3] 《深度強化學習原理與實踐》, 陳仲銘\何明 著;

[4] 劉建平強化學習系列部落格.

強化學習RL實戰篇

執行一維一級倒立擺環境 import gym env gym.make cartpole v0 env.reset for in range 1000 env.render env.step env.action space.sample 乙個典型的agent environment loop 的實...

最新 強化學習庫 RL庫

近日,為了讓工業界能更好地使用前沿強化學習演算法,帝國理工和普林斯頓 強化學習團隊發布了專門面向工業界的整套強化學習基線演算法庫 rlzoo。rlzoo 專案與目前大多數專案不同,是以面向非rl研究者設計的。該庫目前同時支援 openai gym,deepmind control suite 以及其...

強化學習 強化學習基礎

為了應對車載網路中通訊環境快速變化的難題,可以使用強化學習進行解決,這裡對強化學習的基礎進行整理。主要的應用場景為車載網路中資源分配問題。本文源自莫煩python 強化學習章節,有需要請查閱原文 20200413補充了一些內容,來自這篇部落格,是李巨集毅的深度強化學習的筆記。強化學習的主要構成有 a...