天天看點

人工智能(AI)在遊戲中的應用(下)

再回來看異形AI

我們知道,異形AI是控制異形行為的系統。它永遠不會從管理者AI哪裡得到有關玩家位置的資訊。它會得到的資訊包括大概在什麼位置進行搜尋。剩下就隻能靠自己來找到玩家了。它确實有一些工具可以幫助它找到玩家。第一個是傳感器系統,它允許異形接收環境中的音頻和視覺提示。諸如腳步聲、槍聲、門的開啟,甚至是運動追蹤器的嘟嘟聲等噪音,所有這些都有助于異形追蹤玩家。音頻範圍取決于建立的噪音類型。除了音頻傳感器之外,異形還可以接收視覺傳感器,例如瞥見Ripley(某人)跑過去,或看到一扇門在視野中打開等。

異形追捕玩家的另一個工具是搜尋系統。(遊戲)開發人員已确定有一些特定區域是異形預先程式設計會搜尋的隐藏點。但是,它不會以任何特定順序去搜尋它們,甚至會再次檢查已經索索過的區域。當然,如果異形聽到噪音或看到視覺提示,它也可能會搜尋開發人員沒有特别指定的區域。

這個遊戲被最常讨論的話題是異形如何随着遊戲的進行更多地了解玩家。當它學習關于玩家遊戲風格的某些特征時,它所做的動作似乎變得更加複雜。令人驚訝的是,開發人員實作這一目标的方式并不是通過将複雜的神經網絡建構到異形的AI系統。為了展示遊戲如何實作這種異形學習感,我們需要回顧外星A.I.的行為決策樹。

人工智能(AI)在遊戲中的應用(下)

Figure 6(Simpson,2014)

在遊戲開始時,這個行為樹的某些部分對于異形是屏蔽的。手機遊戲出售被屏蔽的區域是異形無法通路的,這意味着它無法實作某些行為和動作。比如說,在遊戲開始時,對遠處有門打開的聲音做出相應的行為樹是沒有激活的。如果玩家在異形的視野中打開一扇門,它可以解鎖行為樹的那一部分,以便将來打開門的聲音會觸發響應。随着玩家在遊戲中的進展,越來越多的異形的行為樹被解鎖。這給人一種幻覺,即異形正在學習并适應玩家的遊戲風格。

視訊遊戲中的遺傳神經網絡(genetic neutral network)

如果沒有至少提及将神經網絡應用于視訊遊戲,那麼本文将不完整。最近有一些非常有名的例子,一個是AI擊敗了專業的Dota 2團隊。然而,涵蓋這一主題的最佳方式是從小規模開始建立基本的認知,關于神經網絡如何學習視訊遊戲的目标和政策。

人工智能(AI)在遊戲中的應用(下)

Figure 7(Comi,2018)

為了友善了解,我們選用貪吃蛇遊戲作為例子。對于那些不熟悉的人來說,貪吃蛇是一款2D遊戲,您可以控制一系列方塊(被稱為蛇)。你有三種運動選擇:左,右或直前。如果你碰到牆壁或撞到你的尾巴,你會立即死亡并重新開始。有一個點可以收集(稱為食物),使你的尾巴長出一個方格。是以你吃得越多,你就越長。

讓我們想象一下,我們想教我們的蛇如何獲得盡可能高的分數。為了讓我們的蛇在這個世界上生存,它需要學習一些東西。為了讓我們的蛇學習,需要提供有關環境的資訊。我們将我們提供的這些資訊稱為輸入。這些輸入可以是我們掌握的任何資訊。例如,我們的輸入可能是以下6個是/否問題:前方是否通暢,左邊是否通暢,右邊是否通暢,食物是在前邊,食物是在左邊,食物是在右邊(Designing AI,2017)。根據每個問題的答案,這将提供6個輸入節點,每個階段包含兩個值1或0。然而,這些輸入也可以測量蛇的頭部和牆壁之間或它的尾巴或食物之間的距離。為簡單起見,讓我們僅保留6個輸入節點在示例中。

接下來我們需要告訴我們的蛇是我們想要它實作的目标。為了傳達我們期望的目标,我們實施獎勵制度。例如,我們可能每次向食物移動一步時給我們的蛇1分,并且每次它吃食物并且長度增長時可能會得到10分。然而,當Binggeser(設計AI,2017)為他的蛇實施這些獎勵時,他意識到他的蛇隻會在一個非常小的圈子裡移動。通過這種方式,他的蛇能夠在避開牆壁和長尾帶來的危險的同時提高積分。顯然,這不是預期的結果。在初始模型中需要進行某種類型的懲罰,當蛇離開食物時,它會移除點。這促使蛇主要向食物的方向移動。

是以現在我們有一條蛇,它擁有來自環境的資訊和一個定義目标是什麼的獎勵系統。我們從哪裡去?我們的蛇如何真正學會如何玩遊戲?在這一點上,快速了解神經網絡的實際工作方式将會很有幫助。

分代神經網絡(Generational Neural Network)

分代神經網絡的結構與标準神經網絡的結構相同。它從一定數量的輸入節點開始,然後注入到一個或多個隐藏層,最終提供輸出。這是一個很好的示例:

人工智能(AI)在遊戲中的應用(下)

Figure 8(Comi,2018)

對于蛇示例,我們将有6個輸入節點,這是我們之前定義的6個是/否問題:前方是否通暢,左邊是否通暢,右邊是否通暢,食物是在前邊,食物是在左邊,食物是在右邊.每個輸入節點通過權重到每個第一隐藏層節點。在圖8中,我們看到連接配接到每個節點的所有線(權重)。這些權重是我們的模型将不斷調整的,随着它學習到哪些輸入會加強或削弱,進而提供最準确的輸出。在我們的例子中,“最準确的輸出”被定義為“收集最高分數的蛇”。請記住,我們的蛇獲得了向食物移動的分數,它可以獲得更多吃食物的積分,并且它也會因為遠離食物得到負分。

分代神經網絡“學習”的方式是首先确定每一代的大小(假設我們希望每一代都包含200條蛇)。接下來,它為第一代200條蛇中的每條蛇的重量做小的調整,然後它運作第一代的200條蛇中的每條蛇并選擇最成功的蛇(獲得最多分的蛇)。假設我們選擇了在我們的第一代獲得最多積分的前10名蛇(前5%)。這10條蛇随後成為第二代的“父母”。這10條蛇的權重會用于定義第二代的起點。第二代200條蛇的表現将再次對這些權重做小的調整,最佳表現者将被選為第三代的“父母”,依此類推。

回到貪吃蛇遊戲中來:

是以,正如我們上面所看到的,我們可以反複運作我們的第一代蛇形模型(我們上面運作了200次),通過稍微改變每個權重,看到蛇出現的各種變化。然後,我們選擇将繼續影響第二代神經網絡權重的最佳表現者。我們會為每一代重複這個過程,直到蛇的學習速度開始趨于平穩(換句話說,直到分代進步減緩或停止)也許在第一代,第二代和第三代中,沒有一條蛇吃到過一塊食物,是以從未得到過食物獎勵的10分。然而,也許在第四代一條蛇就會吃到一塊食物。這條蛇可能擁有當代蛇中最高的分數,是以将被選中以影響後代。基于最成功的蛇祖先,将改變後代的權重。經過10代,100代甚至1000代之後,您可以想象會學到多少。

視訊遊戲AI技術在現實世界中的應用

正在視訊遊戲行業中使用的相同類型的強化學習也正成功應用于其他行業。例如,已經預先程式設計了“交通規則,道路和汽車實體”(Luzgin,2018)的俠盜獵車手(Grand Theft Auto)遊戲已經被用來為測試自動駕駛汽車算法提供安全和現實的環境。它不僅安全而實際,而且與現實世界相比,在虛拟環境中收集資料的速度也快了1000倍(Luzgin,2018)。

“視訊遊戲是訓練人工智能算法的一種很好的方式,因為它們旨在讓人類思維逐漸進入更難和更難的挑戰。”(Luzgin,2018)

A.I.的最新進展之一視訊遊戲是由Open AI的研究人員制作的。Open AI建立了一個基于算法的遊戲,其唯一目的就是以自然的好奇心探索。獎勵系統專注于獎勵進一步進入遊戲的探索。研究人員将這種好奇心驅動的模型放入了超級馬裡奧兄弟的遊戲中,它成功地通過了11級,純粹是出于好奇心的驅動。顯然,這有一些缺點,因為它需要巨大的計算能力,機器很容易分心。然而,對于第一次玩遊戲的人類玩家來說,這也是相同的。正如Luzgin在他的文章中所提到,“嬰兒似乎采用無目标探索來學習将來在生活中有用的技能。”這種無目标探索的感覺在整個生命中持續存在,但最明顯的例子還是探索視訊遊戲的虛拟環境。

總結:

有許多形式的A.I.在今天的視訊遊戲行業中使用。無論是簡單的FSM模型還是可以從環境中的回報中學習的先進的神經網絡,都為AI的發展提供了無窮無盡的可能性,無論是遊戲行業還是其他行業。(完)

繼續閱讀