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

          新baseline來了!"AI球球大作戰(zhàn): Go-Bigger多智能體挑戰(zhàn)賽" 等你來戰(zhàn)!

          共 3656字,需瀏覽 8分鐘

           ·

          2022-01-01 16:04


          2021年11月,全球首屆“ AI 球球大作戰(zhàn):Go-Bigger多智能體決策智能挑戰(zhàn)賽”已正式開賽。作為面向全球技術(shù)開發(fā)者和在校學(xué)生的科技類競賽活動,本次比賽旨在推動決策智能相關(guān)領(lǐng)域的技術(shù)人才培養(yǎng),打造全球領(lǐng)先、原創(chuàng)、開放的決策AI開源技術(shù)生態(tài)。


          本次比賽由OpenDILab(開源決策智能平臺)主辦,上海人工智能實驗室作為學(xué)術(shù)指導(dǎo),商湯科技、巨人網(wǎng)絡(luò)、上汽集團(tuán)人工智能實驗室聯(lián)合主辦,全球高校人工智能學(xué)術(shù)聯(lián)盟、浙江大學(xué)上海高等研究院、上海交通大學(xué)清源研究院聯(lián)合協(xié)辦,OSCHINA、深度強化學(xué)習(xí)實驗室作為支持,PaperWeekly、機器學(xué)習(xí)算法與自然語言處理作為合作媒體。


          比賽共設(shè)冠軍、亞軍各1名,優(yōu)勝獎4名,共同瓜分15萬賽事獎金。預(yù)計明年3月封閉天梯測試, 并在4月發(fā)布及公示獲勝結(jié)果。



          ?? Go-Bigger比賽主頁鏈接:

          https://www.datafountain.cn/competitions/549


          ?? Challenge Repo Github 鏈接:

          https://github.com/opendilab/GoBigger-Challenge-2021


          ?? DI-engine Repo Github 鏈接:

          https://github.com/opendilab/DI-engine


          ?? GoBigger Repo Github 鏈接:

          https://github.com/opendilab/GoBigger


          本篇文章主要介紹Go-Bigger多智能體挑戰(zhàn)賽的新版baseline特性,以及全新的特征工程抽象過程。

          Gobigger-Explore是2021年GoBigger Multi-Agent Decision Intelligence?Challenge的基線0.2.0版本。此版本基于DI-engine進(jìn)行設(shè)計,旨在提供一種簡單的入門級方法。

          參賽選手可以通過擴展基線方法來構(gòu)建智能體,如采用更有效的強化學(xué)習(xí)算法設(shè)計更豐富的特征抽象方法,以及更高效的網(wǎng)絡(luò)模型等等。

          此外,DI-engine的模塊化結(jié)構(gòu)有利于參賽選手輕松讀懂代碼,并且DI-engine提供了豐富的強化學(xué)習(xí)算法供參賽者使用。對于熟悉多智能體決策AI問題的研究人員來說,這個基線算法可以帶來較大的幫助。

          ?? Gobigger-Explore Repo Github鏈接:
          https://github.com/opendilab/Gobigger-Explore

          相比于上一個版本,在V0.2.0版本中,我們在完善了訓(xùn)練pipeline基礎(chǔ)上,設(shè)計了全新的特征工程以及網(wǎng)絡(luò)結(jié)構(gòu)來提升訓(xùn)練以及收斂速度,利用不定長的特征來提升數(shù)據(jù)利用率。

          我們在8核處理器、GPU V100上訓(xùn)練1-2天,與基于規(guī)則的Bot進(jìn)行了100場PK較量,我們?nèi)〉昧?5%的勝率。參賽者可根據(jù)自己的配置適當(dāng)調(diào)節(jié)batchsize以及ReplayBuffer大小,即可完成復(fù)現(xiàn)。


          對于Gobigger環(huán)境的介紹,可以查看我們的前面的推送,鏈接如下:

          五分鐘教你在Go-Bigger中設(shè)計自己的游戲AI智能體

          下面將為大家介紹全新的特征抽象過程,在Gobigger環(huán)境中,球體的種類分為食物球(food ball), 孢子球(spore ball), 玩家球(clone ball)以及荊棘球(thorn ball)。


          1.對全局信息進(jìn)行編碼


          • 在Pygame中,默認(rèn)坐標(biāo)原點為左上角。如下圖所示,圖中紅色矩形為全局視野,綠色矩形為局部視野


          • 全局信息由兩部分組成,一部分是時間信息,另一部分是邊緣信息

          • 時間信息是對距離比賽結(jié)束的剩余時間進(jìn)行特征抽象

          • 邊緣信息是對局部視野與整個地圖邊緣之間距離的特征抽象



          代碼實現(xiàn)如下:



          2.對clone球ID信息預(yù)處理


          • 對每個clone球team ID進(jìn)行預(yù)處理,clone球所屬team的ID始終為0,其他隊伍的 id依次為1、2、··· team_num-1

          • 對每個clone球Player ID進(jìn)行預(yù)處理,clone球所屬Player的ID始終為0,同一個隊伍其他玩家的Player ID依次為1、2 ··· player_num_per_team - 1


          代碼實現(xiàn)如下:



          3.對food信息進(jìn)行編碼


          • 為方便計算,面積計算采用半徑的平方,省去常數(shù)項。同時,我們將food和spore都看作為食物球

          • food map將局部視野進(jìn)行切分為h*w個小格子,每個小格子的大小為16*16

          • food map[0,:,:]表示落在每個小格子中food的累積面積

          • food map[1,:,:]表示落在每個小格子中當(dāng)前id的clone ball的累積面積

          • food grid將局部視野進(jìn)行切分為h*w個小格子,每個小格子的大小為8*8

          • food grid表示每個小格子中food相對于所屬格子的左上角的偏移量以及food的半徑

          • food relation 的維度是[len(clone),7*7+1,3]。其中[:,7*7,3]表示每個clone ball的7*7網(wǎng)格鄰域中food的信息,包括偏移量以及網(wǎng)格中food面積平方和。

            因為覆蓋率很低,在這里做了一個近似,food的位置信息以最后一個為準(zhǔn)。[len(clone):,1,3]表示每個clone ball自身的偏移量以及面積。


          代碼實現(xiàn)如下:


          對clone進(jìn)行編碼

          • 對clone ball進(jìn)行編碼,包括位置、半徑、玩家名稱的one-hot編碼以及clone ball的速度編碼


          代碼實現(xiàn)如下:



          4.對關(guān)系進(jìn)行編碼


          • ball_1 與ball_2 的相對位置大小關(guān)系,(x1-x2,y1-y2)

          • ball_1 與ball_2 的距離,即o1與o2之間的距離dis

          • ball_1 與ball_2 的吞并是一個球的圓心出現(xiàn)在另一個球中,即發(fā)生吞并

          • ball_1 與ball_2 是否相互吞并,即一個球的圓形邊緣與另一個球圓心之間的距離

          • ball_1 與ball_2 分裂后相互吞并,即分裂后最遠(yuǎn)的分裂球的圓形邊緣與另一個球圓心之間的距離

          • ball_1 與ball_2 吃與被吃關(guān)系,即兩球之間的半徑大小關(guān)系

          • ball_1 與ball_2 分裂后吃與被吃關(guān)系,即分裂后兩球之間的半徑大小關(guān)系

          • ball_1 與ball_2 各自的半徑做映射, 分別為m*n個r1 和m*n個r2, m表示ball_1的數(shù)量,n表示ball_2的數(shù)量



          代碼實現(xiàn)如下:



          5.模型設(shè)計


          • 網(wǎng)絡(luò)結(jié)構(gòu)主要采用MLP以及Pooling層

          • mask的作用,記錄padding后的有效信息。需結(jié)合代碼理解更佳

          • Baseline中的model設(shè)計并不是最好的,選手可以盡情腦洞




          6.RL策略


          • 采用最經(jīng)典的DQN算法+離散動作空間(4*4笛卡爾積)

          • 在OpenDILab中,已經(jīng)實現(xiàn)了一些必備的DQN組件,比如,經(jīng)驗回放隊列(replay buffer),為了平衡探索和利用所用的eps-greedy等等



          7.標(biāo)準(zhǔn)對局怎么打


          我們開源了訓(xùn)練的log信息,檢查點文件以及評估的視頻。

          ?? 百度云鏈接:(提取碼:u4i6)
          https://pan.baidu.com/share/init?surl=1sBoLWBEN33iNycs8y7fsw

          • 安裝必要的依賴庫

          # Install DI-engine ? ?git clone https://github.com/opendilab/DI-engine.git ? ?cd YOUR_PATH/DI-engine/ ? ?pip install -e . --user
          ? ?# Install Env Gobigger ? ?git clone https://github.com/opendilab/GoBigger.git ? ?cd YOUR_PATH/GoBigger/ ? ?pip install -e . --user

          • 開始訓(xùn)練

          # Download baseline ? ?git clone https://github.com/opendilab/Gobigger-Explore.git ? ?cd my_submission/entry/ ? ?python gobigger_vsbot_baseline_main.py

          • 評估并保存視頻

          cd my_submission/entry/python gobigger_vsbot_baseline_eval.py --ckpt YOUR_CKPT_PATH


          8.Tips


          • 采用連續(xù)動作空間或者混合動作空間使得智能體操作更加絲滑

          • 設(shè)計新的Reward獎勵使得智能體變得攻守兼?zhèn)?br style="box-sizing: border-box;">

          • 采用合適的策略使得智能體學(xué)會相互配合以及更高級的動作


          掃碼即可了解更多開源信息~
          瀏覽 86
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  91精品久久久久久久久久 | 国产一区二区无码 | 日韩在线日批 | 蜜桃操逼网站 | 性欧美大战久久久久久久免费观看 |