熵最大化和智能行為

編譯自:Entropy Maximization and intelligent behaviour

作者: Aidan Rocke

分叉路徑花園 by Jorge Luis Borges

介紹

西班牙數學家 Sergio Hernandez 最近分享了一些 OpenAI gym 環境里的有趣結果,理論依據是 Wissner-Gross 博士發表的一篇相對來講不太知名的論文,Wissner 博士是在 MIT 受訓的物理學家。Wissner 的元啟發演算法(meta-heuristic)令人印象深刻的地方,是它僅僅由三個方程來描述,這些方程試圖將智能體(agent)的未來自由度最大化。在這篇分析中,我會總結這個方法,談談它的優缺點,並且嘗試通過對其中一個方程進行重要修改來優化這個方法。

因果熵力(Causal entropic forces)

接下來會對 Wissner 的元啟發演算法進行總結,它的前提是智能體處在近似精確或者完全精確的模擬環境中。仔細閱讀參考文獻 [1],你會發現這個假設是必要的。

宏觀態(Macrostates)

對於任何開放的熱力學系統來說,我們將系統 x(t) 在時間間隔 [0, 	au] 中走過的相空間路徑(phase-space paths)當作微觀態(microstates),然後使用以下的等價關係 [1],把它們分區(partition)成宏觀態集合 {X_i}_{iin{I}}

qquad x(t) sim x^{} (t) iff x(0) = x^{}(0)qquad (1)

這樣,我們可以使用一個唯一的當前系統狀態  x(0) 來識別每個宏觀態  X_i 。這在一個時間間隔內,定義了因果關係的概念。

因果路徑熵(Causal path entropy)

與當前系統狀態 x(0) 相關聯的一個宏觀態 X_i ,它的因果路徑熵  S_c 可以被定義成如下路徑積分:

S_c (X_i , 	au) = {-}k_B int_{x(t)} P(x(t)|x(0)),lnP(x(t)|x(0)),Dx(t) qquad (2)

其中:

P(x(t)|x(0)) = int_{x^{*}(t)} P(x(t), {x^{*}(t)}|x(0)), D{x^{*}(t)} qquad (3)

在方程(3)中,我們從根本上,對該開放系統中所有可能的路徑集合 x^*(t) 取積分。在實踐中,這個積分非常複雜,我們必須藉助近似值,並且使用抽樣演算法,比如漢密爾頓蒙特卡洛演算法 (Hamiltonian Monte Carlo) [3]。

因果熵力

以路徑為基礎(path-based)的因果熵力 F 可以表示如下:

 F(X_0,	au) = T_c {
abla}_X S_c(X,	au) |_{X_0} qquad (4)

T_c	au 是兩個自由變數。這個力從根本上讓我們離找到最大化 S_c(X_i, 	au) 的宏觀態 X_j 更進了一步。本質上,方程 (2),(3),(4) 的組合將我們的智能體的未來選擇數最大化。這跟我們大多數人在人生中所嘗試做的事情很類似,但是這個元啟發演算法有很重大的局限。

因果熵方法的局限

1. 因果熵的論文中明確假設我們擁有一個可靠的未來狀態模擬器。對於 OpenAI 的環境來說,這不是什麼問題,因為環境模擬器已經設計好了,但是在一般情況下,這是個很困難的問題。參考文獻 [4] 和 [5] 提供了兩個可能的解決辦法,它們使用遞歸神經網路(recurrent neural networks),可以在任意時刻,根據給定的分支因子 alpha 和遞歸深度 eta ,計算出潛在未來狀態的分布。

2. 最大化未來選擇數並不總是好的。有時候如果有更多有用的選擇,那麼少一些選擇會更好。例如在足球運動中,如果球員衝到球場的中央可以最大化將來的狀態數,即在球場上的可能位置,但他們通常不會這麼做。

在下一部分,我將表明,可以通過修改方程(3)來來找出第二個局限的可用解決方案。

因果路徑效用(Causal Path Utility)

假設使用一個遞歸神經網路來定義潛在宏觀態集合 {X_i}_{iin{I}} ,我們可以合理假設,隨著時間流逝,我們的智能體對未來的理解會不斷進化,因此宏觀態集合是時間的函數。所以我們有 {X_i(t)}_{iin{I}} ,而不是 {X_i}_{iin{I}} 。換句話說,我們的環境模擬器,也許是用的 RNN,很可能隨著時間流逝而改變它的參數,甚至是拓撲結構。

為了解決上面提到的第二個局限,並且鼓勵智能體作出自信的決定,我建議使用 U_c(X, 	au) 替代  S_c (X, 	au)

U_c(X_i , 	au) = {-} int_{x(t)} P(x(t)|x(0)) ,ln U(x(t)|x(0))e^{Var[U(x(t)|x(0))]} ,Dx(t)qquad (5)

其中 U(x(t),|,x(0)) 定義了給定狀態 x(0) 時,一個狀態  x(t) 的歸一化相對效用(normalised relative utility),這個函數是通過學習得到的,取值範圍是  [0, 1] 。在實踐中,我們可能使用神經網路來學習計算 U ,而為了計算 Var[U(x(t),|,x(0))] ,我們可能使用參考文獻 [2] 中的蒙特卡洛丟棄法 (monte-carlo dropout)。

至於計算方差的價值,在於它可以讓我們提高那些擁有低方差高估算效用的子空間(subspaces that have high estimated utility with low variance)的優先順序。這樣,我們試圖讓智能體對它的決定擁有自信。

或者,我們也可以將方差作為正則項(regularization term):

U_c(X_i , 	au) = {-} int_{x(t)} P(x(t)|x(0)) ,ln(U(x(t)|x(0)e^{-Var[U(x(t)|x(0))]}), ,Dx(t) \ = mathbb{E}[-ln U(x(t)|x(0))]+mathbb{E}[Var[U(x(t)mid x(0))]] geq 0 hspace{0.3cm} qquad (6)

這不僅可以簡化計算,還能將效用和不確定性的相對貢獻分解開來(disentangle the relative contributions of utility and uncertainty)。必須注意,方程(6)中的兩個表達式可以平行計算,儘管計算不確定性會更耗費計算資源。

討論

如果我們假設智能體對將來的認知不會改變太多,那它也許會設想將來的某些狀態是完美的。這與現實中的經驗觀察相一致,很多人相信某些特定的成就會帶給他們「真正的幸福」(genuine happiness)。換句話說,如果狀態空間是緊湊的,並且幾乎是時間無關的(time-invariant),智能體的最優未來宏觀態會聚集到一個固定的點 [6]。

儘管因果路徑效用的想法今天才在我腦子裡冒出來,但我相信這是個很有前途的方法,我接下來還會做一些更具體的實現。

參考文獻:

1. Causal Entropic Forces (A. D. Wissner-Gross & C.E. Freer. 2013. Physical Review Letters.)

2. Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning (Yarin Gal & Zoubin Ghahramani. 2016. ICML. )

3. Stochastic Gradient Hamiltonian Monte Carlo ( Tianqi Chen, Emily Fox & Carlos Guestrin. 2014. ICML.)

4. Recurrent Environment Simulators (Silvia Chappa et al. 2017. ICLR.)

5. On Learning to Think: Algorithmic Information Theory for Novel Combinations of Reinforcement Learning Controllers and Recurrent Neural World Models (J. Schmidhuber. 2015.)

6. Fixed Point Theorems with Applications to Economics and Game Theory (Border, Kim C. 1985. Cambridge University Press.)


推薦閱讀:

OpenAI人工智慧1v1擊敗Dota2頂級玩家:明年開啟5v5模式
Ciyous Note: 遺傳演算法與進化策略
親手教的AI總是放心些
他這個Z炮是怎麼壓到我的?——OpenAI解釋Dota2AI的實現過程

TAG:人工智能 | | openai |