?2022年8月6日-7日,??AISummit 全球人工智能技術大會??如期舉辦。在7日下午舉辦的《人工智能前沿探索》分論壇上,西山居AI技術專家黃鴻波帶來了《游戲中強化學習與行為樹融合實戰(zhàn)》的主題分享,詳細分享了強化學習在游戲領域產生的價值。
黃鴻波表示,強化學習技術的落地并不在于要把算法改得多牛,而是要將強化學習技術與深度學習、游戲策劃相結合,形成一套完備的解決方案,并將其實現(xiàn)。
強化學習讓游戲更加智能
強化學習在游戲中的落地,能夠讓游戲變得更加智能,可玩性變得更高,這就是在游戲中采用強化學習的主要目的。
“強化學習是一種機器學習范式,它訓練代理的策略,以便可以做出一系列決策?!?nbsp;黃鴻波表示,代理的目的是根據(jù)對環(huán)境的觀察來輸出動作。這些行動將導致更多的觀察和回報。當代理與環(huán)境交互時,培訓涉及大量的反復試驗,并且每次迭代都可以改進策略。
在游戲中,采取行動或執(zhí)行行為的代理是游戲智能體(Agent)??紤]游戲中的角色或機器人,它必須了解游戲的狀態(tài),玩家在哪里,然后基于此觀察,應根據(jù)游戲的情況做出決定。在強化學習中,決策由獎勵決定,獎勵在游戲中可以作為高分提供,也可以提供給達到特定目標的新水平。
黃鴻波表示,關于游戲情況的最酷事情是,在游戲的壓力下訓練了智能體的策略。 例如,它可以了解受到攻擊時的處理方式,或如何行為以達到特定目標。
行為樹在游戲中的作用
行為樹是一個包含邏輯節(jié)點和行為節(jié)點的樹結構體。通常情況下,可以將每一種情況都抽象成一個類型的節(jié)點,按照規(guī)范去寫節(jié)點,然后把這些節(jié)點連接成一棵樹。當用戶每次去找一個行為的時候,就會從樹的跟節(jié)點出發(fā),從各個節(jié)點中尋找出一個和當前數(shù)據(jù)相符合的行為。
簡單來說,在AI各模塊耦合度較高、粒度較大的情況下,往往一個變動都牽扯到大量的修改,也很容易出現(xiàn)大量的重復代碼。而行為樹的出現(xiàn),給了廣大游戲開發(fā)者提供了一個“方格本”,讓AI開發(fā)者比較方便的搭建出一整套可復用、好擴展維護的AI框架出來。可以說,強化學習是用訓練得來的,行為樹是若干個else、if的語句結合。
上圖所示,圖中有一個根節(jié)點,往下是一個樹節(jié)點,樹節(jié)點中又包括逃跑、攻擊、閑逛等。把上圖當成一個AI或是機器人,讓他在叢林中巡邏。當AI看到一個ORC半獸人,并判斷打不過這個ORC,當觸發(fā)這個條件,AI會逃跑,逃跑就會執(zhí)行Run動作。當判斷比較容易打,就會執(zhí)行Fight操作。
在上圖中,有兩個節(jié)點,一個是Root,即根節(jié)點;一個是Selector節(jié)點,即邏輯節(jié)點。所有的節(jié)點都是按照一定順序,從左往右執(zhí)行,這就是一個行為樹。因此,只需要寫好每個節(jié)點里對應的邏輯,就能夠讓AI執(zhí)行一些相關動作。若干個行為樹,最后就組成了一個游戲。
強化學習和行為樹相結合讓游戲更加豐富
如何使用強化學習和行為樹相結合,讓游戲更加豐富呢?這是很多游戲里需要討論的一個比較難的應用。
在此之前,不妨先討論什么時候用強化學習比較好,什么情況下用行為樹比較好。黃鴻波表示,用行為樹沒有辦法很好達到目標的,就可以用強化學習,例如在FPS(第一人稱射擊游戲)中,應該用多大火力,應該朝誰開火,應該用什么樣的武器等等,是比較難通過行為樹來決策的,一般來講用強化學習實現(xiàn)就會比較好。
什么時候用行為樹?例如在游戲中遇到障礙物時需要跳過去,可以選擇用強化學習來做,也可以選擇用行為樹來做。但如果用強化學習來做,訓練起來就會很麻煩。由于這種情況下只有一個選擇,就是跳過去,因此用行為樹就會更加簡單。
不難發(fā)現(xiàn),如果把強化學習和行為樹結合起來用在游戲中,就是一個比較好的方案。黃鴻波表示,強化學習與行為樹相結合,有兩種比較大的實現(xiàn)方式:一種是以強化學習為主,行為樹為輔;另一種是以行為樹為主,強化學習為輔。
行為樹側:以行為樹為主要的AI運動方式,行為樹從游戲客戶端接收obs輸入,根據(jù)自身的目標情況,針對于obs來寫相應的行為樹行為,在行為樹的各個行為中,將一些需要強化學習做決策的節(jié)點交給強化學習來進行,那么在這里,就需要強化學習針對一些特定的場景來做相應的訓練。
強化學習側:整體策略則變成了訓練若干個模型,每一個模型執(zhí)行一種策略,然后再嵌入到行為樹當中。
黃鴻波表示,這兩種不同的實現(xiàn)方式,究竟哪個好,這就需要根據(jù)不同的情況、不同的應用、不同的游戲進行不同的考慮,因此不能一概而論。
在接下來的時間里,黃鴻波詳細介紹了西山居在強化學習與行為樹中采用的技術框架,并結合大量的游戲案例,詳細介紹了行為樹和強化學習在游戲中是如何進行結合,讓游戲變得更加豐富。對案例實踐感興趣的用戶,不妨關注AISummit 全球人工智能技術大會的精彩分享視頻。(https://aisummit.51cto.com/)