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

遊資網發表於2019-09-20
上文: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的發展提供了無窮無盡的可能性,無論是遊戲行業還是其他行業。(完)

作者:張鑫
來源:UWA
原地址:https://zhuanlan.zhihu.com/p/83160082

相關文章