CS294-112: Supervised Learning of Behaviors

一、從監督學習到決策

首先來看一個標準的監督學習的例子,給定一張圖片,然後通過CNN對其進行分類。
在這裏插入圖片描述
但是,在強化學習的世界裏,重點是Agent對環境如何做出決策,即Agent看到老虎會採取什麼行動, 那麼我們將最後的分類標籤改爲一系列行爲, 如 {逃跑,模仿武松打虎}, 這就是對行爲(決策)的監督學習。
jc2RuLm5ldA==,size_16,color_FFFFFF,t_70)

可以看到,對行爲的監督學習本質上也是一種分類任務,但是和傳統分類任務不同的是:前者具有序列屬性,也就是說,上一階段的輸出決定着下一階段的輸入(看到老虎選擇逃跑或者打虎,之後發生的事肯定是不一樣的). 在強化學習的世界裏,相關元素也有專業的術語。

  • oto_t: 稱爲Agent對環境的觀測(observation), 對應着圖像分類任務中的輸入圖像。
  • ata_t: 稱爲Agent關於目前環境狀態選擇的行動(action), 對應着圖像分類任務中的標籤。
  • πθ(atst)\pi_{\theta}(a_t|s_t): 稱爲策略(policy), 對應着圖像分類任務中的分類模型。

除此以外,在強化學習中,我們仍然需要明白狀態(state)和觀測(observation) 的區別。簡單來說,前者表示了真實的客觀世界,而後者是前者的有/無信息損失的表示。舉兩個例子:

  • 有損表示:
    在這裏插入圖片描述
    如上圖所示,在這個例子中,觀測即是該圖片本身,由一個二維的像素矩陣組成。而狀態則包含了豹的速度,獵物的速度等等物理信息。而從觀測中我們無法得到這些關於客觀世界的信息,因此這是一種有損的表示。

  • 無損表示:
    在這裏插入圖片描述
    對棋盤的描述,觀測便可以作爲狀態的無損表示。

狀態觀測行爲可以由如下的概率圖模型表示, 且一般我們假設其滿足馬爾科夫性:
在這裏插入圖片描述

二、模仿學習

由上述對行爲的監督學習,我們便可以得到強化學習中的模仿學習(Imitation Learning). 其本質便是Agent通過數據學習πθ(atot)\pi_{\theta}(a_t|o_t). 下圖是自動駕駛的一個示意圖:
在這裏插入圖片描述

但是,Agent真的能通過對有限數據的模仿從而在現實世界的任務中表現地好嗎?答案是否定的. 由於序列決策任務具有錯誤累積的性質,因此,往往最後的結果和給定的數據相比,有很大的偏差。如下圖所示:
在這裏插入圖片描述
如自動駕駛來說,如果小車在某一個位置做出了一點錯誤,那麼它看到的情形將和訓練集的圖像有一定偏差,那麼可能就會做出不好的行爲,而這不好的行爲又造成更大的偏差,從而累積錯誤。

基於此,Nvidia在它們的自動駕駛實驗中,對小車安放了三個攝像頭,分別觀測左前方,前方,右前方,並且對左前方的圖像給定一個稍右轉的標籤,右前方的圖像給定一個稍左轉的標籤。這樣便起到了一定的修正作用。
在這裏插入圖片描述
回到錯誤累積的問題,我們如何用數學語言描述這樣的錯誤呢?我們認爲真實的觀測數據滿足一個分佈Pdata(ot)P_{data}(o_t). 而Agent做出的行爲滿足一個分佈Pπθ(ot)P_{\pi_{\theta}}(o_t). Agent犯錯,本質就是Pπθ(ot)P_{\pi_{\theta}}(o_t)偏離了Pdata(ot)P_{data}(o_t). 因此,我們可以通過讓兩個分佈相等從而提高Agent表現。由此,我們有著名的DAgger: Dataset Aggregation算法:
在這裏插入圖片描述
該算法思想簡單,也能夠收斂,但是,這期間需要人的參與,需要花費大量的人力。那麼如果我們沒有進一步的人力資源呢。我們只能夠通過構建更強大的模型,從而使得模型能夠很好模仿專家的行爲。

在模型模仿專家行爲過程中,通常有兩個難點問題。

  • 非馬爾科夫性:

人類專家所作出的行爲並不是滿足馬爾科夫性質的。這樣就需要模型有着對序列建模的能力。通常,我們可以通過RNN結合CNN實現建模。
在這裏插入圖片描述

  • 多峯行爲:
    在這裏插入圖片描述
    對上圖所示的情形,我們可以選擇左轉,也可以選擇右轉,因此如果我們採用離散分佈建模,最後的概率分佈很明顯如圖中的藍色所示。但是,如果我們採用連續概率分佈建模呢?在該種建模中,我們通常選擇高斯分佈,並且通過神經網絡學習其分佈的均值和方差,但是高斯分佈是單峯的,因此,針對這樣類似的多峯行爲,無論如何簡單的網絡都無法擬合真實情況。

針對多峯問題,我們有以下解決方案。

  • 混合高斯分佈:我們採用多個高斯分佈去擬合真實的連續分佈。
  • 隱變量模型: 待理解
  • 自迴歸離散化待理解
    在這裏插入圖片描述

三、模仿學習的問題

  • 第一,人類需要提供數據,而人能提供的數據通常是非常有限的,即便如頭戴攝像機這樣相對便宜的手段被開發出來,而深度神經網絡通常需要大量的數據才能把事情做好,此爲一大限制。
  • 第二,人類不善於提供有些類型的行動指導,原因可能是多種多樣的。
  • 第三,人類可以自主學習而機器則不能,自主學習的好處是我們可以通過自己的經驗獲得無限量的數據,看到錯誤可以自我修正,達到連續的自我提升。

四、獎勵/代價函數

既然提到了模仿學習的弊端,那麼,我們應該如何解決這個弊端呢?模仿學習是希望Agent模仿人的行爲,這樣的行爲似乎是無腦,無目的性的,然而決策都是帶有目的性的,因此,我們是否應該引入目的因素呢?而這,就引出了獎勵/代價函數,以此來刻畫目的。一般我們用r(a,s)r(a,s)表示獎勵函數,用c(a,s)c(a,s)表示代價函數。它們兩者是等價的。

回到最開始的問題,對於Agent見到老虎所採取的行動。我們可以設置如下的目的: argmina1,a2,...,anP(eaten by tiggera1,a2,a3..,an)arg \min_{a_1, a_2, ..., a_n}P(eaten \ by \ tigger|a_1,a_2,a_3..,a_n)

即採取的行動要使得自己被喫的概率最小。

而對於自動駕駛的這樣的模仿學習,我們可以認爲它們的目的就是純粹的模仿: 即最大化似然log(a=π(s)s)log(a= \pi^*(s)|s)

總之,個人認爲,引入獎勵/代價函數相當於引入了目的,讓Agent不再是純粹的模仿,從而能夠自我提升。

在實際問題中,獎勵函數的形式也是很重要的:
在這裏插入圖片描述
如上圖所示,下方的獎勵函數都會比上方的獎勵函數更加魯棒。總體而言,獎勵函數應該更加平滑,應該儘量避免非黑即白

參考文獻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章