強化學習中的熵

2021-09-13 17:56:14 字數 1786 閱讀 8452

主要有一下幾種方式:

trpo,ppo方法:都是policy gradient方法和神經網路結合下的變體。使用on-policy更新,所得到的梯度是對真實梯度的一階近似,因此需要控制步長在合理範圍,步長大了近似就不準確了。於是,在策略梯度後面增加了kl-散度(相對熵)正則項,目的是控制步長/學習率

1991williams,soft q,soft ac:最大熵強化學習,將熵項加在reward上,其目的是鼓勵exploration,希望學到的策略在優化目標的同時盡可能地隨機,同時保持在各個有希望的方向上的可能性,而不是很快greedy收斂到乙個區域性最優

最大熵強化學習的motivation可以總結為:

對於多峰的q-value,我希望我的策略能夠有概率達到任意乙個峰值,而不是收斂到只能達到最高的那個

數學語言描述(能量形式定義)為:π(a

∣s)∝

exp⁡q(

s,a)

\pi(a|s) \propto \exp q(s,a)

π(a∣s)

∝expq(

s,a)

而該策略就是最大熵強化學習目標的乙個最優解,因此,做最大熵強化學習就是做這個

反過來說,將熵項加在reward上,設定了最大熵目標,那麼求解時就有兩條限制:

v (s

),q(

s,a)

v(s), q(s,a)

v(s),q

(s,a

)的估計都必須包含熵reward

策略梯度是根據最大化熵目標推導出來的

上面提到的1991williams,soft q,soft ac都遵循了這兩點,而a3c沒有,其v(s

)v(s)

v(s)

的估計並沒有考慮熵,同時也只是在策略梯度上增加了熵正則項,並沒有理論證明或指出新的梯度優化的目標是什麼。這就是最大熵和熵正則 的根本區別。

soft q也有策略網路和v,q網路,但是:

1)在更新q-value時,其 target q-value是一種soft-max q-value,而ac框架下target q-value是下一時刻策略的真實q-value(乙個類似傳統q-learning,另乙個類似傳統sarsa)

2)在更新q-value時,soft q並沒有使用真實的relay buffer裡面的資料,而是在其他分布中重新取樣,策略網路對q-value網路沒有直接影響

作者總結:sac避免了soft q的複雜性和不穩定性

這裡有乙個關鍵的限制,就是一旦設定最大熵目標,那麼現有的理論結果要求策略只能這樣取:

π (a

∣s)∝

exp⁡q(

s,a)

\pi(a|s) \propto \exp q(s,a)

π(a∣s)

∝expq(

s,a)

才能保證最大熵目標

因此有:

j π(

ϕ)=e

st∼d

[dkl

(π(⋅

∣st)

∣∣

exp⁡(q

θ(st

,⋅))

zθ(s

t))]

j_\pi(\phi)=e_\big[d_\big(\pi(\cdot|s_t)||\frac\big)\big]

jπ​(ϕ)

=est

​∼d​

[dkl

​(π(

⋅∣st

​)∣∣

zθ​(

st​)

exp(qθ

​(st

​,⋅)

)​)]

強化學習 強化學習基礎

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

強化學習 1 1 0 強化學習介紹

abstract 本文介紹reinforcement learning的具體特點和與其他機器學習演算法不同之處,本文是乙個骨架性的文章,所有專有名詞都保持英文原始單詞,具體內容會在後續中給出詳細解答。keywords reinforcement learning,situation,action,e...

強化學習系列1 強化學習簡介

2015年10月,alphago在和歐洲冠軍進行的圍棋賽上獲得了5 0的完勝,其後的深度強化學習也隨之火了起來。從本期開始開個新坑,一步步把強化學習的內容捋一遍。強化學習 reinforcement learning 是用來解決連續決策問題的一種方法。針對的模型是馬爾科夫決策過程 markov de...