您當前的位置:首頁 > 攝影

強化學習,方差比較大是說什麼的方差大,為啥方差比較大?

作者:由 關陽 發表于 攝影時間:2022-11-05

強化學習,方差比較大是說什麼的方差大,為啥方差比較大?關陽2022-11-05 15:17:34

強化學習,方差比較大是說什麼的方差大,為啥方差比較大?

強化學習,方差比較大是說什麼的方差大,為啥方差比較大?2020-06-05 11:10:01

強化學習的目標是要

最大化累積獎勵

R_{\theta}(\tau)

的期望值

,而

\tau

就是一個

隨機變數,具有均值和方差

。 當多個隨機變數相互獨立時,方差有如下關係,可以看到,當多個隨機變數組合到一起時,方差是增大的。

D(\sum_{i=1}^n X_i) = \sum_{i=1}^nD(X_i)\\

在強化學習裡也是一樣的,例如,在MC方法中是採用整個episode來估計

R_{\theta}(\tau)

,而在TD的方法中只使用相鄰的狀態

s

來估計

R_{\theta}(\tau)

。隨機變數

\tau

是由多個隨機變數

s

組成的,所以MC方法的方差會比TD方法的大。雖然用整個episode是無偏估計,但是方差大必然就導致估計期望時 如果取樣樣本不足,估計值會不穩定。

強化學習,方差比較大是說什麼的方差大,為啥方差比較大?2020-06-05 11:07:51

你就記著,即使在同樣policy下,每回合的回報計算起來變化很大(回報與評估方式有關),那麼就叫方差大;如果回報均值與真實的策略回報的均值(這是上帝視角,就是已經有一個完美的評估方式,mcmc也行)差異很大,就說偏差大。反之亦然。

總結,這裡的方差均值可以等同於單回合的回報的方差和均值(按照某種評估方式,可以是mcmc,也可以是value function)。

最後。瀉藥。還有,樓上幾個大佬,能問這樣問題的肯定都是和我這樣的菜雞,咱能不能深入淺出把事情說明白,說那麼多,真的會coding嗎,會拿手算嗎,會推公式嗎。。。

知乎誤人。。

強化學習,方差比較大是說什麼的方差大,為啥方差比較大?2019-10-05 19:28:48

這裡的方差指的是梯度的方差,而梯度的方差來源於accumulate reward的估計;

樣本有限,一般來說估計越準,方差越大(參考周志華《機器學習》的偏差-方差分解),這裡既然是對accumulate reward的無偏估計(即取樣軌跡accumulate reward的期望值數學上等於其真實值),第一反應應該就是方差很大;

方差大使得訓練不穩定,結果難以復現等;

減小方差的方法是引入值函式近似,這樣做使得增量式地更新accumulate reward的估計,而不是直接使用當輪取樣得到的平均值(最後有一個簡單直觀的例子;

一個直觀的解釋。考慮服從標準正態分佈的一元隨機變數X;每輪策略梯度下降取樣的數目為N(每個樣本可以理解為一條軌跡),可知

\frac{\sum_i{x_i}}{N}

是對X(X的均值)的無偏估計。由於對於樣本比較少 ,

\frac{\sum_i{x_i}}{N}

會波動很大,比如t輪更新時得到對X的估計為2。1,下一輪很大可能與2。1差別比較大,比如說是6。2,這樣使得波動就很大。如果增量式更新X的估計,採用常用的

x = x + \alpha(\frac{\sum_i{x_i}}{N}-x)

的方式(收斂性參考sutton的《Reinforcement Learning:An introduction》),一般

\alpha

取很小的值比如0。01,則下一輪對X的估計為x = 2。1 + 0。01(6。2 -2。1) = 2。141,這樣就減小了波動。