<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          GAN生成的超級馬里奧關(guān)卡,可以永不通關(guān)的那種

          共 1599字,需瀏覽 4分鐘

           ·

          2021-05-08 13:18

          子豪 發(fā)自 凹非寺
          來源 量子位

          先來一波回憶殺~

          《超級馬里奧兄弟》的重度玩家們,可能已經(jīng)發(fā)現(xiàn)了,這并不是原本32關(guān)里面的。

          不過,如果你以為這是《馬里奧制造》的杰作,那你就猜錯了~這是AI利用GAN搞出來的!

          利用GAN生成紅白機游戲畫面,并不是新鮮事,不過,這一次是可以無限延長的那種~

          花樣還不少:

          只需用4個顏色通道表示對象

          在游戲中,關(guān)卡數(shù)據(jù)以壓縮格式存儲,通常,每個對象用兩個字節(jié)來描述位置和類型。

          一個字節(jié)指定16x16網(wǎng)格中的xy坐標;第二個字節(jié)指定對象的類型。比如在第一關(guān)的場景中,僅用了12個字節(jié)來描述:

          07 81 | 47 24 | 57 00 | 63 01 | 77 01 | C9 71

          作者為了將關(guān)卡編碼為16x16的圖像,分別設(shè)置了4個獨立顏色通道

          比如,第一關(guān)的截圖,就可以表示成這樣:

          這樣的編碼方式,既能夠涵蓋足夠多的對象,又不至于太過復(fù)雜。

          并且,根據(jù)關(guān)卡中對象的排列方式進行分組,有利于模型進行學習并重現(xiàn)。比如,實心磚用于布置樓梯、磚塊則通常水平放置。

          此外,將所有對象組織成一個合理的方案,減少生成網(wǎng)絡(luò)失誤對輸出結(jié)果的負面影響

          比如用硬幣代替磚塊,影響非常??;而如果用管道或庫巴來代替,就會出現(xiàn)問題。

          開發(fā)者還找出了游戲的一些特點

          管道可以連接地面或一排浮動塊;

          方塊通常用來構(gòu)建各種尺寸的樓梯;

          磚塊和問題塊,大多排在第3位和第7位;

          其他角色一般會分成兩三組。

          接下來,作者使用TensorFlow作為后端,利用Keras來構(gòu)建模型,并進行訓(xùn)練。

          生成器通過輸入的一組特征向量,來生成新的樣本圖像;鑒別器則區(qū)分是訓(xùn)練集中的真實圖像,還是生成器偽造的。

          隨著遍歷訓(xùn)練集的次數(shù)增加,生成效果也逐漸改善

          最終輸出的結(jié)果,是這樣的:

          嗯,效果真的很不錯~

          想永不通關(guān)?用cGAN

          現(xiàn)在,只需把一張張“截圖”連接起來,你就會得到:

          半個庫巴、半個管道,以及半個馬里奧……

          怎么才能無縫拼接,得到連貫的關(guān)卡呢?

          這就需要利用「有條件的GAN」,把前一個場景作為后一個場景的邊界條件。

          就像這樣:

          可以看出,場景的左側(cè)部分,是以第一行圖像作為邊界條件生成的。

          具體來說,首先要在之前的基礎(chǔ)上,向生成器輸入一組16×4的圖像,作為上一個場景的邊界部分。

          網(wǎng)絡(luò)架構(gòu)是這樣的:

          生成器在輸入條件的限制下,生成16x16的圖像,然后,把它們與16×4的輸入圖像進行拼接,再用拼接后的圖像來訓(xùn)練鑒別器。

          利用16×4圖像的不斷迭代,最終就能拼接成連續(xù)的場景,比如,經(jīng)過40次迭代的結(jié)果:

          “不想通關(guān)綜合癥”可能有救了!

          開發(fā)者表示,雖然效果不是特別完美,但是已經(jīng)具備了趣味性和可玩性~

          是不是和那個“能玩一輩子的游戲”——《馬里奧制造》有點像?它同樣主打關(guān)卡制造,不過是玩家來手動設(shè)計。

          馬里奧制造2 (圖源:游戲官網(wǎng))

          在發(fā)布關(guān)卡之前,作者必須通關(guān)一次,于是有些人就加入隱蔽的“作者通道”,偷個懶直達終點。

          不少高手都曾被“馬造毒圖”難倒,當然如果玩家發(fā)現(xiàn)隱蔽通道,就能“偷雞”通關(guān)~

          這樣“有趣又有毒”的關(guān)卡,不知道AI能否構(gòu)建出來呢?

          原文鏈接:
          https://medium.com/@eway/using-a-generative-adversarial-network-to-author-playable-super-mario-bros-levels-223736bd4ce

          推薦閱讀


          計算機視覺頂尖期刊和會議的段子


          面向生產(chǎn)環(huán)境!深度學習模型部署資源全輯


          基于深度學習的目標檢測算法面試必備(RCNN~YOLOv5)


          超越Y(jié)OLOv5,1.3M超輕量,高效易用,目標檢測領(lǐng)域這一個就夠了!


          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产免费AV片在线无码免费看 | 欧美一级AA大片免费看视频 | 婷婷精品国产亚洲AV老牛 | 免费观看一区二区三区 | av片电影在线播放 |