[TRPO] Trust Region Policy Optimization

論文鏈接:http://proceedings.mlr.press/v37/schulman15
引用:Schulman J, Levine S, Abbeel P, et al. Trust region policy optimization[C]//International conference on machine learning. PMLR, 2015: 1889-1897.

概述

Trust Region Policy Optimization (TRPO) 算法是一個(gè) model-free、policy-based、on-policy、Mento Carlo 的算法,且支持連續(xù)的狀態(tài)空間和連續(xù)的動(dòng)作空間,也支持高維輸入、神經(jīng)網(wǎng)絡(luò)作為函數(shù)approximator。

主要的特點(diǎn)

  • 最小化某個(gè)替代的損失函數(shù)以保證策略能夠被單調(diào)地改進(jìn)
  • 在理論上合理地對(duì)算法進(jìn)行一系列近似

主要的近似過(guò)程

  • 首先,對(duì)于policy gradient或者policy-based的更新算法,最重要的系數(shù)之一是步長(zhǎng) {\alpha},如果它非常小,則我們無(wú)法有效地更新策略;或者如果它非常大,那么學(xué)習(xí)可能會(huì)變得非常不穩(wěn)定,甚至越來(lái)越差。

  • 然后文章介紹了 Kakade & Langford (2002) 的一個(gè)公式:

    {\eta}(\tilde{\pi})={\eta}({\pi})+E_(s_0,a_0,s_1,a_1…)[\sum_{t=0}^{\infty}{{\gamma}^t A_{\pi} (s_t,a_t)}]={\eta}({\pi})+\sum_s{{\rho}_{\tilde{\pi}}(s) \sum_a{\tilde{\pi} (a│s) A_{\pi}(s,a)}}

    這個(gè)式子著我們可以給原始的成本函數(shù)(cost function)后添加一個(gè)附加項(xiàng), 如果這個(gè)項(xiàng) \sum_s{{\rho}_{\tilde{\pi}}(s) \sum_a{\tilde{\pi} (a│s) A_{\pi}(s,a)}} 是一個(gè)負(fù)值,則這一步可以保證降低成本函數(shù){\eta}。

  • 然后將等式的右側(cè)定義為 L_{\pi} (\tilde{\pi}), 這就是優(yōu)化的主要目標(biāo)。

  • 然后第一個(gè)近似值來(lái)了:由于新策略下\tilde{\pi}的狀態(tài)分布很難得到,因此將新策略近似地替換為舊策略,即忽略策略變化導(dǎo)致的每個(gè)狀態(tài)訪問(wèn)次數(shù)的密度的變化:

    L_{\pi} (\tilde{\pi})={\eta}({\pi})+\sum_s{{\rho}_{\pi} (s) \sum_a{\tilde {\pi} (a│s) A_{\pi} (s,a)}}

    請(qǐng)注意,現(xiàn)在,我們對(duì)狀態(tài)訪問(wèn)分布使用了舊的策略 {\pi}。

  • 另有一個(gè)已經(jīng)證明的理論說(shuō)明了:只要如下的這個(gè)更新L_{{\pi}_{{\theta}_{old}}}的步驟足夠?。?img class="math-inline" src="https://math.jianshu.com/math?formula=%7B%5Cpi%7D_%7B%7B%5Ctheta%7D_0%7D%20%5Crightarrow%20%7B%5Cpi%7D" alt="{\pi}_{{\theta}_0} \rightarrow {\pi}" mathimg="1">,那他就也能夠提升 {\eta} 本身(具體過(guò)程可看原文)

  • 然后基于保守策略迭代conservative policy iteration)理論:
    {\pi}_{new}(a│s)=(1?{\alpha}){\pi}_{old} (a│s)+{\alpha}{\pi}^′(a|s)

    以及 Kakade 和 Langford 已經(jīng)證明了的如下結(jié)果:

    {\eta}({\pi}_{new}) \leq L_{{\pi}_{old}} ({\pi}_{new})+\frac{2\epsilon{\gamma}}{(1?{\gamma}(1?{\alpha}))(1?{\gamma})}{\alpha}^2

    引出了第二個(gè)近似值:假設(shè)這里的步長(zhǎng)滿足 \alpha \ll 1,那么就可以將上述不等式近似為:

    {\eta}({\pi}_{new} )≤L_({\pi}_{old} ) ({\pi}_{new} )+\frac{2{\epsilon}{\gamma}}{(1?{\gamma})^2} {\alpha}^2

  • 目前為止,步長(zhǎng) \alpha 是最重要的一個(gè)系數(shù),本文也主要是針對(duì)此進(jìn)行的研究,那么第三個(gè)近似值來(lái)了:用 \pi\tilde{\pi} 之間的距離度量來(lái)代替\alpha,這里的距離衡量的量被定為總方差散度total variance divergence

    {\alpha}=D_{TE}^{max}({\pi}_{old},{\pi}_{new})
    {\epsilon}=max_s?|E_(a{\backsim}{\pi}^′(a│s) )[A_{\pi} (s,a)]|

  • 然后第四個(gè)近似值來(lái)了:根據(jù)KL散度和總方差散度之間存在的不等關(guān)系,用KL散度替換總方差散度:

    {\alpha}=D_{KL}^{max}({\pi}_{old},{\pi}_{new})

  • 現(xiàn)在問(wèn)題的主要目標(biāo)就變?yōu)榱耍?/p>

    min_{\theta} [L_{{\theta}_{old}} ({\theta})+CD_{KL}^{max}({\theta}_{old},{\theta})]

  • 接下來(lái),第五個(gè)近似值來(lái)了:把上面公式的右邊部分改成一個(gè)硬值約束:

    min_{\theta} [L_{{\theta}_{old}}({\theta})]
    s.t. D_{KL}^{max}({\theta}_{old},{\theta})≤{\delta}

  • 最后,因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=max" alt="max" mathimg="1">算子使優(yōu)化變得很困難,所以第六個(gè)近似值來(lái)了:使用平均的KL散度而不是最大值進(jìn)行計(jì)算:

    min_{\theta} [L_{{\theta}_{old}}({\theta})]
    s.t. \bar{D}_{KL}^{{\rho}_{{\theta}_{old}}} ({\theta}_{old},{\theta}) \leq {\delta}

  • 現(xiàn)在已經(jīng)有了理論公式,但在實(shí)踐中,需要對(duì)其進(jìn)行進(jìn)一步的近似,因此他們使用了重要性采樣最后(第七個(gè))的近似值變?yōu)椋?/p>

    min_{\theta}?{E_{s{\backsim}{\rho}_{{\theta}_{old}},a{\backsim}q} [\frac{{\pi}_{\theta} (a│s)}{q(a│s)} Q_{{\theta}_{old}}(s,a)]}
    s.t. E_{s{\backsim}{\rho}_{{\theta}_{old}}}[D_{KL} ({\pi}_{{\theta}_{old}} (\cdot│s)||{\pi}_{\theta} (\cdot|s))]≤{\delta}

兩種算法實(shí)現(xiàn)方式

  • Single Path:從s_0的分布中采樣若干個(gè)s_0,然后對(duì)每一個(gè)s_0起始進(jìn)行simulate,往下進(jìn)行N步,從而可以計(jì)算Q
  • Vine:從s_0開(kāi)始往后進(jìn)行多個(gè)state,然后從這些state開(kāi)始,每個(gè)state根據(jù)動(dòng)作的分布rollout若干個(gè)的動(dòng)作(分支)

具體的例子如下圖所示:

single path and vine approach
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容