深度強化學習——第十章稀疏獎勵

Hogwarts掃地老太太發表於2020-11-05

深度強化學習——第十章稀疏獎勵


參考筆記:
1. datawhale 深度強化學習筆記
2. 天津包子餡兒的知乎深度強化學習專欄

1.Sparse Reward

1.1 問題提出

在沒有辦法得到 reward 的情況下,訓練 agent 是非常困難的。舉例來說,假設你要訓練一個機器手臂,然後桌上有一個螺絲釘跟螺絲起子,那你要訓練它用螺絲起子把螺絲釘栓進去,那這個很難,為什麼?因為你知道一開始你的 agent 是什麼都不知道的,它唯一能夠做不同的 action 的原因是 exploration。舉例來說,你在做 Q-learning 的時候,會有一些隨機性,讓它去採取一些過去沒有采取過的 action,那你要隨機到說,它把螺絲起子撿起來,再把螺絲栓進去,然後就會得到 reward 1,這件事情是永遠不可能發生的。所以,不管你的 actor 做了什麼事情,它得到 reward 永遠都是 0,對它來說不管採取什麼樣的 action 都是一樣糟或者是一樣的好。所以,它最後什麼都不會學到。

如果環境中的 reward 非常 sparse,reinforcement learning 的問題就會變得非常的困難,但是人類可以在非常 sparse 的 reward 上面去學習。我們的人生通常多數的時候,我們就只是活在那裡,都沒有得到什麼 reward 或是 penalty。但是,人還是可以採取各種各式各樣的行為。所以,一個真正厲害的 AI 應該能夠在 sparse reward 的情況下也學到要怎麼跟這個環境互動。

1.2 解決方案

1.2.1 reward shaping

Reward shaping 的意思是說環境有一個固定的 reward,它是真正的 reward,但是為了讓 agent 學出來的結果是我們要的樣子,我們刻意地設計了一些 reward 來引導我們的 agent。

  1. Example 1
    把小孩當成一個 agent 。
    那一個小孩,他可以 take 兩個 actions,一個 action 是他可以出去玩,那他出去玩的話,在下一秒鐘它會得到 reward 1。但是他在月考的時候,成績可能會很差。所以在100 個小時之後呢,他會得到 reward -100。然後,他也可以決定要念書,然後在下一個時間,因為他沒有出去玩,所以他覺得很不爽,所以他得到 reward -1。但是在 100 個小時後,他可以得到 reward 100。但對一個小孩來說,他可能就會想要 take play 而不是 take study。我們計算的是 accumulated reward,但也許對小孩來說,他的 discount factor 會很大,所以他就不太在意未來的reward。而且因為他是一個小孩,他還沒有很多 experience,所以他的 Q-function estimate 是非常不精準的。所以要他去 estimate 很遠以後會得到的 accumulated reward,他其實是預測不出來的。所以這時候大人就要引導他,怎麼引導呢?就騙他說,如果你坐下來念書我就給你吃一個棒棒糖。所以,對他來說,下一個時間點會得到的 reward 就變成是positive 的。所以他就覺得說,也許 take 這個 study 是比 play 好的。雖然這並不是真正的 reward,而是其他人騙他的reward,告訴他說你採取這個 action 是好的。

  2. Example 2
    Facebook 玩 VizDoom 的 agent。VizDoom 是一個第一人射擊遊戲,在這個射擊遊戲中,殺了敵人就得到 positive reward,被殺就得到 negative reward。他們設計了一些新的 reward,用新的 reward 來引導 agent 讓他們做得更好,這不是遊戲中真正的 reward。比如說掉血就扣 0.05 的分數,彈藥減少就扣分,撿到補給包就加分,呆在原地就扣分,移動就加分。 活著會扣一個很小的分數,因為不這樣做的話,machine 會只想活著,一直躲避敵人,這樣會讓 machine 好戰一點。表格中的引數都是調出來的。

  3. 缺陷
    因為我們需要 domain knowledge,舉例來說,機器人想要學會的事情是把藍色的板子從這個柱子穿過去。機器人很難學會,我們可以做 reward shaping。一個貌似合理的說法是,藍色的板子離柱子越近,reward 越大。但是 machine 靠近的方式會有問題,它會用藍色的板子打柱子。而我們要把藍色板子放在柱子上面去,才能把藍色板子穿過柱子。 這種 reward shaping 的方式是沒有幫助的,那至於什麼 reward shaping 有幫助,什麼 reward shaping 沒幫助,會變成一個 domain knowledge,你要去調的

相關文章