自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

網易伏羲游戲AI Bot的擬人化和風格化:AIGA賦能游戲探索

人工智能 深度學習
本文將分享網易伏羲在游戲AI Bot方向的一些工作。我們的工作稱為AIGA,它是另一種形式的AIGC,生成的內容是Agent的Action。我們在游戲場景方面做了一些AIGA相關的工作。今天的分享將重點圍繞AIGA技術手段的應用展開。

一、從AIGC到AIGA

AIGC是指AI生成內容,已經被廣泛了解。

圖片

AIGC有著廣泛的應用,包括圖像生成和對話。微軟基于OpenAI的GPT技術,開發(fā)了一系列驚艷的工具。

圖片

AIGC技術發(fā)展迅速,包括基于模型和深度學習的AIGC。但在游戲領域中,很早就對GC(生成內容)進行了研究。這些研究主要集中在應用方面,而不是理論方法方面。很多早期應用研究被稱為PCG(程序生成),如關卡生成、武器裝備生成和場景建筑生成等。從技術手段上來將主要使用了啟發(fā)式方法和遺傳算法,不過效果不如目前的AIGC驚艷。從這個角度來看,AIGC與游戲是有著深厚的淵源的。 

圖片

AIGA是將AIGC中的C換成了A,即AI生成的行為(AI Generated Action)。更準確地說,應該稱為AI生成的智能體(AI Generated Agent)。AIGA并不是一個新概念,其實就是游戲中的AI Bot,俗稱程序控制的小人,能自動做出一些行為。

游戲AI Bot在游戲中有什么用呢?先看第一個例子,在足球游戲FIFA中,游戲可以聯(lián)網在線玩,幾個隊友一起打游戲。但一個隊總共需要十一個人踢,所以在隊伍中經常會有一些AI Bot,來和你控制的角色進行配合。這里面就用到了程序的自動化控制。

再看第二個例子,在經典游戲暗黑破壞神中,里面的雇傭兵會跟隨玩家一起活動。這里面可能用了簡單的一些基于規(guī)則的方法來控制這些雇傭兵,比如:自動機、行為樹等方法。但這里也還是AI Bot的范疇,能給玩家提供一個游戲伙伴。

再看第三個例子,在很多單機游戲中,如老頭環(huán)和戰(zhàn)神中,有很多BOSS或者小兵,也是程序控制的,也是AI Bot。這里不一定要用強化學習去實現(xiàn),它的主要目標僅僅是給玩家提供一些挑戰(zhàn)即可,不需要很復雜的一些操作。

但是在網游中,如網易的一些游戲,如逆水寒、永劫無間里面,以及最近要上線的籃球游戲里面,也有很多AI Bot。這些AI Bot就是強化學習方法訓練出來的。游戲會基于AI Bot專門設計一些玩法,比如提供一些新手玩家的福利局。

所以,對于游戲來講,游戲AI Bot是非常重要的,是不可或缺的。

圖片

網易的很多游戲中都會有一些AI Bot,也就是所謂的AIGA。

二、游戲AI Bot擬人化和風格化研究進展

本文將重點介紹AIGA在游戲需求中的核心應用。我們在許多項目中發(fā)現(xiàn),游戲AI Bot有兩個非常重要的需求:擬人化和風格化。AI Bot的行為具有明顯的風格特征,并且是多樣化的風格特征。

本小節(jié)中,我們將整體介紹一下關于這兩個需求的相關研究。

擬人化和風格化,這兩點的目標雖然不同,但是其實現(xiàn)方式是基本一樣的。

圖片

游戲AI Bot的擬人化和風格化,有哪些作用呢?從玩家的角度來講,一個好的AI Bot,可以讓玩家有一個好的心流體驗。心流,是指玩家在游玩過程中的心理起伏變化過程。

我們希望玩家在玩游戲的過程中,他的心流曲線是一個上升的過程。強化學習能夠訓練出很強的機器人,遠遠超過人類的水平。但是如果作為對手的話,玩家就會覺得機器人太強了,游戲體驗不是很好。最終玩家會感覺到焦慮,它的心流就會到這個焦慮區(qū)間。這就表明擬人化做的不夠好。

另一方面,如果機器人行為不夠豐富,行為特征不明顯,行為特征很單一話,玩家心流會到這個Boredom的區(qū)間中。玩家這樣的心流也不是我們想要的。

擬人化和風格化這兩點,會影響玩家的心流和體驗。。這方面的研究工作雖然已經有了一些,我們之前也有很多的探索,但是還沒有形成統(tǒng)一的方法論,通用性還不夠。

比如,我們在開發(fā)永劫無間游戲機器人時,實現(xiàn)了一個巡路功能的機器人,它可以自動完成游戲角色的尋路任務。我們在設計這個機器人時,花費了很多時間調整獎勵權重,以使它的行為更加接近真實玩家。最終,我們實現(xiàn)了一個可以自動執(zhí)行復雜操作的機器人,做到了左圖中一個效果,它可以在游戲中執(zhí)行一些人類玩家才會做的復雜行為,而不僅僅是簡單地尋路導航。

這是原始的永劫無間中的巡邏機器人,它使用規(guī)則編寫,會一直跳來跳去。雖然也能到達目的地,但是玩家一眼就能夠看出這是機器人,就不想玩了,導致體驗不佳。我們使用的強化學習方法訓練出來的機器人,則可能看起來更自然,玩家體驗更好。但問題在于,我們在進行強化學習訓練的過程中,耗費了大量人力和時間去調整算法相關獎勵權重和參數(shù),才能夠達到現(xiàn)在的效果。同時,這樣的方法不具備可復制性。換一個任務的話,我們調出來的參數(shù)和權重就不能用了。

我們在多樣化,或者行為多風格化方面做了很多工作,提出了一些方法,如多聯(lián)盟訓練、Reward Shaping、進化算法和多目標優(yōu)化等。這些方法雖然有一些論文發(fā)表,但計算復雜度高,成本較高,實現(xiàn)周期長,線上成本也高,不是我們想要的。

我們的游戲AI機器人具有擬人化和多風格化的特點。我們后來發(fā)現(xiàn)游戲AI機器人與其他AI技術路徑是相似的。因為評估這些AI時,沒有客觀的統(tǒng)一標準,最終需要人類主觀判斷的。此外,從技術手段上來說,存在調參和調整reward等問題,我們希望實現(xiàn)更通用的自動化技術方案。另一個目標是提升業(yè)務效果。

1、擬人化

圖片

擬人化雖然是主觀的,但是需要有客觀量化的指標來指導算法研究并提出通用化的方案,以評估AI是否擬人。圍繞客觀性和可靠性方面,我們提出了一個框架,可以指導游戲AI機器人的研究??梢詫θ祟愅婕业男袨樘卣鬟M行統(tǒng)計,并將其與AI機器人訓練出來的行為特征進行比較,以進行統(tǒng)計學上的匹配??梢杂嬎阌卸嗌傩袨槭窍嗥ヅ涞?,以評估AI機器人的擬人化程度。

第二個方面是多樣性指標。人類的行為具有多樣性,游戲中的行為也應具有多樣性,否則將不夠擬人??梢酝ㄟ^策略分布和動作分布等方式來衡量。

第三個方面是競技性指標。AI的強度將提高游戲的競技性能。但對于AI機器人來說,我們不要求過高的競技性,而是要求在一定水平上達到要求。即使是隨意玩游戲,也需要有一定的目標和閾值。

第四個方面是領域相關指標。不同游戲需要不同的擬人化評估標準,因此需要根據(jù)游戲的特點設定特殊的指標。

這些指標也可以通過游戲中的一些行為分布來體現(xiàn)。只不過,我們需要從游戲本身出發(fā)來統(tǒng)計這些指標,而不是單一地使用統(tǒng)計學的方法。比如說很多動作類游戲,我們可以通過統(tǒng)計玩家的連招釋放率來衡量游戲的難度和玩家的技巧水平。這與人類的行為類似。比如說在一些籃球游戲或足球游戲中,玩家的跑位非常重要。我們可以通過分析游戲中不同位置的熱力圖來判斷游戲的合理性。這也可以用來衡量游戲的難度和玩家的技巧水平。

最終,這四個指標只是一些量化的指標,我們還需要通過主觀評判來判斷游戲是否真正與人類的行為相匹配。最后的圖靈測試是一個重要的評判標準。

這個框架可以幫助我們在做算法迭代的過程中,通過量化的指標來評估算法的進步情況。例如,我們可以通過比較迭代前后的結果來判斷算法是否真正有所提升。

圖片

如果將這些指標展示為可視化雷達圖,我們可以通過面積的大小來判斷不同算法方案的擬人性。

從可視化的雷達圖中可以看出,如綠色部分所示,強化學習訓練出的Bot在競技性方面可能更強,但在多樣性和客觀性方面可能不夠好。

從可視化的雷達圖中可以看出,如紅色部分所示,通過模仿學習方法訓練出的Bot在擬人化程度方面比強化學習更高。

通過可視化的雷達圖,我們可以直觀地看出這些指標反映出Bot的擬人化程度的多少。雷達圖的面積越大,擬人化程度可能越高。

圖片

在具體做法方面,我們需要基于人類數(shù)據(jù)來做擬人化。模仿學習可以幫助我們模仿人類數(shù)據(jù)的分布,但這樣得到的強度可能有限。單純的模仿學習可能無法得到合理的行為,最主要的缺點是強度比較低。

因此,我們需要進行修正,將模仿學習和強化學習結合起來,通過強化學習加上模仿學習的整合來做擬人化。這樣可以提高游戲算法的強度和多樣性,從而更好地模擬人類行為。

圖片

整個優(yōu)化方案非常簡潔,我們希望通過自動化過程來實現(xiàn)優(yōu)化過程。

在方案中,目標參數(shù)由兩部分組成,一部分是強化學習,另一部分是模仿學習,通過權重進行關聯(lián)。我們使用一些規(guī)則化方法,來自動調整這里的權重。具體來講,我們首先使用強化學習來調整AI Bot的強度水平,然后再使用模仿學習來提高AI Bot各個維度的擬人指標。

我們使用一些規(guī)則化的方式來實現(xiàn)這一目標。在訓練過程中,我們如果發(fā)現(xiàn)AI Bot的勝率或強度低于我們設定的閾值,我們通過降低模仿學習的權重,進行AI Bot的強度優(yōu)化。當AI Bot的強度上升后,我們再調高模仿學習的權重,來優(yōu)化AI Bot的擬人性。

通過這種方法,在訓練過程中,AI Bot會先優(yōu)化勝率。當AI Bot強度達到一定水平時,再調高模仿學習的權重,來提高模仿學習效果。最終,AI Bot的強度會自動緩慢提高。這是一種超參數(shù)設置的自動化方法。可能還有其他復雜的自動化方法,但對于游戲應用來說,這種方法已經足夠了。

圖片

在即將上線的籃球游戲《全明星街球派對》中,我們就使用了擬人化的方法來提高AI Bot的強度。我們對比了模仿學習和強化學習的效果,發(fā)現(xiàn)強化學習可以提高AI Bot的強度,但其他指標不如模仿學習方法;使用模仿學習可以提高AI Bot的其他指標,但強度不如強化學習的方法。

圖片

在籃球游戲中,AI Bot的投籃次數(shù)、傳球和移動的頻率等領域相關指標,模仿學習比強化學習的效果更好。

圖片

對于領域指標,如傳球次數(shù)、投籃次數(shù)等,我們可以將游戲數(shù)據(jù)中的人類玩家的數(shù)值做為模仿學習的優(yōu)化目標,自動化進行權重調節(jié)。這樣,不僅可以用于擬人化優(yōu)化,還可以用于任意風格化的優(yōu)化,如降低傳球次數(shù)或增加傳球次數(shù)。我們在后續(xù)風格化的技術探索中,也用了類似方法。

圖片

這里展示了籃球游戲中擬人化的最終效果。

然而,我們又遇到了一個新的問題:雖然從客觀指標上,能夠看出來相對于強化學習提升很大。但是主觀感受上,對于一般人而言,并沒有感覺到提升。如果不是游戲資深玩家,無法主觀上分辨出游戲機器人的擬人效果。因為我們最終目標是主觀擬人性的提升。雖然客觀提升很大,但也不是我們的最終目標。這個問題,我們后面再來回答。

2、多風格化

圖片

風格化也是類似的情況。游戲AI Bot的哪些行為能夠反應出其風格呢?我們提出一個框架。首先定義游戲AI Bot的State,如球員的移動軌跡分布,位置熱力圖分布。這些State的變化情況,反應了對應的Action,從而代表了不同的風格。

以籃球游戲為例,如擋拆次數(shù)、投籃次數(shù),蓋帽次數(shù)這些Action,代表了不同的防守風格,如防守風格嚴密等。

從結果上,也對應了強化學習的Reward效果。如兩分球得分率、三分球得分率、榜首成功率等結果,可以對應不同的Reward效果。

State、Action、結果這幾個維度,常常會交織在一起。我們將它們拆分開,來表示不同的游戲AI Bot風格。

圖片

在游戲《逆水寒》中,我們進行了這種嘗試。

首先嘗試多風格化。最開始,我們想用一個模型將所有的風格訓練出來。這個在理論上可以辦到,但是在風格維度比較多時,會有一個打地鼠的現(xiàn)象。在一個模型中同時實現(xiàn)激進的風格和保守型的風格。這兩個維度本身就是沖突的,幾乎不可能同時實現(xiàn)。。由于游戲AI Bot的多風格化,重點是在它在風格化,而不是在于多。因此對于多,我們通過其他的方式來實現(xiàn)。

如何才能把風格很好地體現(xiàn)出來的呢?對于玩家而言,在玩一個游戲的過程中,遇到的風格相對來講不會很多,有幾種或者十幾種風格就足夠了。重點在于游戲的風格特征需要比較明顯。于是我們轉換了一種思路,先把游戲AI Bot的風格做出來。

圖片

我們做了一個簡單的實驗。在強化學習的典型游戲Breakout中,我們訓練了一個AI模型,來觀察不同風格所呈現(xiàn)的分布情況。

首先,我們考察移動次數(shù)這個風格。整體上,每一局的移動次數(shù)是差不多的,符合正態(tài)分布的情況,均值在十五到十六。但是,有的EPISODE上移動次數(shù)很少,有時移動次數(shù)非常多。

于是,我們希望基于這個模型得到一個移動比較多的AI Bot。我們基于移動次數(shù)指標來劃分樣本,再對原來的模型做fine tune。如果要訓練移動次數(shù)多的AI Bot,我們劃一條線,只保留移動次數(shù)25以上的樣本,丟棄其它樣本。再用這部分樣本,來fine tune原來的模型,這樣就能夠得到一個移動次數(shù)一直比較多的AI Bot——Active Bot。同理,我們也可以得到一個移動比較少的AI Bot。我們丟棄中間的樣本,將移動次數(shù)很少的樣本取出來,最后得到一個Lazy Bot。這樣,我們就得到了兩個風格化的AI Bot。

一般來講,我們先預訓練一個基模型,基模型的行為符合正態(tài)分布。然后,我們根據(jù)需求,提取出一部分樣本出來,基于基模型做風格化的finetune,即自模仿學習的方式。

圖片

我們用SIL(Self-Imitation Learning,自模仿學習)的方法,從自己的樣本里做模仿,再根據(jù)需求風格和指標做樣本提取,同時使用RL(強化學習)方法來保證強度。

多風格化過程和擬人化是基本一樣的,主要區(qū)別是多風格化中的樣本是來自于AI Bot自己的樣本,而擬人化的樣本是來自于人類樣本。

圖片

基于這個思路,我們在籃球游戲中進行了一些體驗,并開發(fā)了一個專門投三分球的游戲AI Bot。這個AIBot只會投三分球,或者更準確地說,它會在游戲中盡可能地去投三分球。

在游戲畫面中,我們可以看到這個AI的角色是庫里。了解籃球的人應該清楚,庫里的三分球能力是非常出色的。因此,這個AI Bot的特點就是能夠盡可能地去投三分球。

圖片

此外,我們還有專門投兩分球的AI Bot,這是非常有意思。以庫里為例,雖然他的三分球能力非常出色,但通過我們使用的自模仿學習、強化等訓練方法,這個AI Bot卻選擇投兩分球。即使在投兩分球后被蓋帽,它仍然會繼續(xù)往籃下沖。這是一個非常有趣的現(xiàn)象,說明風格并不一定與強度或直觀感受一致。然而,這個AI Bot仍然能夠完成我們設定的目標。

圖片

前面介紹了投籃風格,這里我們再舉個擋拆風格的例子。在籃球游戲中,我們通過強化學習訓練的方式,發(fā)現(xiàn)一開始擋拆并不容易實現(xiàn)。這是因為游戲本身的機制和一些設定。如果防守方表現(xiàn)出色,或者進攻方表現(xiàn)不錯,擋拆可能并不是必要的。強化學習可能會認為這不是一個必要的東西,于是就會直接去做其他動作。

我們可以通過提取擋拆樣本的方式,讓中鋒球員在比賽中更多地運用擋拆風格。通過模型自模仿,我們可以將這種行為朝著擋拆方向進行引導。這樣,中鋒球員的擋拆次數(shù)就會變得更多。這些技巧和方法是可以實現(xiàn)并發(fā)揮作用的。

三、RLHF微調游戲AI Bot模型

我們前面提到的問題是關于主觀感受和客觀指標之間的差距。盡管我們的客觀指標可能會得到很大提升,但在主觀上可能并沒有明顯的感受,甚至可能覺得好像并沒有什么提升。因此,我們需要找到這個差距(GAP)所在,以便更好地彌合主觀和客觀之間的鴻溝。

圖片

在模型訓練完成后,我們使用客觀指標來進行評估。然而,這個客觀指標并沒有直接反饋到模型的訓練中,而只是提供了一種參考。最終,仍然需要人類進行評判,然后根據(jù)這些評判來調整模型。例如,如果我認為某個指標表現(xiàn)不夠好,我可以調整模型以改善該指標。

我們的最終目標是,讓客觀指標能夠直接反饋到模型的訓練中。如果模型的客觀指標表現(xiàn)不佳,能夠直接反饋并優(yōu)化模型。然而,大部分客觀指標并不能直接用于模型的優(yōu)化。

另一個問題是,客觀指標無法完全反映模型的擬人化程度和風格化程度。

圖片

現(xiàn)有方案的思路是在宏觀的數(shù)據(jù)層面進行優(yōu)化,通過模仿學習或自我模仿學習,將AI的行為引導到我們想要的數(shù)據(jù)統(tǒng)計分布方向,使其擬合得更好。

然而,對于主觀目標,人類并不是從數(shù)據(jù)分布方面去評判的。無論你在數(shù)據(jù)統(tǒng)計方面做得多么出色,如果有一次沒有做對,那么人類會認為你和他們的認識不太符合,從而判定你的模型不正確,認為你使用的是機器人。即使模型在客觀指標上有一萬次的成功率,但只要有一次失敗,就會影響人類對模型擬人化或風格化的判定。

因此,我們考慮是否可以從人類的主觀反饋中學習。已經證明,這是可行的。如果行為做得不理想,我們會提供一些標簽或其他反饋。這些反饋會形成新的數(shù)據(jù),反映人類的反饋和主觀評價。這些數(shù)據(jù)將用于進行RHLF (基于人類反饋的強化學習),從而進一步優(yōu)化模型。

圖片

我們進行了一些初步的實驗,目前也在進行整體優(yōu)化。我們發(fā)現(xiàn)從主觀上講,該模型的跟防不太好,防守時跟的比較遠,不夠嚴密。

因此,我們考慮使用pair-wise的標簽來判斷左邊做得好還是右邊防守做得好,然后通過這種方式進行標注,形成數(shù)據(jù)。

數(shù)據(jù)被轉化為獎勵函數(shù)(reward function),然后用于進行強化學習的fine tune。在訓練過程中,我們發(fā)現(xiàn)RLHF過程的訓練會使Bot的跟防距離不斷下降,最終達到一個不錯的水平。

圖片

讓我們來看一下左右對比。左邊是通過RLHF訓練后的結果,它會及時跟上,比如庫里這個球員去防守。而右邊如果仔細看的話,會發(fā)現(xiàn)它中間有一段時間朝里面跑了。因為它的對位球員實際上在跑向這邊,而這個庫里應該直接跑到那邊去防守。所以這個跟防在右邊的表現(xiàn)稍微差一些。因此,通過RLHF這種方法,我們可以進行一些調整。

因此,右邊的跟防表現(xiàn)得稍微差一些,但通過RLHF這種方法,我們可以進行一些調整來改善這種情況。

圖片

我們的整個方案pipeline就是這樣的。首先進行數(shù)據(jù)采集,但在數(shù)據(jù)采集之前,我們可以使用強化學習的方式對模型進行預訓練。然后,基于我們設定的目標,我們可以進行自我模仿學習。為了確保強度,我們會加上強化學習的保障措施。

然后,在訓練出模型之后,我們再通過主觀評判的方式,使用RLHF進行微調。這個過程可以不斷迭代,因為像ChatGPT一樣,可能需要不斷調整和完善模型的效果。

如果這個閉環(huán)能夠建立起來,AI工程師就可以較少地介入調整獎勵和參數(shù)等問題,從而在一定程度上實現(xiàn)通用化生產,而無需進行復雜的操作。

圖片

非常感謝大家的參與。這個技術非常有趣,它們可以在我們的游戲生產pipeline中發(fā)揮作用。其中,一些現(xiàn)有的技術可以為我們提供幫助。

四、問答環(huán)節(jié)

問題一:語音助手的回復風格化也是類似的思路嗎?

語音助手風格,我覺得也可以用這種方式進行。語音助手可以采用多種風格,比如甜言蜜語型或犀利型等。為了將這些風格數(shù)據(jù)分開,需要設定一些數(shù)據(jù)指標,并使用模仿學習或監(jiān)督學習的方式,將風格化的數(shù)據(jù)更多地用于訓練模型?;P涂梢酝ㄟ^Lora或其他方式提取出想要的風格化數(shù)據(jù),然后快速進行風格變化。在游戲開發(fā)中,我們也采用了類似的方式,取得了不錯的效果。基模型建立后,提取出風格化數(shù)據(jù),大概只需要幾個小時就可以完成訓練目標。

問題二:多目標學習是如何實現(xiàn)的?

多目標學習,目的是在一個模型中實現(xiàn)多種風格。我們可以先從一個模型實現(xiàn)一種風格開始,然后逐漸擴大模型,加入風格化的變量,將不同的風格區(qū)分開來,避免目標之間的沖突。模型中需要有一個體現(xiàn)風格目標的嵌入變量。另外,還可以通過在已有模型上疊加不同的Lora模型來實現(xiàn)多目標,因為Lora是一個比較輕量級的網絡,可以不斷往上添加。

問題三:對于多目標強化學習若干個目標之間還有比較強的聯(lián)系。那您這塊有什么建議嗎?

對于多目標強化學習,多個目標之間存在較強的聯(lián)系,可以考慮將它們視為一個整體,使用傳統(tǒng)的multi-objective方法進行求解。這種方法可以通過優(yōu)化一個總體目標來綜合考慮多個目標,尋求一個多目標最優(yōu)解。

同時,也可以考慮采用優(yōu)先級層次結構或權重的獎勵函數(shù)等方法,將多個目標整合為一個總體目標,并根據(jù)優(yōu)先級或權重進行優(yōu)化。

然而,這些方法可能會增加計算的復雜度,特別是對于實際應用中的大規(guī)模問題。因此,在選擇方法時需要權衡計算復雜度和求解效果。此外,還需要根據(jù)具體問題進行調整和優(yōu)化,以獲得更好的結果。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2024-10-17 08:14:13

2018-01-23 08:24:57

HTTPS服務器加密

2020-12-14 09:23:16

人工智能教育機器人

2021-01-14 15:07:33

人工智能游戲網絡

2023-06-01 12:15:15

ChatGPTAI游戲

2018-08-22 14:15:08

京東云

2022-07-19 16:36:33

網易游戲FlinkSQL

2021-04-21 10:07:06

AI自動化人工智能

2022-08-17 17:23:19

亞馬遜云科技游戲人工智能

2009-08-18 09:42:46

單機游戲排行

2022-08-10 11:35:22

亞馬遜云科技游戲基礎設施

2022-08-20 17:54:37

機器人開發(fā)

2023-11-01 13:37:38

Golang代碼

2022-03-17 14:03:36

人工智能數(shù)字化轉型數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號