為什麼策略梯度(policy gradient)演算法會收斂到區域性最優?

時間 2021-06-02 09:08:43

1樓:

感覺cost function非convex的情況下,gradient類的演算法都很難保證收斂全域性最優,但可以收斂到乙個stationary point。

2樓:YukiRain

首先,policy gradient可以被看作是一種近似policy iteration的形式(只不過用的不是Bellman方程的形式),提到policy iteration就要放這張圖

上面這張圖告訴我們什麼?

第一,policy iteration分為兩步,第一步是policy evaluation,即根據當前的policy 來估計期望下的累計價值 ,後者也是RL最終的優化目標;第二步是policy improvement,即根據估計得到的 來提公升 policy

第二,最終policy iteration收斂到最優是以每步迭代中policy evaluation和policy improvement都最優為前提的

再說policy gradient目標函式,定義 ,其實policy gradient優化的目標就是RL最終的優化目標:

policy evaluation:用當前的 來估計 或者 (取決於你用的是哪個版本的PG演算法)

policy improvement:通過梯度來更新

從這裡可以看出policy gradient的每一步迭代是不保障最優的,即使我們不考慮 估計的誤差問題,每步梯度迭代時沒有任何理論保障 一定會比 好 (所以這也是TRPO最重要的motivation,為什麼要做trust region這麼麻煩的事情,為什麼一定要保證policy improvement的單調性)

最後,在DRL中因為用的是隨機梯度,每步梯度迭代的單調性只對於當前batch有意義;如果考慮函式擬合 或者 的誤差的話,那就更加沒有最優收斂保障了

所以說啊,theory is you know everything but nothing works (劃掉)

3樓:黃有

一些簡單的個人看法:

PG本質上還是梯度法,收斂到區域性最優是梯度法的通病。儘管PG的計算比常見的梯度法複雜得多,但也只是梯度的估計比較複雜,不影響其本質。我認為題主可能疑惑的是為什麼要強調PG存在這個問題而不強調其他演算法也存在這個問題。

從題主發的鏈結來看,應該是Silver的科普性或者說是入門級的教程。這個教程比較早,主要講授的也是基礎的強化學習知識,它在對比演算法優缺點時也集中在明顯的優缺點上,不會考慮複雜任務下各演算法的所有問題。總體而言,複雜任務中用的任意演算法在實際中幾乎不可能收斂到全域性最優,因此某種意義上來說區域性最優並不是策略梯度的主要問題。

因此鏈結裡提到的這些特性只能說是針對某些任務甚至是簡單任務而言。

那麼現在對比下其他演算法,比如策略迭代或值迭代等。對於有限馬氏決策過程(有限狀態、有限動作甚至有限個不同的reward),策略迭代或值迭代等由Bellman方程匯出的方法其實是有收斂到全域性最優的理論性保證,理論可以參考Csaba Szepesvari的《Algorithms for reinforcement learning》中Bellman方程部分,有簡單的說明,相關的證明也不複雜,有興趣可以進一步了解。當然,實際中有限MDP的問題還是比較常見的(比如圍棋),但全域性最優還是很難找到,其主要問題則在於狀態數太多了。

那麼對於這類演算法,沒有區域性最優的問題,但存在收斂速度慢的問題。

再對比下著名的Q-learning系列,注意到這系列的演算法通常是採用epsilon-greedy的策略進行探索,這保證了不管你要訓練的policy收斂到什麼樣的結果,始終能保證所有的狀態都能探索到。而在PG下,很可能你要訓練的policy給出的action的分布是比較極端的,比如在某個action上給出0.9999...

的概率,那麼此時很多狀態都無法進行探索,那麼收斂到區域性最優就是個明顯的問題。

進化策略比策略梯度有什麼優勢劣勢?

愛笑的Groza 最近仔細看了這幾篇ES,和之前直觀想象的ES還是有挺大區別的。ES作為zeroth order optimization,可以理解為用sample的方式計算差分代替PG的first order optimization,省下了bp的時間,花到了取樣上。直觀上導致的結果 我覺得 是增...

k means為什麼不用梯度下降迭代

朱珂銳 有其他和k means解決同樣問題的演算法在使用梯度下降,但是k means作為同類問題使用EM解法的簡化版本,它本身就是一種更好的選擇。1.NMF Nonnegative Matrix Factorization 非負矩陣分解的一種場景是,把乙個非負矩陣分解為乙個行歸一矩陣和另乙個非負矩陣...

為什麼隨機梯度下降方法能夠收斂?

結論 SGD能收斂的根本原因是每次迭代的時候步長會縮減。記住,SGD的學習率 步長是不斷變小的,和BGD不同。在梯度 滿足利普希茨條件,並且 滿足 強凸的前提下 1 理論上,SGD如果步長不變的話,收斂率和BGD一樣都是線性的,即 但是會收斂到乙個極值點的鄰域或者說區間 其中,是極小值,是固定步長 ...