iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0

「否認過去就是否認未來。一個人要麼接受命運,要麼拒斥,但命運不是自己創造來的。」

-- <地海彼岸>,娥蘇拉.勒瑰恩著,蔡美鈴譯

讀者雖然沒有完整的視角,但跟著每天的「目前狀況」,也應該可以知道一些反覆出現的特殊名詞像是第十六代,代表一個很關鍵的訓練起始點,而它之前的世代幾乎都沒有累積到後代的訓練當中。

然而,那些世代的結果都在這個專案以及這個系列文的三十天當中以它們的行為挑戰著我。雖然不能說我就因此而變得理解更多,因為總是常常很疑惑。但一件事情,從以為自己懂、以為自己能夠控制、為此首次產生疑惑、... 慢慢演變成讓我疑惑了數次而使得記憶十分鮮明,如果客觀來看,還是可喜可賀的。

所以今天來回顧一下前幾個世代發生的事情。其實在 8/12 的 gen0,就留下了很好笑的紀錄

Doctor\Plague Random Best General Current
Random 39.7% N/A 62.0% 56.5%
Best N/A N/A N/A N/A
General 19.4% N/A 35.5% 32.9%
Current 26.4% N/A 45.8% 37.7%

這是以醫療方的勝率來紀錄的。General 代表使用全體對局資料,而 Current 分別代表完全使用醫療或疫病方所訓練出來的代理人。這張最有趣的地方,在於沒有一個訓練過的代理人打得過 Random。打不過 Random,到底是什麼概念?這裡且先按下不表。

gen1 做了些調整超參數的掙扎,但沒有什麼用。gen2 有個比較好笑的嘗試,就是將價值輸出反轉。這其實就是很沒信心也不想花時間深入搜查的證明。沒信心是在於,比起懷疑自己不熟悉的東西(這裡是指深度學習的過程),更快懷疑自己親手做的東西(整個蒙地卡羅模擬對局、輸出資料集的結果)。然後下場也是恰如其分,完全沒有差別!哪怕你逆轉了盤面的判斷,對於與 Random 對抗的勝負,仍然沒有差別!做了兩組驗證之後隨即雙手一攤...

Doctor\Plague Random Best General Current
Random 39.4% N/A 78.9%
Best N/A N/A N/A N/A
General N/A
Current 20.4% N/A

到底為什麼會輸給 Random?我目前沒有真正的答案,但我有假說。我後續的專案維護也都是應對我的假說,而不算是真正找到了答案。值得注意的是,這裡可以看到醫療方的隨機猴子勝率約在 40%,與之後訓練的進展(也就是我自開賽以來在目前狀況當中更新給各位讀者的)的 52%~54% 之間,有著相當的距離。

主要假說:我把矛頭指向第九天特別介紹的原地踏步機制。當時主要針對規則與遊戲系統實作之間的拉扯,但這裡我則將犯人的頭銜直接安在這個機制之上。我認為,很顯然的,在不特別禁止原地踏步的機制下,在一開始的羅盤階段選點,醫療方的選擇性是較受限的。規則允許它的就只有內部的九宮格,而疫病方則有較為開闊的外層。所以如果在早期系統中,原地踏步還沒有被禁止的狀況下,醫療方原地踏步的比率自然會比較高,所以原地踏步這個絕對沒效率的選點就更有機會被選出,也就更可能落敗。

次要假說:我原先期待,原地踏步的獲勝效率不佳的事實,會慢慢的讓它在策略當中被汰除,而因此我應該不需要親自動手處理。但是有可能(畢竟這是假說),我所堅持的第三組模型輸出,棋步的合法性,會強化模型想要學習合法的棋步的傾向。這個傾向和容易理解的(畢竟原地踏步,有一整個 channel 的張量複製貼上即可)原地踏步模式結合之後,讓它變得更容易被習得。所以有可能,也因此更容易被選擇。

再次次要,有個事實:策略分佈的收集本來就品質很差。羅盤階段的選點少說兩三個、動輒七八個都可以選,至少就表示探索次數(第十三天提到的 TRAIL 參數),不能小於這個數太多。同時,這也是高度不均衡的,因為在後續的棋盤階段,無論是選角色還是選了之後選方向,都是至多只有兩個選項的狀態。而且更致命的是,探索次數超過 10 其實收集效率就已經很差了,但就算是模擬次數高達 10,也很難在模擬的時候抵達真正正確的價值計算,因為只有模擬終局的時候的 1.0 或 -1.0 才可參考,也就是說,除非非常接近遊戲終局,不然也是很難走到。現在回頭看,或許可以解釋導入殘局譜加強訓練這個路線的有效性,除了被人類學習的情境啟發之外,就是我長期處在價值、策略的可靠性雙無的情況下,我自己沒辦法只靠信仰 AlphaZero 之力前進。導入殘局譜,至少兩種輸出的可靠性都大幅提昇了。

咦,突然想到,我怎麼從來沒有想過動態探索次數的作法... 這也是被先前的作法框限了。因為所有著手的成功都是 Ix01 好一陣子,就也沒有想到代理人端需要針對不同的階段做出區隔。

所以在 gen3、gen4(八月中的時期),這裡做了相關的修正,修掉原地踏步,也一度移除了第四個優化項,以避免棋步合法性的要求過度介入它對於策略的學習。

其實這也是背離 AlphaZero 精神的,或者說,AlphaZero 精神會不會本來就不存在呢?在一個人為反覆修正(無論在環境端或是代理人端)才能學會一點什麼的強化學習演算法,我們還能宣稱那是從零開始嗎?難道不是有一些挫折的對處與期望的投射,摻雜在那些反覆修正之中了嗎?以至於所謂的 AlphaZero 精神只是機器學習散戶的我的一種一廂情願?但顯然,不將自己定位為信徒而開始的這趟旅途,更,更不可能被通用的 LLM 壓縮保存下來。

目前狀況

目前還在進行一部份的驗證遊玩,但只剩下十天的現在看來,應該也沒有機會有重大突破。除去回顧的部份,僅剩的主題,是遊玩介面的實作(串聯目前訓練的代理人模型)部份。但代理人訓練還想要做最後一組實驗,徹底脫離 AlphaZero 對偶網路的思維:如果回到只訓練盤面價值的模型,理論上可以加速推論很多,也可以精簡模型大小,不確定這樣是否有機會結合蒙地卡羅演算法(對,這不是訓練出來,而是程式寫出來的)和僅有盤面價值的網路,組合出更強大的代理人呢?


上一篇
互動元素的導入 2/2
下一篇
回顧訓練狀況 2/3
系列文
DeltaPathogen:國產雙人不對稱抽象棋「疫途」之桌遊 AI 實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言