這篇文章還沒有正式完成,之後更新~

另外,推薦一下我的個人主頁: 關於 · pilgrim

不確定性(uncertainty)在機器學習、CV裡研究的比較多。在訓練好的模型中,我們給出一個輸入,模型會給我們一個輸出。但是有時候我們不只是要一個輸出,我們還需要輸出模型預測出該輸出的置信度,即不確定性,輔助我們更好的進行決策。這樣對於OOD(Out-of-distribution)的檢測很有幫助。

論文[1]在CV領域把不確定性分為了兩類:

- Aleatoric uncertainty,也就是隨機不確定性,也可以稱為資料不確定性。它來源於訓練資料本身的噪聲,是隨機而且固定的,是無法透過增加資料減小的。

- Epistemic uncertainty,也就是認知不確定性,也可以稱為模型不確定性。這種主要是由於模型預測不好導致的,可以透過增加資料去解決這個問題。

在離線強化學習中,我們主要研究模型不確定性。但是計算不確定性函式並在其上執行RL演算法往往與策略約束方法沒有太大區別,所以需要一些其他的方法:

- 在Model-based的強化學習中,使用的方式是(待更新)

- 在Model-free的強化學習中,主要是用整合的方式和MC Dropout的方式來對Q函式的不確定性進行建模。

具體來說,我們可以把策略的更新寫為:

\pi_{k+1} = \arg \max_{\pi} \mathbb{E}_{a\sim \mathcal{D}}[\mathbb{E}_{a\sim \pi(a|s)}[\mathbb{E}_{Q^\pi_{k+1}\sim \mathcal{P}_\mathcal{D}(Q^\pi)}[Q^\pi_{k+1}(s,a)] - \alpha Unc(\mathcal{P}_\mathcal{D}(Q^\pi))]]

在這裡,

\mathcal{P}_\mathcal{D}

是給定資料集,Q函式的集合,而

Unc

就是Q集合的不確定值。這樣,在不確定值大的時候策略趨於保守。

整合方法

這個方法來自文獻[2],是發表在ICML‘20上的一篇文章。

它的思想相當簡單,就是同時學習N個不同引數的Q網路,每次更新時候選擇一個它們的凸組合,然後組合得到新的一個Q值:

Q(s,a)=\sum_{i=1}^N \alpha_iQ_{\phi_i}(s,a), \sum_{i=1}^N\alpha_i=1

圖示如下:

離線強化學習中的不確定性

其餘的更新方式就類似於普通的DQN。這個方案比起之前提出的獨立學習多個Q網路的,然後選擇的時候投票選擇的Bootstrap ensemble方法來說更優。因為Bootstrap ensemble方法雖然是利用到了不確定性,但是這個整合方案中,實際上Q值很容易趨同,缺少多樣性,導致不確定性估計的錯誤。不確定性的估計本身也需要策略具有一定的多樣性。

我復現了這個方法(程式碼),但是實際效果並不好。仔細研讀論文發現一個問題:可能要在覆蓋面較廣的專家資料集上訓練才會有比較好的效果。

Monte Carlo Dropout方法

這個方法來自文獻[3],是發表在ICML’21上的一篇spotlight文章。

建模不確定性需要用到貝葉斯深度學習。在離線強化學習中,我們令

X=(s,a)

,即狀態動作對;而

Y

表示真實的Q值;

\theta

是Q函式的引數。按照貝葉斯的角度,我們需要最大化

p(\theta|X,Y)

p(\theta|X, Y) = \frac{P(Y|X,\theta)P(\theta)}{P(Y|X)}

但是

P(Y|X)

是無法獲得的。這裡是使用Dropout作為變分推斷的近似(論文[4]中詳細的說明了這個過程,後續補充),具體來說,在初始化Q網路的時候進行Dropout,然後在測試和訓練的時候都Dropout。我們取樣

T

次,不確定性可以用Q值的近似預測方差表示為:

\mathbb{V}[Q(s,a)] \approx \sigma^2 + \frac{1}{T}\sum_{i=1}^T\hat{Q}_t(s,a)^T\hat{Q}_t(s,a) - \mathbb{E}[\hat{Q}(s,a)]^T\mathbb{E}[\hat{Q}(s,a)]

其中,

\sigma^2

項是資料不確定性,後面兩項是模型不確定性,UWAC(Uncertainty Weighted Actor-Critic)主要使用後兩項來權衡OOD樣本的影響。具體來說,它對訓練的策略進行加權:

\pi

這裡

Q_0^{\pi

指的是上一輪迭代得到的Q值。文章給出了理論證明更新這樣的策略對OOD訓練樣本產生更好的收斂特性(理論部分待更新)。此外,策略的變化也會導致Actor和Critic中的損失函式的變化。

Critic的損失函式:

\mathcal{L}(Q_\theta)=\mathbb{E}_{(s

這個

Err

函式就是標準的當前Q值與目標Q值的損失。Actor的損失函式:

\mathcal{L}(\pi)=-\mathbb{E}_{a\sim \pi}\Big[\frac{\beta}{\mathbb{V}[Q_0^{\pi

這個損失函式直觀地降低了在OOD樣本上最大化Q函式的機率,進一步阻止了預測的Q值函式爆炸。

UWAC是在基線演算法BEAR[5]上進行改進的,虛擬碼如下:

離線強化學習中的不確定性

UWAC的做法是很直觀的,並且對原基線演算法的改動很小(紅色標記)。UWAC用dropout的方式得到多個Q值。如果本身我們能對這個樣本進行準確估計的時候,這個方差就會比較小,從而使得策略更偏向於選擇這個樣本對應的動作。如果不能準確估計則相反。

實驗結果如下:

離線強化學習中的不確定性

從這個實驗結果我們能夠看出一些問題:UWAC在專家資料集上的表現很好,超過了現有的其他方法。但是在次優甚至隨機的資料集中表現就和他的基線演算法BEAR區別不太大。

總結

除了這些方法,已經用於強化學習的建模不確定性的方法還有不少,比如分散式強化學習。但是,不確定性的估計本身是依賴於資料質量的,而這樣加權的學習方法只能解決策略估計的準確度問題,但是卻很難解決策略估計不好的問題。也就是說,不確定性本身是一個很重要的指標,但是它的使用(以目前方法來說)並不能從根本上解決訓練出策略不足夠優的問題(就算估計的很準,策略不好那又能怎麼樣呢?)。如何使得這樣的方法在次優甚至隨機的資料集上都能有較好的表現是一個值得研究的問題。

參考文獻

[1] Kendall, Alex, and Yarin Gal。 “What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?。” Advances in neural information processing systems (NeurIPS), 2017。

[2] Agarwal, R。, Schuurmans, D。, and Norouzi, M。 An optimistic perspective on offline reinforcement learning。 In International Conference on Machine Learning, pp。 104–114。 PMLR, 2020。

[3] Wu, Yue, et al。 “Uncertainty Weighted Actor-Critic for Offline Reinforcement Learning。” International Conference on Machine Learning (ICML)。 PMLR, 2021。

[4] Gal, Y。 and Ghahramani, Z。 Dropout as a bayesian approximation: Representing model uncertainty in deep learning。 In international conference on machine learning (ICML), pp。1050–1059, 2016。

[5] Kumar, A。, Fu, J。, Soh, M。, Tucker, G。, and Levine, S。 Stabilizing off-policy q-learning via bootstrapping error reduction。 In Advances in Neural Information Processing Systems (NeurIPS), 2019。