強化學(xué)習(xí)中的值函數(shù)近似算法

在這里插入圖片描述

目錄

??在開始說值函數(shù)近似方法之前光督,我們先回顧一下強化學(xué)習(xí)算法。強化學(xué)習(xí)算法主要有兩大類Model-based 的方法和Model-free的方法,model based 的方法也可以叫做 dynamic programming

  • Model-based dynamic programming

??在model-based的動態(tài)規(guī)劃算法中舍杜,核心概念是值迭代和策略迭代妙色。在值迭代算法中是通過對未來狀態(tài)的價值估計和及時獎勵來估計當(dāng)前狀態(tài)的價值桅滋;在策略迭代算法中,主要是通過貪婪策略進行迭代燎斩,而要使得貪婪策略能夠進行下去虱歪,依然還是會需要對狀態(tài)的估計,也就是需要值迭代栅表,但是可以不用值迭代收斂才進行策略改進笋鄙,這樣能夠使得算法收斂地快一些。其核心公式如下所示:

  1. Value iterationV(s) = R(s) + \max_{a \in A} \gamma \sum_{s^{\prime} \in S}P_{sa}(s^{\prime})V(s^{\prime})怪瓶。
  2. Policy iteration\pi(s) = \argmax_{a \in A} \sum_{s^{\prime} \in S}P_{sa}(s^{\prime})V(s^{\prime})
  • Model-free reinforcement learning

??在model-free的強化學(xué)習(xí)算法中萧落,主要是通過蒙特卡洛的方法和TD的方法來估計state value。在TD算法中又分為On policysarsa算法和off-policyq-learning算法洗贰。

  1. On-Policy MCV(s_{t}) \leftarrow V(s_{t}) + \alpha(G_{t}-V(s_{t}))找岖。
  2. On-Policy TDV(s_{t}) \leftarrow V(s_{t}) + \alpha (r_{t+1} + \gamma V(s_{t+1})-V(s_{t}))
  3. On-policy TD SARSA

Q\left(s_{t}, a_{t}\right) \leftarrow Q\left(s_{t}, a_{t}\right)+\alpha\left(r_{t+1}+\gamma Q\left(s_{t+1}, a_{t+1}\right)-Q\left(s_{t}, a_{t}\right)\right)

  1. Off-policy TD Q-learning

Q\left(s_{t}, a_{t}\right) \leftarrow Q\left(s_{t}, a_{t}\right)+\alpha\left(r_{t+1}+\gamma \max _{a^{\prime}} Q\left(s_{t+1}, a_{t+1}\right)-Q\left(s_{t}, a_{t}\right)\right)

處理大規(guī)模狀態(tài)敛滋、動作空間

??In all previous models, we have created a lookup table to maintain a variable V(s) for each state or Q(s,a) for each state-action许布。

??當(dāng)state or state-action space 太大的話,或者state or action is continuous就沒辦法created the lookup table绎晃。

??解決上述問題主要有兩種方式蜜唾,一種就是將大的連續(xù)的狀態(tài)空間或者動作空間離散化,變成一塊一塊地庶艾,這種做法控制效果不會太好袁余,另外一種辦法呢,就是建立一個參數(shù)化的值函數(shù)來近似咱揍,后面這種方法也是比較常見的颖榜。

Discretization Continuous MDP

??對于連續(xù)狀態(tài)下的MDP問題,我們可以將狀態(tài)離散化為概率煤裙,比如在這個狀態(tài)下采取什么動作會以多大的概率轉(zhuǎn)移到下一個狀態(tài)掩完,進而可以離散化為一個表格的形式。這種方法非常地繁瑣硼砰。

??這里要注意的就是state transition需要對連續(xù)量積分且蓬,離散化。

Bucketize Large Discrete MDP

??對于大規(guī)模的離散化狀態(tài)空間夺刑,我們可以通過domain knowledge將相似的離散state聚合在一起缅疟。上述操作不管怎么離散聚合都會存在誤差分别。因此現(xiàn)在的主流方法還是值函數(shù)近似算法。

Parametric Value Function Approximation

  • Create parametric (thus learnable) functions to approximate the value function

\begin{aligned} V_{\theta}(s) & \simeq V^{\pi}(s) \\ Q_{\theta}(s, a) & \simeq Q^{\pi}(s, a) \end{aligned}

??\theta is the parameters of the approximation function, which can be updated by reinforcement learning存淫。

??這種做法一方面解決了維度災(zāi)難的問題耘斩,另一方面可以Generalize from seen states to unseen states,這也是整個machine learning最強大桅咆,最具有魅力的地方括授。

Many function approximations

  • (Generalized) linear model
  • Neural network
  • Decision tree
  • Nearest neighbor
  • Fourier / wavelet bases

??上述算法都可以做 function approximations 但是決策樹、隨機森林的靈活性沒有那么強岩饼,因為強化學(xué)習(xí)算法中參數(shù)經(jīng)常會被用來更新荚虚。因此我們很多時候用Differentiable functions(Generalized) linear modelNeural network來做籍茧。

??We assume the model is suitable to be trained for nonstationary, non-iid data

Value Function Approx. by SGD

  • Goal: find parameter vector \theta minimizing mean-squared error between approximate value function V_{\theta}(s) and true value V^{\pi}(s)版述。

J(\theta)=\mathbb{E}_{\pi}\left[\frac{1}{2}\left(V^{\pi}(s)-V_{\theta}(s)\right)^{2}\right]

  • Gradient to minimize the error

-\frac{\partial J(\theta)}{\partial \theta}=\mathbb{E}_{\pi}\left[\left(V^{\pi}(s)-V_{\theta}(s)\right) \frac{\partial V_{\theta}(s)}{\partial \theta}\right]

  • Stochastic gradient descent on one sample

\begin{aligned} \theta & \leftarrow \theta-\alpha \frac{\partial J(\theta)}{\partial \theta} \\ &=\theta+\alpha\left(V^{\pi}(s)-V_{\theta}(s)\right) \frac{\partial V_{\theta}(s)}{\partial \theta} \end{aligned}

Linear Value Function Approximation

??舉個實際的例子:

  • Represent value function by a linear combination of features

V_{\theta}(s) = \theta^{T}x(s)

  • Objective function is quadratic in parameters \theta

J(\theta)=\mathbb{E}_{\pi}\left[\frac{1}{2}\left(V^{\pi}(s)-\theta^{T}x(s)\right)^{2}\right]

  • Thus stochastic gradient descent converges on global optimum

\begin{aligned} \theta & \leftarrow \theta-\alpha \frac{\partial J(\theta)}{\partial \theta} \\ &=\theta+\alpha\left(V^{\pi}(s)-V_{\theta}(s)\right) x(s) \end{aligned}

??那上述公式中的V^{\pi}(s)是怎么求的呢?

Monte-Carlo with Value Function Approx

??如果不知道真正的value是多少就無法更新寞冯,之前的方法就可以拿過來用了渴析。

??For each data instance <s_{t},G_{t}>

\theta \leftarrow \theta +\alpha(G_{t}-V_{\theta}(s))x(s_{t})

??可以證明MC evaluation at least converges to a local optimum 吮龄,如果環(huán)境本身是In linear case it converges to a global optimum俭茧。

TD Learning with Value Function Approx

??現(xiàn)在就是在找這個target learning用什么東西來替代它,在TD Learning中For each data instance <s_{t},r_{t+1} + \gamma V_{\theta}(s_{t+1})>

\theta \leftarrow \theta +\alpha(r_{t+1}+\gamma V_{\theta}(s_{t+1})-V_{\theta}(s))x(s_{t})

??Linear TD converges (close) to global optimum漓帚。

Action-Value Function Approximation

  • Approximate the action-value function:

Q_{\theta}(s,a) \simeq Q^{\pi}(s,a)

  • Minimize mean squared error:

J(\theta) = \mathbb{E} [\frac{1}{2}(Q^{\pi}(s,a)-Q_{\theta}(s,a))^{2}]

  • Stochastic gradient descent on one sample:

\begin{aligned} \theta & \leftarrow \theta-\alpha \frac{\partial J(\theta)}{\partial \theta} \\ &=\theta+\alpha\left(Q^{\pi}(s)-Q_{\theta}(s)\right) \frac{\partial Q_{\theta}(s,a)}{\partial \theta} \end{aligned}

Linear Action-Value Function Approx
  • Represent state-action pair by a feature vector

??這里就需要從state-action pair上面去抽取 fearure母债。

x(s, a)=\left[\begin{array}{c} {x_{1}(s, a)} \\ {\vdots} \\ {x_{k}(s, a)} \end{array}\right]

  • Parametric Q function, e.g., the linear case

Q_{\theta}(s, a)=\theta^{\top} x(s, a)

  • Stochastic gradient descent update

\begin{aligned} \theta & \leftarrow \theta-\alpha \frac{\partial J(\theta)}{\partial \theta} \\ &=\theta+\alpha\left(Q^{\pi}(s)-\theta^{\top} x(s, a)\right) x(s,a) \end{aligned}

TD Learning with Value Function Approx.

\theta \leftarrow \alpha(Q^{\pi}(s,a)-Q_{\theta}(s,a)) \frac{\partial Q_{\theta}(s,a)}{\partial \theta}

  • For MC, the target is the return G_{t}

\theta \leftarrow \alpha(G_{t}-Q_{\theta}(s,a)) \frac{\partial Q_{\theta}(s,a)}{\partial \theta}

  • For TD,the target is r_{t+1} + \gamma Q_{\theta}(s_{t+1}, a_{t+1})

\theta \leftarrow \alpha(r_{t+1} + \gamma Q_{\theta}(s_{t+1}, a_{t+1})-Q_{\theta}(s,a)) \frac{\partial Q_{\theta}(s,a)}{\partial \theta}

Control with Value Function Approx
Value Function Approx下的收斂方式

??上圖中無法達到上界的原因是由于值函數(shù)近似逼近無法趨近于真實 Q^{\pi} 所導(dǎo)致的尝抖。

  • Policy evaluation: approximatelypolicy evaluation Q_{\theta} \simeq Q^{\pi}毡们。
  • Policy improvement: \varepsilon-greedy policy improvement。
NOTE of TD Update

For TD(0), the TD target is

  • State value

\begin{aligned} \theta & \leftarrow \theta+\alpha\left(V^{\pi}\left(s_{t}\right)-V_{\theta}\left(s_{t}\right)\right) \frac{\partial V_{\theta}\left(s_{t}\right)}{\partial \theta} \\ &=\theta+\alpha\left(r_{t+1}+\gamma V_{\theta}\left(s_{t+1}\right)-V_{\theta}(s)\right) \frac{\partial V_{\theta}\left(s_{t}\right)}{\partial \theta} \end{aligned}

  • Action value

\begin{aligned} \theta & \leftarrow \theta+\alpha\left(Q^{\pi}(s, a)-Q_{\theta}(s, a)\right) \frac{\partial Q_{\theta}(s, a)}{\partial \theta} \\ & =\theta+\alpha\left(r_{t+1}+\gamma Q_{\theta}\left(s_{t+1}, a_{t+1}\right)-Q_{\theta}(s, a)\right) \frac{\partial Q_{\theta}(s, a)}{\partial \theta} \end{aligned}

??Although \theta is in the TD target, we don’t calculate gradient from the target. Think about why.

??對上述問題主要有兩方面的理解:1. 更新方程中是用后面的估值更新前面的牵署,而不需要去更新后面的漏隐,這也是馬爾可夫性所決定的大體思想(在無近似值函數(shù)的算法中也是這么做的)喧半;2. 在做神經(jīng)網(wǎng)絡(luò)的時候奴迅,可以更新后面的那一項都不去做更新,因為會使得算法更新不穩(wěn)定挺据。

Deep Q-Network (DQN)

??在2013年年底的時候DeepMind就基于深度學(xué)習(xí)和強化學(xué)習(xí)做出來了直接估計像素狀態(tài)值函數(shù)的深度強化學(xué)習(xí)算法取具。

??看似比較簡單的更新的trick,在深度強化學(xué)習(xí)里面往往是比較重要的method扁耐,原因是因為當(dāng)你神經(jīng)網(wǎng)絡(luò)變得復(fù)雜的時候暇检,很多以前經(jīng)典的算法都會不那么work,而如果能真正理解深度神經(jīng)網(wǎng)絡(luò)婉称,而應(yīng)用在強化學(xué)習(xí)里面块仆,這些看起來像一些trick的東西构蹬,往往會是深度強化學(xué)習(xí)里面最重要的算法。

  • VolodymyrMnih, KorayKavukcuoglu, David Silver et al. Playing Atari with Deep Reinforcement Learning. NIPS 2013 workshop.
  • VolodymyrMnih, KorayKavukcuoglu, David Silver et al. Human-level control through deep reinforcement learning. Nature 2015.

我的微信公眾號名稱:深度學(xué)習(xí)與先進智能決策
微信公眾號ID:MultiAgent1024
公眾號介紹:主要研究分享深度學(xué)習(xí)悔据、機器博弈庄敛、強化學(xué)習(xí)等相關(guān)內(nèi)容!期待您的關(guān)注科汗,歡迎一起學(xué)習(xí)交流進步藻烤!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市头滔,隨后出現(xiàn)的幾起案子怖亭,更是在濱河造成了極大的恐慌,老刑警劉巖坤检,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兴猩,死亡現(xiàn)場離奇詭異,居然都是意外死亡早歇,警方通過查閱死者的電腦和手機峭跳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缺前,“玉大人蛀醉,你說我怎么就攤上這事⌒坡耄” “怎么了拯刁?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長逝段。 經(jīng)常有香客問我垛玻,道長,這世上最難降的妖魔是什么奶躯? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任帚桩,我火速辦了婚禮,結(jié)果婚禮上嘹黔,老公的妹妹穿的比我還像新娘账嚎。我一直安慰自己,他們只是感情好儡蔓,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布郭蕉。 她就那樣靜靜地躺著,像睡著了一般喂江。 火紅的嫁衣襯著肌膚如雪召锈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天获询,我揣著相機與錄音涨岁,去河邊找鬼拐袜。 笑死,一個胖子當(dāng)著我的面吹牛梢薪,可吹牛的內(nèi)容都是我干的阻肿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼沮尿,長吁一口氣:“原來是場噩夢啊……” “哼丛塌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起畜疾,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赴邻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后啡捶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姥敛,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年瞎暑,在試婚紗的時候發(fā)現(xiàn)自己被綠了彤敛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡了赌,死狀恐怖墨榄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情勿她,我是刑警寧澤袄秩,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站逢并,受9級特大地震影響之剧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜砍聊,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一背稼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧玻蝌,春花似錦蟹肘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寒跳。三九已至聘萨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間童太,已是汗流浹背米辐。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工胸完, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翘贮。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓赊窥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狸页。 傳聞我的和親對象是個殘疾皇子锨能,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容