<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>

          用AI玩55款經(jīng)典游戲是什么體驗(yàn)?

          共 3081字,需瀏覽 7分鐘

           ·

          2021-03-03 15:19

          大家好,我是 Jack。

          用 AI 算法玩游戲,打破人類(lèi)玩家的記錄,是一種什么體驗(yàn)?


          DreamerV2 agent(智能體)可以在 Atari(雅達(dá)利)的 55 款經(jīng)典游戲中挑戰(zhàn)人類(lèi)玩家。

          其中不乏我們熟悉的打磚塊、蒙特祖瑪?shù)膹?fù)仇、小蜜蜂等經(jīng)典游戲。

          可能有些朋友不知道 Atari,這里簡(jiǎn)單介紹一下。

          1976 年,Atari 公司在美國(guó)推出了 Atari 2600 游戲機(jī),這是史上第一部真正意義上的家用游戲主機(jī)系統(tǒng)。

          80 后、90 后非常熟悉的 FC 紅白機(jī)(超級(jí)馬里奧、魂斗羅、松鼠大作戰(zhàn)、坦克等等)則是十幾年之后的事情了。

          正是這樣的一臺(tái)主機(jī)創(chuàng)立了現(xiàn)在上千億美元的家用游戲機(jī)產(chǎn)業(yè)。

          今天要說(shuō)的主角 DreamerV2 就是在這樣一系列具有紀(jì)念意義的游戲中的 agent (智能體),Google 的最新力作。

          在沒(méi)有人為的干預(yù)下,DreamerV2 agent 可以學(xué)習(xí)自己打游戲,并且比肩人類(lèi),甚至超越。

          這樣一個(gè)看似高大上的算法,咱們現(xiàn)在都能玩

          DreamerV2 剛剛開(kāi)源,并且只需要一個(gè) GPU 就能跑

          本文,就先帶大家簡(jiǎn)單學(xué)習(xí)一下 DreamerV2 的原理,以及如何讓這個(gè)算法打游戲

          強(qiáng)化學(xué)習(xí)

          強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)領(lǐng)域。

          這就像訓(xùn)練寵物一樣。當(dāng)寵物做出了指定動(dòng)作之后,我們給它一些食物作為獎(jiǎng)勵(lì),使它更加堅(jiān)信只要做出那個(gè)動(dòng)作就會(huì)得到獎(jiǎng)勵(lì)。

          這種訓(xùn)練叫 Reinforcement Learning(強(qiáng)化學(xué)習(xí),簡(jiǎn)稱(chēng) RL )。

          DreamerV2 就是一種 RL 算法,舉個(gè)簡(jiǎn)單的例子,說(shuō)明下工作原理。

          上圖的網(wǎng)絡(luò),最左邊是輸入,右邊是輸出。游戲屏幕的圖像是輸入數(shù)據(jù),經(jīng)過(guò)卷積層和全鏈接層,最后映射到游戲手柄所有可能的動(dòng)作。

          強(qiáng)調(diào)如何基于環(huán)境而行動(dòng),以取得最大化的預(yù)期利益。

          其靈感來(lái)源于心理學(xué)中的行為主義理論,即有機(jī)體如何在環(huán)境給予的獎(jiǎng)勵(lì)或懲罰的刺激下,逐步形成對(duì)刺激的預(yù)期,產(chǎn)生能獲得最大利益的習(xí)慣性行為。

          在強(qiáng)化學(xué)習(xí)的世界里,我們的算法被稱(chēng)為 Agent,它與環(huán)境發(fā)生交互。

          Agent 從環(huán)境中獲取狀態(tài)(state),并決定自己要做出的動(dòng)作(action)。

          環(huán)境會(huì)根據(jù)其自身的邏輯給 Agent 予以獎(jiǎng)勵(lì)(reward)。這個(gè)獎(jiǎng)勵(lì)有正向和反向之分。

          比如,動(dòng)物生活在大自然中,吃到食物即是一個(gè)正向的獎(jiǎng)勵(lì),而挨餓甚至失去生命就是反向的獎(jiǎng)勵(lì)。

          動(dòng)物們靠著自己的本能趨利避害,增大自己得到正向獎(jiǎng)勵(lì)的機(jī)會(huì)。

          如果反過(guò)來(lái)說(shuō),就是避免得到反向的獎(jiǎng)勵(lì),而挨餓什么的最終會(huì)導(dǎo)致死亡。

          所以動(dòng)物生存的唯一目的其實(shí)就是避免死亡。

          再舉個(gè)感同身受的例子。

          小時(shí)候不寫(xiě)作業(yè)就挨揍,這就是反向的獎(jiǎng)勵(lì)。

          在電子游戲世界(特指Atari 2600這一類(lèi)的簡(jiǎn)單游戲。不包括推理解密類(lèi)的游戲)中:

          • 環(huán)境指的是游戲本身,包括其內(nèi)部的各種邏輯;
          • Agent指的是操作游戲的玩家,當(dāng)然也可以是指操作游戲的AI算法;
          • 狀態(tài)就是指游戲在屏幕上展現(xiàn)的畫(huà)面。游戲通過(guò)屏幕畫(huà)面把狀態(tài)信息傳達(dá)給Agent。如果是棋類(lèi)游戲,狀態(tài)是離散的,狀態(tài)的數(shù)量是有限的。但在動(dòng)作類(lèi)游戲(如打飛機(jī))中,狀態(tài)是畫(huà)面中的每個(gè)物體(飛機(jī),敵人,子彈等等)所處的位置和運(yùn)動(dòng)速度的組合。狀態(tài)是連續(xù)的,而且數(shù)量幾乎是無(wú)限的。
          • 動(dòng)作是指手柄的按鍵組合,包括方向鍵和按鈕的組合,當(dāng)然也包括什么都不按(不做任何動(dòng)作)。
          • 獎(jiǎng)勵(lì)是指游戲的得分,每擊中一個(gè)敵人都可以得到一些得分的獎(jiǎng)勵(lì)。
          • 策略是Agent腦子里從狀態(tài)到動(dòng)作的映射。也就是說(shuō),每當(dāng) Agent 看到一個(gè)游戲畫(huà)面(狀態(tài)),就應(yīng)該知道該如何操縱手柄(動(dòng)作)。RL 算法的任務(wù)就是找到最佳的策略。

          DreamerV2 是一種理解環(huán)境的強(qiáng)化學(xué)習(xí)算法,我們稱(chēng)為 Model-Based RL。

          DreamerV2 只需要輸入游戲的圖像畫(huà)面,即可學(xué)習(xí)。它建立在循環(huán)狀態(tài)空間模型(RSSM)的基礎(chǔ)上,在訓(xùn)練過(guò)程中,編碼器會(huì)對(duì)圖像進(jìn)行隨機(jī)表示,并整合到世界模型的循環(huán)狀態(tài)中。

          由于畫(huà)面表示是隨機(jī)的,Agent 需要提取有效信息再進(jìn)行預(yù)測(cè),這樣可以讓 Agent 對(duì)未見(jiàn)過(guò)的畫(huà)面更具魯棒性。

          DreamerV2 的詳細(xì)論文解讀,可以看這個(gè)視頻:

          https://youtu.be/o75ybZ-6Uu8

          跑起來(lái)

          DreamerV2 項(xiàng)目地址:

          https://github.com/danijar/dreamerv2

          算法需要使用 Tensorflow 2,版本為 2.3.1,用的游戲環(huán)境是 OpenAI 的 Gym。

          這是一個(gè)支持 Python 語(yǔ)言的游戲環(huán)境庫(kù),一款用于研發(fā)和比較強(qiáng)化學(xué)習(xí)算法的工具包,它支持訓(xùn)練 Agent 做任何事情,從行走到玩游戲。

          直接安裝需要的第三方庫(kù)。

          pip install --user tensorflow==2.3.1
          pip install --user tensorflow_probability==0.11.1
          pip install --user pandas
          pip install --user matplotlib
          pip install --user ruamel.yaml
          pip install --user 'gym[atari]'

          配置好后,就可以開(kāi)始訓(xùn)練我們自己的 Agent 了。

          python dreamer.py --logdir ./logdir/atari_pong/dreamerv2/1 \
              --configs defaults atari --task atari_pong

          使用 Tensorboard 監(jiān)控訓(xùn)練情況。

          tensorboard --logdir ./logdir

          動(dòng)手訓(xùn)練一個(gè)自己的 Agent 吧!


          福利時(shí)間

          今天元宵節(jié),過(guò)了元宵節(jié),這個(gè)春節(jié)也就算真正結(jié)束了。

          Jack 祝大家:

          日?qǐng)A,月圓,圓圓如意。
          官源、財(cái)源,源源不斷。
          人緣、福緣,緣緣于手。
          情愿、心愿,愿愿成真!
          元宵節(jié)快樂(lè)!

          春節(jié)發(fā)了紅包,元宵節(jié)就送點(diǎn)書(shū)吧。

          北京大學(xué)出版社的新書(shū),Python神經(jīng)網(wǎng)絡(luò)入門(mén)與實(shí)戰(zhàn),大致瀏覽了下目錄,非常基礎(chǔ)的入門(mén)書(shū)籍,理論+實(shí)戰(zhàn)。

          Jack 從出版社拿了6本,老規(guī)矩,送書(shū)規(guī)則很簡(jiǎn)單:

          今晚12點(diǎn)截止,公眾號(hào)留言區(qū)評(píng)論的168182536樓獲得本書(shū),我會(huì)準(zhǔn)時(shí)來(lái)截圖

          評(píng)論區(qū)就交給你們了,許個(gè)愿說(shuō)個(gè)祝福啥的都行。參與人多的話,可以評(píng)論區(qū)隨機(jī)再抽幾本。

          參與活動(dòng)的朋友,一定一定記得加我微信:jackcuiai

          上次送書(shū),有的小伙伴讓我苦找了好久,一直聯(lián)系不上,記住風(fēng)里雨里,我在這里等你

          絮叨

          春節(jié)過(guò)的真快!

          新一年的奮斗,準(zhǔn)備好了嗎?

          祝各位小伙伴,好夢(mèng)皆圓,禍患全消

          我是 Jack,我們下期見(jiàn)。

          ·················END·················



          推薦閱讀

          ?   保姆級(jí)人工智能學(xué)習(xí)路線!?   二次元的正確打開(kāi)方式?   我,這一年



          瀏覽 76
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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在綫 |