[DQN自學筆記]一維離散迷宮(後篇)
從簡單的模型中,我看見了人生百態
1.模型的意義
在我的一維模型X....T....O
中,設定走到最右邊會得到+100分,走到最左邊會得到-100分,分別代表了最後的成功與失敗;而中間的過程選擇往右或往左,表示努力與鬆懈,而可以自由調整的小回饋,象徵著身處的環境。
(模型建構程式可參考前篇)
這樣的模型能夠比喻很多不同尺度的事情,可以是寫作業等小事,認真寫完被嘉獎,或偷懶沒做完挨罵;也可以是求學的過程,努力讀書不斷進步考第一名,或天天玩樂直到吊車尾;甚至是人生的歷程,積極進取值到達成人生目標,或自甘墮落最後…。
以下我將在不改變大回饋的前提下,調整兩個行動的小回饋,每回合起始的位置,以及Q-Learning公式的參數,看看代理人Agent會有甚麼反應,並試著解讀得出來的圖表。
2.努力的嘉獎與鬆懈的逞罰
先從尚未進行任何調整的<案例1>看起,左圖黃線在右邊有大三角形,最終成功的大回饋有轉化成價值傳播出去,表示知道努力是有價值的,藍線左邊有小低谷,表示經歷過一兩次慘痛教訓,右邊有小高峰,離成功只差臨門一腳反而想偷懶?
西方諺語用"胡蘿蔔與棒子"表示獎勵與逞罰,這兩種方式都能夠促使人努力,但這兩種方式之間有甚麼差別呢,<案例2>用右走給予+1的小回饋來模擬獎勵,觀察左圖除了發現Agent避免了失敗的經驗外,在很多狀態下向左走的價值大於0,代表覺得偷懶一下也是不錯的。
在右圖卻發現雖然最後都是成功的,但在最初的幾次訓練,竟然歷經了上千個步驟,表示在訓練的過程中Agent不斷左右來回游移,這就好像有人為了獲得進步獎,故意把考試考差下次再考好。
反觀<案例3>往左走給予-1的小回饋來模擬懲罰,Agent的行為就安分多了,不只第一次的訓練步數就少了很多,之後的訓練也幾乎都是以最快速度往右走,看來Agent也是"敬酒不吃,吃罰酒",但是否一味的給懲罰就是好的,可能要到複雜一點的環境中才能看出端倪。
3.努力很辛苦與鬆懈很誘人
順境有兩種而逆境也是,在<案例4>中向右走得到的回饋是-1,如實的反應了"學如逆水行舟"這句話,左圖藍線的最左側有很深的低谷,看來逆境讓Agent深刻體會失敗的痛苦,在右圖中會發現雖然前幾次的訓練是以失敗告終,但在10次的訓練之後幾乎都走向了成功的道路。
甚至在<案例4–1>我加大進步的阻力,向右走的回饋為-10,又讓每回合起始狀態S0=2,雖然在左圖看到state=1~6之間不管做甚麼動作都是負價值,非常令人難受,但從右圖可以發現Agent最後還是可以邁向成功,這就像看到家境清寒的學子考上第一志願,如此的振奮人心。
前面的幾種狀況最中都有好的結果,但在<案例5>中向左走還給+1的小回饋,這跟本就是惡魔的誘惑,從左圖中看到Agent再也沒有成功的機會了,前幾次訓練還會多掙扎一下,之後就幾乎直接往失敗的方向去了,甚至在左圖中state=2~7之間向左的價值還比較高,認為放鬆玩樂一下還滿好的,直到距離失敗只差一步之遙才知道不妙了,這不正是典型的"不見棺材不掉淚嗎"。
在<案例5–1>一樣有誘惑的情況下,將Agent起始狀態S0=8距離成功只差一兩步之遙,有機會發生完全反轉的結果,不只訓練的效率相當好,還完全沒經歷過失敗,"含著金湯匙出生"的人成功就是來的這麼容易。
看到這樣的結果真的挺令人絕望的,然而在現實中通常都是面臨著辛苦與誘惑雙面夾擊,那身為不會投胎的普通人,除了接受命運的不公、等待失敗的到來,難道就沒有其他辦法了嗎。
4.極度樂觀派與極度悲觀派
從上面這幾張狀態-價值圖(左圖),我們不難發現黃色往上的三角形都又大又寬,藍色往下的三角形都又細又尖,這表示通往成功的正價值會往外擴散,但導致失敗的負價值卻不會,這讓Agent通常要等到大難臨頭了才知道要怕,但這往往已經來不及了。
在上圖Q-Learning公式的綠色框部分,maxQ(S',a')導致了Agent到了新的狀態S',只會考慮到未來最好的發展,白話一點來說就是極度樂觀派,人生沒有一帆風順,更何況Agent在選擇動作的時候本來就存在隨機性,並不一定只會選擇價值最高的動作來行動,同理可知如果公式改成minQ(S’,a’),Agent的個性就變成了極度悲觀派,那在此實驗中會帶來甚麼影響呢。
<案例6>除了修該公式為minQ(S’,a’)之外,其餘的設定與<案例5>完全相同,結果左圖的藍線雖然負的值不算太大,但可以看的出來負價值是有擴散出去了,而黃線的部分必須等到離成功只差臨門一腳了,才真正有信心;右圖中發現雖然第一回合的步數高達30萬步,其他回合的步數也不少,但至少最終結果絕大多數都是成功的,相同的環境但不同的心態,帶來了截然不同的價值觀(狀態-價值圖),與完全相反的結果,這不正是孟子所說的"生於憂患,死於安樂"嗎。
這也不表示極度悲觀派就一定100%完美,只是目前的公式中並沒有一個參數,可以讓Agent樂觀一點或悲觀一點,只能改成用SARSA-Learning讓Agent的態度介於中間值,但他On-Policy的特性又導致Agent只能事必躬親,無法參考其他人的經驗。
5.結語
以上這些發現,只是目前比較有特色的結果,還有很多參數組合還沒有測試到,如此簡單的模擬環境,有很多更複雜的現象沒辦法如實呈現,而我對圖表的解讀也不是100%正確,但能夠將一些原本抽象的形容詞,以數值的方式定義或呈現,算是不錯的一個action,給自己一個+1的reward。