mdps簡單來說就是乙個智慧型體(agent)採取行動(action)從而改變自己的狀態(state)來獲取獎勵(reward)與環境(environment)互動的過程。mdps的策略完全取決於當前狀態,這也是馬爾科夫性質的體現。可以簡單的表示為
m=a,ps
,a,r
>
。回報(return)u(
s0,s
1,s2
,⋯) 與折扣率 discount γ∈
[0,1
] :
u 代表執行一組action後所有狀態累計的reward之和,但由於直接的reward相加在無限時間序列中會導致無偏向,而且會產生狀態的無限迴圈,因此在這個utility函式裡引入
γ折扣率,令以後的狀態所反饋回來的reward乘上這個discount係數,這意味著當下的reward比未來反饋的reward重要,這也比較符合直覺。定義 u(
s0,s
1.s2
,⋯)=
∑t=0
∞γtr
(st)
≤∑t=
0∞γt
rmax
=rma
x1−γ
由於我們引入discount,可以看到我們把乙個無限長度的問題轉換成乙個擁有最大值上限的問題。
強化學習的母的是最大化長期未來獎勵,即尋找最大的
u 。基於回報,我們引入兩個函式
價值函式用來衡量某一狀態或動作的優劣,即對智慧型體來說是否值得選擇某一狀態或在某一狀態下執行某一動作。
我們需要找到最優的策略使得未來回報最大化,求解過程大致可分為兩部,具體內容會在後面展開:
**:給定策略,評估相應的狀態價值函式和狀態-動作價值函式;
行動:根據價值函式得到當前狀態對應的最優動作。
bellman方程的分析
為了更加了解方程中期望的具體形式。第一層代表當前狀態(state),向下連線的第二層實心圓代表當前狀態下可以執行兩個動作,第三層代表執行完某個動作後得到的新狀態s′
。 根據上圖我們可以得到價值函式的表示式: υπ
(s)=
e[ut
|st=
s]=∑
a∈aπ
(a|s
)(ra
s+γ∑
s′∈s
pass
′υπ(
s′))
其中,pa
ss′=
p(st
+1=s
′|st
=s,a
t=a)
。 上式中策略
π 是指定狀態s情況下,動作a的概率分布,即π(
a|s)
=p(a
|s) 。將概率和轉換為期望,上式等價於 υπ
(s)=
eπ[r
as+γ
υπ(s
t+1)
|st=
s]同理,我們可以得到動作價值函式的公式如下: qp
i(s,
a)=e
π[rt
+1+γ
qπ(s
t+1,
at+1
|st=
s,at
=a)]
⎡⎣⎢⎢υ(1
)⋮υ(
n)⎤⎦
⎥⎥=⎡
⎣⎢⎢r
1⋮rn
⎤⎦⎥⎥
+γ⎡⎣
⎢⎢p11
⋮pn1
⋯⋱⋯p
1n⋮p
nn⎤⎦
⎥⎥⎡⎣
⎢⎢υ(
1)⋮υ
(n)⎤
⎦⎥⎥
上式,可用bellman方程表示:υ=
r+γp
υ ,可直接求出υ=
(i−γ
p)−1
r ;其演算法複雜度為o(
n3) ,一般可通過動態規劃、蒙特卡洛估計以及temporal-difference learning求解。
狀態價值函式和動作價值函式的關係υπ
(s)=
∑a∈a
π(a|
s)qπ
(s,a
)=e[
qπ(s
,a)§
t=s]
qπ(s,a)
=ras
+γ∑s
′∈sp
dss′
∑a′∈
aπ(a
′|s′
)qπ(
s′,a
′)=r
as+γ
∑s′∈
spas
s′υπ
(s′)
最優價值函式(optimal state-value function) υ∗
=maxπυ
π(s)
q∗(s,a)
=maxπq
π(s,
a)其意義為所有策略下價值函式的最大值。
bellman最優方程 υ∗
=maxaq
∗(s,
a)=maxa(
ras+
γ∑s′
∈spa
ss′υ
∗(s′
))q∗(
s,a)
=ras
+γ∑s
′∈sp
ass′
υ∗(s
′)=r
as+γ
∑s′∈
spa′
ss′maxa′
q∗(s
′,a′
)
通過bellman最優性方程找乙個最優策略需要以下條件:
所以我們一般採用近似的方法,很多強化學習方法一般也是研究如何近似求解bellman方程,一般有下面幾種
mdps還有下面幾種擴充套件形式:
動態規劃是一種通過把複雜問題劃分為子問題,並對自問題進行求解,最後把子問題的解結合起來解決原問題的方法。「動態」是指問題由一系列的狀態組成,而且狀態能一步步地改變,「規劃」即優化每乙個子問題。因為mdps 的 markov 特性,即某一時刻的子問題僅僅取決於上一時刻的子問題的 action,並且 bellman 方程可以遞迴地切分子問題,所以我們可以採用動態規劃來求解 bellman 方程。mdps的問題主要分兩類
control問題
其處理方法也分兩種
步驟:policy improment
**
強化學習 強化學習基礎
為了應對車載網路中通訊環境快速變化的難題,可以使用強化學習進行解決,這裡對強化學習的基礎進行整理。主要的應用場景為車載網路中資源分配問題。本文源自莫煩python 強化學習章節,有需要請查閱原文 20200413補充了一些內容,來自這篇部落格,是李巨集毅的深度強化學習的筆記。強化學習的主要構成有 a...
學習筆記 強化學習基礎
1.強化學習的基本結構是什麼?本質上是強化學習agent和environment間的互動。agent從environment中獲取狀態 state 然後輸出乙個action,這個action會加入到environment中,並使得environment輸出乙個新的state和action得到的rew...
強化學習 1 1 0 強化學習介紹
abstract 本文介紹reinforcement learning的具體特點和與其他機器學習演算法不同之處,本文是乙個骨架性的文章,所有專有名詞都保持英文原始單詞,具體內容會在後續中給出詳細解答。keywords reinforcement learning,situation,action,e...