吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用視頻游戲語料庫,訓練一個GAN模型為超級馬里奧兄弟生成游戲級別

8g3K_AI_Thinker ? 來源:未知 ? 作者:李倩 ? 2018-07-25 17:59 ? 次閱讀

PCG —— 程序內容生成,通過算法創建游戲內容,例如游戲規則,關卡,角色,背景故事,紋理和聲音。近年來國際會議組織了各種比賽,例如馬里奧AI級別生成比賽,Platformer AI比賽,AI鳥類等級生成比賽和一般視頻游戲AI(GVGAI)等級生成比賽 。今天為大家介紹一項關于 PCGML 的最新研究(PCG 通過機器學習的例子),這篇論文也被 GECCO 2018提名為 Best Paper Award ,這也是一個新興的研究領域。

研究中以無監督學習方式訓練生成對抗網絡(近期關于無監督學習與GAN的內容我們也給大家介紹了不少),模型根據視頻游戲級語料庫中的實際游戲級別進行訓練。并引入了隱變量進化(LVE)的概念;為了在這個潛在空間內找到最佳水平段,進化算法協方差矩陣自適應進化策略(CMA-ES)用于找到產生水平段的潛在向量,由此產生的系統有助于發現人類專家創建的示例空間中的新級別。

▌摘要

生成性對抗網絡(GAN)是能夠在給定的訓練樣本空間內生成新的樣本輸出的一種機器學習方法。視頻游戲中的程序內容生成(PCG)可以從這種模型中受益,特別是對于那些預先存有語料信息的游戲。本文,我們利用視頻游戲語料庫,訓練一個GAN模型為超級馬里奧兄弟生成游戲級別(Super Mario Bros)。

我們的方法不僅能夠成功地生成與原始視頻語料庫中級別相當的各種游戲,還能通過應用協方差矩陣自適應進化策略(CMA-ES)進一步改進游戲級別。具體地說,我們使用各種適應度函數(fitness function)來探索GAN模型潛在空間水平,以最大化期望屬性,而諸如tile類型分布的靜態屬性都能夠被進一步優化。此外,我們使用2009版Mario AI比賽的冠軍A*智能體,用于評估游戲級別的可玩性,以及需要多少跳躍動作來擊敗它。這些適應度函數允許模型在專家設計的樣本空間中探索各種游戲級別,并指導進化朝著滿足一個或多個指定目標水平的方向。

▌方法

我們的方法分為兩個主要階段,如下圖1所示。

圖1 GAN訓練流程及隱向量進化概述。我們的方法可以分為兩個截然的階段。在第一階段中,GAN以無監督學習的方式進行訓練并生成馬里奧游戲水平。在第二階段,我們搜索潛在向量空間產生具有特定屬性的游戲級別。

首先,GAN在現有的Mario級別上進行訓練(下圖2所示)。該級別將被編碼為多維數組,并在黃色框中描繪。模型中生成器(用綠色表示)輸入的是高斯噪聲向量(用紅色表示),并以相同表征水平輸出。而判別器用于區分現有級別和生成級別之間的差異性。我們使用對抗性學習的原則來訓練生成器和判別器。

圖2訓練水平。通過水平從左向右滑動一個28×14窗口生成訓練數據。

一旦訓練過程完成,生成器網絡可以被視為是我們學習到的genotype-to-phenotype映射,它能夠將潛在的實數向量(用藍色表示)作為輸入(我們的論文實驗中將其大小設置為32),并產生一個tile-level的馬里奧游戲級別。相比于簡單地繪制來自潛在空間的獨立隨機樣本,我們在進化控制策略下(在這種情況下使用CMA-ES)進行探索。換句話說,我們在隱向量空間搜索并產生想要的不同屬性的游戲級別,如tile分布,難度等。

CMA-ES

協方差矩陣自適應進化策略(CMA-ES)是一種功能強大而又廣泛使用的進化算法,特別適合于實數向量的進化過程。CMA-ES是一種二階方法,通過有限差異法不斷迭代估計協方差矩陣。它無需依賴一個光滑的自適應先驗,而能夠有效地處理連續域中非線性、非凸問題的優化。我們采用CMA-ES策略來進化潛在向量,并生成的游戲級別上應用幾種自適應度函數。所使用的自適應函數是基于生成的游戲級別的靜態屬性,或使用人工智能體進行游戲模擬結果。

游戲級別表征

在視頻游戲中,馬里奧游戲級別有不同的表征Level Corpus (VGLC)和Mario AI框架,這兩種都是基于tile的表征形式。具體地說,以VGLC表征的馬里奧級別使用特定的字符符號來表示每個可能的tile類型。然而,應該注意的是這個VGLC表征主要是關注tile的功能特性而不是其藝術屬性,因此無法區分視覺上某些特定的tile類型。此外,通過僅提供的單個字符符號來表示不同的敵人類型,VGLC編碼忽略了不同敵人之間的功能差異,因此我們可以選擇將其映射到通用的Goomba敵人類型上。

為了對訓練的水平進行編碼,我們用不同的整數來表示每種tile類型,它在輸入到判別器前被進一步轉換為一個獨熱編碼(one-hot)。此外,生成器網絡同樣用獨one-hot編碼形式輸出再將其轉換回整數值。基于整數格式的級別隨后將被發送到用于渲染的Mario AI框架。Mario AI框架允許其tile類型產生更廣泛的藝術多樣性,但由于其VGLC編碼的簡單性,只有小部分子集的Mario AI tile是可用的。從VGLC tile類型和符號,到GAN的訓練數字編碼再到最后Mario AI tile的整個可視化流程如下表1所示。

表1生成的Mario游戲級別所使用的tile類型。符號字符是來自VGLC編碼,然后數字標識被映射到相應的值并用于生成可視化的Mario AI框架。在GAN訓練期間,該數字標識值將被擴展為獨熱向量(one-hot)輸入到判別器網絡。

GAN模型

我們采用深度卷積生成對抗網絡DCGAN結構,并使用WGAN算法進行訓練,模型的結構示意圖如下圖3所示。遵循原始的DCGAN架構,判別器網絡中采用跨步長卷積(strided convolutions),而生成器中采用小步長卷積(fractional-strided convolutions),在生成器和判別器的每層后都接上batchnorm以正則化。此外,在生成器中每一層我們都使用ReLU激活函數(包括輸出層,原始結構中輸出層采用Tanh激活函數),我們發現這能帶更好的結果表現。而判別器中每一層我們采用LeakyReLU激活函數。

圖3訓練Mario游戲的DCGAN模型結構

▌實驗結果

為驗證我們的方法,在實驗部分我們通過兩組不同實驗分別進行基于表征測試(representation-based testing)和基于代理測試(agent-based testing)。實驗結果如下。

基于表征測試(representation-based testing)

下圖4顯示了該方法優化的ground tile百分比與特定目標分布的接近程度。結果表明,每次運行中我們幾乎都可以非常接近目標的百分比。

圖4優化不同百分比的ground tiles。運行20次后將平均每次的結果并產生一個標準差。除去20%的地面外,該方法總能夠發現用于生成ground tiles所需目標百分比的潛在編碼。

此外,圖5顯示了逐級遞增的游戲水平難度:其中第1和第2部分的地面覆蓋率達100%,第3-5部分的地面覆蓋率達70%,而第4、5節中我們還同時最大化敵人的總數n。實驗結果表明我們的方法能夠同時優化地面分配以及敵人的數量。

圖5逐級遞增的游戲難度。我們的LVE方法能夠創建含多個組成部分的游戲級別,這些級別的難度逐漸增加(即越來越少的地磚伴隨著越來越多的敵人)。將來,這種方法可以用來創建一個實時的水平,以適應玩家的特殊技能(動態難度適應)。

基于代理測試(agent-based testing)

圖6顯示了自適應函數F1和F2的一些最佳和最差結果。我們可以看到,CMA-ES策略確實可以發現一些不可玩的等級(如圖6c所示)。自適應函數F1的最佳效果(即具有大量所需跳躍操作的可玩級別)如下圖6a和6d所示。而圖6b描述是自適應函數F2所產生的最佳結果(即只需少量跳躍操作的可玩級別)。該級別只需要跳躍一次就能很容易地解決敵人。

圖6基于代理的優化示例。a和b顯示了F1自適應函數下最大化跳躍次數的例子,此時最小化F2函數。c顯示了一個最差的結果,即在F1自適應函數下不可玩的游戲級別例子。在d中顯示了高適應性的結果(即F1下最大化跳躍步數),但同時破壞了標題的例子。

▌結論

本文提出了一種新的隱變量進化方法,它能夠以無監督學習的方式,在現有的Mario游戲水平上,進化并產生新的Mario游戲級別。我們的方法不僅能夠優化不同分布水平,并將tile類型結合起來,還可以使用基于代理的評估函數來優化游戲級別。雖然我們的GAN模型通常能夠捕捉到高水平的訓練結構,但有時也會產生破碎的結構。將來的工作我們可以通過采用更適合視頻游戲離散表征的GAN模型來優化這個問題,我們希望LVE能夠作為一種很有前景的快速生成方法,擴展到各種視頻游戲以及其他類型的游戲。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • GaN
    GaN
    +關注

    關注

    19

    文章

    1966

    瀏覽量

    74244
  • 機器學習
    +關注

    關注

    66

    文章

    8441

    瀏覽量

    133094
  • 智能體
    +關注

    關注

    1

    文章

    166

    瀏覽量

    10616

原文標題:AI為超級馬里奧兄弟創造了游戲新級別——GECCO 2018最佳論文提名

文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于ESP32制造有趣的超級馬里奧主題時鐘

    這是超級馬里奧主題的時鐘,基于 ESP32 和彩色點陣制造,非常生動有趣。使用 ESP32 來控制 LED 矩陣。對于沒法自制 PCB 板的新手來說 ESP32 開發板是非常不錯的選擇。如何
    的頭像 發表于 10-28 11:54 ?4855次閱讀
    基于ESP32制造有趣的<b class='flag-5'>超級</b><b class='flag-5'>馬里奧</b>主題時鐘

    用labview設計超級馬里奧游戲時如何加障礙物?

    用labview設計超級馬里奧游戲時如何加障礙物
    發表于 05-09 13:33

    Flair如何使用加載語料庫

    工具篇Flair之使用加載語料庫教程
    發表于 04-27 10:03

    fpga通過什么實現邏輯功能

    fpga通過什么實現邏輯功能,以超級馬里奧例子講述FPGA有些制作。1、FPGA游戲目標沒有CPU,單純用 FPGA 的verilog硬件語言來實現
    發表于 07-22 07:07

    求助labview游戲

    想找labview馬里奧游戲代碼運行的視頻講解 ,我有詳細代碼,我提供代碼有大神可以講解下嗎?也可以有償。有意加qq1050440255
    發表于 03-23 16:25

    RFID技術讓現實版馬里奧賽車成為可能

    自奧斯汀滑鐵盧實驗室決定將RFID標簽應用于游戲,這樣來,在現實世界里,你也可以玩馬里奧賽車了。
    發表于 01-30 11:11 ?558次閱讀

    iPhone7發布會上提到的游戲 馬里奧大叔15日可以在iOS平臺試玩了!

    App Store了。這款名為《超級馬里奧Run》的游戲款跑酷游戲,該游戲將于下月15日正式
    發表于 11-16 11:14 ?928次閱讀

    超級馬里奧Run安卓版即將上市,國內玩家先別激動

    12 月 29 日,任天堂官方在國外社交網站推特上宣布,超級馬里奧Run已經登錄了Google Play 并開啟預約注冊,現在注冊的用戶,未來可以第時間獲知安卓版超級
    發表于 12-30 17:29 ?818次閱讀

    漢語口語互動分級語料庫的構建

    介紹了漢語口語互動分級語料庫的構建工作。該語料庫國內首個漢語口語互動分級語料庫,記錄了測試
    發表于 12-05 13:43 ?0次下載
    漢語口語互動分級<b class='flag-5'>語料庫</b>的構建

    馬里奧忠實粉絲稱其自制的渲染圖被超級任天堂世界官網盜用

    ,但它最近卻被發現盜用了粉絲制作的渲染圖。 推特用戶“uJIdow”是馬里奧的忠實粉絲,他致力于制作各種馬里奧的渲染圖。昨日(1.7),“uJIdow”發表推文表示,超級任天堂世界
    的頭像 發表于 01-08 12:52 ?1926次閱讀

    Labview編的超級馬里奧8.0源碼

    Labview編的超級馬里奧8.0源碼
    發表于 11-02 16:35 ?27次下載

    創建動畫馬里奧時鐘的教程分享

    本文將指導您以非常簡單的步驟創建動畫馬里奧時鐘,它可以成為任何環境的復古裝飾物。
    發表于 07-25 16:32 ?2567次閱讀
    創建<b class='flag-5'>一</b><b class='flag-5'>個</b>動畫<b class='flag-5'>馬里奧</b>時鐘的教程分享

    帶有壓電蜂鳴器和Arduino的超級馬里奧主題曲

    電子發燒友網站提供《帶有壓電蜂鳴器和Arduino的超級馬里奧主題曲.zip》資料免費下載
    發表于 11-01 09:32 ?1次下載
    帶有壓電蜂鳴器和Arduino的<b class='flag-5'>超級</b><b class='flag-5'>馬里奧</b>主題曲

    基于Microchip 8位微控制器制作超級馬里奧的蘑菇徽章

    今天給大家帶來期致敬經典的超級馬里奧的徽章。可愛的蘑菇徽章,經典的紅黃配色,立馬把我們拉回到兒時的快樂的時光里(不小心暴露了年齡)。
    的頭像 發表于 09-11 10:16 ?996次閱讀
    基于Microchip 8位微控制器制作<b class='flag-5'>超級</b><b class='flag-5'>馬里奧</b>的蘑菇徽章

    數據語料庫、算法框架和算力芯片在AI大模型中的作用和影響

    數據語料庫、算法框架和算力芯片的確是影響AI大模型發展的三大重要因素。
    的頭像 發表于 03-01 09:42 ?1303次閱讀
    百家乐免费注册| 百家乐官网网络视频游戏| 威尼斯人娱乐城好吗| 打百家乐庄闲的技巧| 大发888无数| 威尼斯人娱乐场官网是骗人的吗| 百家乐打印机破解| 百家乐1个人| 景德镇市| 正蓝旗| 万盛区| 舟曲县| 龙江县| 立博百家乐官网游戏| 林周县| 百家乐官网有多少网址| 夹江县| 博E百百家乐官网现金网| 百家乐官网投注网站| 网上百家乐官网骗人不| 顶尖百家乐官网开户| 金宝博百家乐官网游戏| 888真人娱乐城| 百家乐官网技术下载| 百家乐官网视频游戏网站| 太阳城百家乐官网下载网址| 百家乐官网平台送彩金| 回力百家乐官网的玩法技巧和规则| 2024年九运| 大赢家百家乐66| 缅甸百家乐玩假吗| 百家乐园云鼎赌场娱乐网规则| 威尼斯人娱乐城 老品牌值得您信赖| 全讯网导航| 易胜博棋牌| 玩百家乐官网会犯法吗| 百家乐官网园36bol在线| 24山风水发几房| 怎么看百家乐路单| 大发888线上| 澳门百家乐官网海星王|