模型結構
模型同時學習action value Q、state value V和policy π。
- V中引入Target V,供Q學習時使用;Target Network使學習有章可循、效率更高。
- Q有兩個單獨的網絡,選取最小值供V和π學習時使用,希望減弱Q的過高估計。
- π學習的是分布的參數:均值和標準差;這與DDPG不同,DDPG的π是Deterministic的,輸出直接就是action,而SAC學習的是個分布,學習時action需要從分布中采樣,是Stochastic的。
Soft
Soft,Smoothing,Stable。
原始的強化學習最大熵目標函數(maximum entropy objective)如下,比最初的累計獎賞,增加了policy π的信息熵。
A3C目標函數里的熵正則項和形式一樣,只是作為正則項,系數很小。
在Soft Policy Iteration中,近似soft Q-value的迭代更新規則如下:
其中V(s)為soft state value function:
根據信息熵的定義:
soft state value function和maximum entropy objective在形式上還是一致的,系數α能通過調節Q-value消掉,可忽略。
TD3的soft state value function V形式與Soft Policy Iteration中類似,但是SAC的action是通過對policy π采樣確定地得到,每條數據數據的信息熵就是其不確定性-logπ(a|s);但考慮整個批量batch數據,其整體還是π的信息熵,與maximum entropy方向一致。
信息熵越大,分布越均勻,所以最大化信息熵,有利于增加模型的探索能力。
Soft State Value 目標函數
通過Q和π網絡近似V,注意s來自Experience Replay Buffer,但是a來自當前的π。
Soft Q-Value 目標函數
通過V近似Q,這里的V來自TargetNetwork V。
r(s,a)是環境的即時獎賞;s_t+1來自環境,由于環境是model-free,可以理解成s_t+1是確定的。
Policy 目標函數
通過Q近似π。
- 基于π分布的采樣增加擾動,for lower variance estimator。
- KL散度基于Q的分布近似忽略分母析分函數。
- 采樣之后,a是確定的,KL散度即熵的差容易求解,注意Q值來自神經網絡,值可以scale,無需關注系數。
學習過程
整體采用Replay Buffer,三個目標函數分別進行梯度學習。
總結
- SAC的關鍵是引入最大熵,優化soft value。
- 最大熵會使action探索能力很強,模型效果更平穩,但注意需要場景也是接受較強的探索。
- 從結構上講,模型冗余,在學習π和soft Q的情況下,又學習了soft V。
- 由于面臨的是連續動作空間,求期望的地方,采取了采樣近似,需要批次處理的數據集更加完整。
- 優化技巧比較晦澀,感覺很難通用。