[新聞] 星海爭霸 AI 大賽冠軍出爐!沒用機器學

看板StarCraft (星海爭霸2 - SC2)作者 (別再後悔)時間7年前 (2018/11/22 12:34), 編輯推噓22(22024)
留言46則, 29人參與, 7年前最新討論串1/1
星海爭霸 AI 大賽冠軍出爐!沒用機器學習的三星,打爆臉書在內的二十幾個 AI 選手 --- 【為什麼我們要選這篇文章】今年的星際 AI 大賽結果出爐,冠軍 選手居然沒有「學習技能」還是第一次參賽!這個由三星出品的人工智能令所有團隊驚豔,而其他參賽者還有 Facebook 的 AI 團隊,以及中國知名影音平台 Bilibili 等多家科技公司參與,至於他們戰況如何,就來看看以下文章吧!(責任編輯:鄭惟馨) 本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請聯繫出處 作者:量子位/夏乙 問耕 剛剛,星海爭霸 AI 大賽新王誕生! 二十多個掌握了機器學習技能的 AI,全都在一個不會學習、只會基於規則機械行動的 bot 面前,俯首稱臣。包括三巨頭之一 Yann LeCun 底下的 Facebook AI 團隊。他們的 AI 獲得亞軍,但在與新王的 100 回合大戰中,戰績是 83 負 17 勝,劣勢明顯。 其他 AI 更不是對手。新霸主與全部對手的 2600 場廝殺中,勝率達到了 95.91%。而往屆比賽中,冠軍勝率最高的一次,也不過 89%。 到底是誰?哪個團隊的人工規則,能如此碾壓人工智慧? 答案是: 賽達(SAIDA)。 三星出品的 AI 沒有學習能力,勇奪冠軍靠得是人類經驗! 來自三星,首次參賽的 賽達 ,完全基於規則,在這個機器學習大爆炸的時代,一個如此「復古」的系統,俾睨一眾 AI。賽達之所以如此厲害,一個重要原因是,背後有韓國職業星際選手助力。要知道,星際一度被稱為韓國的國技。 這次星海爭霸 AI 大賽的組織者戴夫.邱吉爾(Dave Churchill)總結說,今年的比賽成了兩家巨頭之間的爭奪。第一名三星賽達,代表頂級人類玩家的經驗總結;第二名 Facebook 的 CherryPi,有頂級工程師坐鎮,3 位頂尖 bot 作者都在麾下。(TO 編按:bot 為軟體代理的口語) 目前,三星職業選手組更勝一籌,但這還不是賽達的全部成就。在另一個星海賽事——星際 AI 錦標賽(SSCAIT)上,它的 ELO 等級分也排在第一名。(TO 編按:ELO 等級分制度是基於統計學的一種評估棋手水準的方法。一些線上遊戲的競技對戰系統也採用此評分) 總體來看,它已經是地表最強星際 AI 了。讓我們來認識一下這匹黑馬。 基於規則的演算法+選手經驗,成就賽達的冠軍之路 這次大賽還是基於星海爭霸:母巢之戰(Starcraft Broodwar)。 賽達使用人族(Terran),以穩定的防守優先戰略開局,到中期過後,它會尋找最佳 rush 時機,一波強攻擊敗對手拿下比賽。 和現在主流方法不一樣的是,賽達沒有用機器學習方法。 三星的工程師們嘗試了用卷積神經網路(Convolutional Neural Network, CNN)和編碼器—解碼器從游戲視頻中學習戰鬥時機,也嘗試了用多智能體強化學習演算法來控制單位……然後決定,在參賽演算法裡不用這些東西了。 這些研究當然也沒有白費,他們把研究結果寫進論文,投稿到了 AAAI 2019。哪位朋友見到這篇論文的預印本,歡迎通知我們,和更多讀者分享。 我們說回參賽版本的賽達,它都是手工編寫基於規則的演算法,一共 49702 行。不過,這並不是說它的打法就是一成不變的。它所用的策略不是一開始就預設好的,而是會根據偵查和掃描收集的訊息來建構。除了選擇策略的程式,賽達還包含用來控制單位和建築物的有限狀態機,用來尋找建基地位置或者敵人基地的幾種搜索演算法。 那麼,人類工程師是如何給這個演算法制定規則的呢? 背後有韓國職業星際選手的幫助。戴夫說,把大賽官方提供的樣本程式 UAlbertaBot 和專業軟體開發者、韓國職業星際選手放到一起,就有了賽達。 賽達目前只能應付業餘玩家,距擊敗頂尖職業選手還要一兩年 賽達的源頭,可以追溯到 2017 年三星 SDS 舉辦的演算法大賽。 當時的主題剛好是星際。比賽中成績不錯的工程師們惺惺相惜,向公司提出要聯手打造一個超級厲害的星海 AI。 於是,2018 年 1 月,賽達誕生了。現在,這個誕生還不到一年的新秀不僅是兩大星際 AI 賽事的第一名,還已經和人類業餘玩家、職業選手都交過手。人類業餘玩家已經不是它的對手。 雖然賽達目前,暫時,還打不過職業選手,但開發團隊認為「已經不遠了」,內心充滿了希望。他們說,現在的星海 AI 已經達到了高端業餘玩家的水平,戰網天梯 1800 分左右的那種。再有一兩年,就能擊敗戰網 3000 多分的最強 7 位職業選手之一。 籌辦者戴夫對這個展望似乎半信半疑,他說,“I’ll believe that when I see it :)”,「眼見為實」吧。 他們的目標是:成為第一個擊敗人類星海職業選手的 AI。 賽達團隊 上面,就是賽達的 8 名創造者:Iljoo Yoon、Daehun Jun、Junseung Lee、Hyunjin Choi、Changhyeon Bae、Hyunjae Lee、Yonghyun Jeong、Uk Jo。其中,Changhyeon Bae 是這支隊伍的 leader。 Facebook 團隊 CherryPi 進步明顯,影片平台 bilibili 也有參賽 下面,說說今年的其他選手。先看看最終的排名。 今年的星際 AI 大賽成績單 第二名是 CherryPi。如果你關注過這項賽事,一定不會對這個名字陌生。櫻桃派這個選手,家世顯赫,出自著名的 Facebook AI Research 團隊,領軍人物是大名鼎鼎的 Yann LeCun。戰隊成員包括:Jonas Gehring, Vegard Mella, Daniel Gant, Zeming Lin, Da Ju, Danielle Rothermel, Nicolas Carion, Nicolas Usunier, Gabriel Synnaeve 去年,CherryPi 參賽獲得第六名。今年,經過一番車輪鏖戰,CherryPi 最終奪得亞軍,僅次於三星 SAIDA 戰隊。要知道去年的冠軍 ZZZKBot,今年只獲得第 10 名的成績。 CherryPi 會有 8-13 個候選策略。每場比賽開始時,它會根據與對手之間的歷史表現,基於具有時間衰減權重的強盜模型,選擇一個策略(通俗的說,也就是越是最近的比賽,權重越高)。隨著比賽進行,CherryPi 會根據當前情況,使用預訓練的模型,使用每種策略估計獲勝的可能性,滿足一些條件的情況下,會切換到勝率最高的策略。 所以,這也是一種來回切換的「混合」策略。 策略選擇上有幾個基本的要素。一是多樣性,能夠考慮到盡可能多的情況。二是穩健性,以及追求 100% 的勝率。三是更好的揚長避短。 CherryPi 使用了非常多的 AI 技術,包括: 基於搜索的 AI。CherryPi 使用了區域級尋路來指揮單位繞過地圖上的障礙,使用威脅感知尋路來風箏或者引導單位脫離戰鬥。CherryPi 也會基於人類數據學習建築擺放的位置,還用了離線強化學習,以及在線學習,也使用了 BWEM 進行自定義的地圖分析。 與去年相比,現在的 CherryPi 使用了 LSTM 模型進行高級策略的選擇,使用部分觀察的游戲狀態作為輸入;在巨集觀管理方面進行了優化,微觀管理也進行了改進。 CherryPi 使用了 Torch 框架,全部的代碼是大約 5 萬行的 C++。 第三名到第八名的共同特點:全是神族! 第三名 CSE。這是一個中國戰隊。成員包括:Junge Zhang、Wei Guo、Qiyue Yin、Dong Zhan、Qiwei Wang、Yihui Hu、Shengqi Shen、Kaiqi Huang。 其中第一位應該是中科院自動化所的張俊格,去年他也帶領團隊參加了星際 AI 大賽,只不過去年他們的 AI 是 CPAC,今年改了名字。這支戰隊算是「改裝」派打法,他們的 AI 去年基於 Steamhammer bot,而今年則基於 Locutus。他們在 Locutus 的基礎上,做了一些策略和微觀層面的優化。 第四名 BlueBlueSky,也基於 Locutus,作者是科羅拉多大學的博士生 Pengfei Hou。 第五名是正牌的 Locutus。在八月的 CIG 星際 AI 大賽上,丹麥獨立游戲 AI 開發者編寫的 Locutus 一舉奪魁。(當時 ZZZKBot 也參賽了,最終排名第七。) 可能正是由於 Locutus 的成功,今年 3-8 名的戰隊,全都是使用神族的 AI。全部戰隊中,有 11 支使用了神族,蟲族的熱度有所下降。 其實 Locutus 是基於 Steamhammer 改進的,不同之處在於,Steamhammer 玩蟲族,而 Locutus 玩神族。 Steamhammer 本尊這次排名第十一。 除了 CSE 和 BlueBlueSky,這屆 AIIDE 星際 AI 大賽還有其他的中國團隊參賽。 排名第六的 ISAMind,作者 Fang Gao,來自中國電子科技集團公司認知與智能實驗室。 排名第七的 DaQin,作者 Lion Gis,看 GitHub 的畫風應該也是來自中國: https://github.com/liongis。 而排名第 13 位的 LastOrder,來自 B 站(Bilibili AI Research)。LastOrder 使用了 TensorFlow 機器學習框架。 B 站這個 bot,據說用了 1000 台機器進行分佈訓練,也被對手認為很有潛力。 從勝率中發現的小細節:賽達輕微下降、CherryPi 卻緩緩上升 雖然「不會學習」的賽達擊敗了各路 AI,但有個細節很有意思。 我們注意到,如上圖所示,隨著比賽時間的推移,三星賽達的勝率雖然一直很高,但總體上在輕微但持續的下降。與此同時,獲得第二名的 CherryPi 的勝率,在輕微而持續的上升。 儘管星海很難,但對於 AI 來說,也許未來有一天也能跟圍棋一樣,不用依靠人類的知識,自己成長為一代高手。 最後,給幾個開源地址。 賽達的源代碼目前還沒有放出,不過,GitHub 頁面已經有了,誰知道官方什麼時候會補一些除了 readme 之外的東西呢: https://github.com/TeamSAIDA/SAIDA CherryPi 的 GitHub 頁面傳送門: https://github.com/TorchCraft/TorchCraft Locutus 的 GitHub 頁面傳送門: https://github.com/bmnielsen/Locutus/ (本文經原作者 量子位 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈2018 星際 AI 大賽冠軍誕生!一個個機器學習演算法,都輸給不會學習的韓國 bot〉。) 原文連結: https://buzzorange.com/techorange/2018/11/21/aiide-starcraft-ai-competition/?fbclid=IwAR2PzhsYSCY6nRz4YXHjWnAFHz3Q7yol6VV2Ua7Ji67GYKTjeAuJnJ70z3M --- 心得: 他們的 AI 獲得亞軍,但在與新王的 100 回合大戰中,戰績是 83 負 17 勝,劣勢明顯。 內建Flash經驗的AI? AI領域連韓T也要主宰世界了嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.215.246.127 ※ 文章網址: https://www.ptt.cc/bbs/StarCraft/M.1542861297.A.110.html

11/22 13:06, 7年前 , 1F
竟然不learning
11/22 13:06, 1F

11/22 13:12, 7年前 , 2F
推 一早看到新聞也嚇到,心臟頗大顆
11/22 13:12, 2F

11/22 13:51, 7年前 , 3F
直接龜一波然後RUSH?
11/22 13:51, 3F

11/22 14:01, 7年前 , 4F
他們能用的數據庫跟對戰資料太豐富 直接硬寫就好
11/22 14:01, 4F

11/22 14:22, 7年前 , 5F
打T高手
11/22 14:22, 5F

11/22 14:42, 7年前 , 6F
它自己就是T 然後3~8名都是P
11/22 14:42, 6F

11/22 14:44, 7年前 , 7F
其實是反了 他們的資料庫與對戰資料還是不夠練出夠強的AI
11/22 14:44, 7F

11/22 15:06, 7年前 , 8F
幸好P不是冠軍~甚感欣慰...不好意思我是P黑!!
11/22 15:06, 8F

11/22 16:20, 7年前 , 9F
AI領域也是韓T霸權 不玩了不玩了
11/22 16:20, 9F

11/22 16:29, 7年前 , 10F
不太懂耶 用星海練AI的用意不就是讓AI自行摸索學習嗎?
11/22 16:29, 10F

11/22 16:30, 7年前 , 11F
看起來是靠選手經驗寫出來的程式擊敗純靠邏輯寫的程式
11/22 16:30, 11F

11/22 16:30, 7年前 , 12F
有點像偷吃步吧我覺得..
11/22 16:30, 12F

11/22 16:33, 7年前 , 13F
感覺很像是直接吃人類rp 再轉成腳本當牌出..?
11/22 16:33, 13F

11/22 16:40, 7年前 , 14F
這沒有偷吃步阿 就是內建了一個很巨大的巨集
11/22 16:40, 14F

11/22 16:40, 7年前 , 15F
偵測到某些東西就做出預先設定好的動作
11/22 16:40, 15F

11/22 16:41, 7年前 , 16F
所以他還是算AI 但是這傢伙就不是現在流行的自我學習AI
11/22 16:41, 16F

11/22 16:54, 7年前 , 17F
人家要有什麼反應都自己學 他靠工程師先寫好 這不...
11/22 16:54, 17F

11/22 16:56, 7年前 , 18F

11/22 17:01, 7年前 , 19F
簡單來說天花板已經訂好 只能手動提升
11/22 17:01, 19F

11/22 18:07, 7年前 , 20F
T____
11/22 18:07, 20F

11/22 19:47, 7年前 , 21F
咦deepmind沒有參戰喔?
11/22 19:47, 21F

11/22 20:57, 7年前 , 22F
deepmind主攻的是sc2
11/22 20:57, 22F

11/22 21:00, 7年前 , 23F
deepmind主攻SC2
11/22 21:00, 23F

11/22 22:53, 7年前 , 24F
完全沒有反 94我上面推文講那樣 只要少量估值就能做
11/22 22:53, 24F

11/22 22:53, 7年前 , 25F
到強大的timing攻擊 因為事先龐大資料人類已選擇過
11/22 22:53, 25F

11/22 22:55, 7年前 , 26F
你講的煉蠱法或自我複製對戰才是反了
11/22 22:55, 26F

11/22 23:39, 7年前 , 27F
就是個自嗨產物啊,沒學習力的,嚴格來說連AI都稱不上
11/22 23:39, 27F

11/22 23:39, 7年前 , 28F
,就只是個巨集
11/22 23:39, 28F

11/22 23:57, 7年前 , 29F
蛤?沒有學習機能就是個垃圾啊
11/22 23:57, 29F

11/23 00:49, 7年前 , 30F
沒學習技能不行吧
11/23 00:49, 30F

11/23 06:40, 7年前 , 31F
這是專對星海用的電腦程式啊
11/23 06:40, 31F

11/23 07:27, 7年前 , 32F
航空母艦級電腦 現在的AI打不贏正常阿...
11/23 07:27, 32F

11/23 10:27, 7年前 , 33F
無聊 一定打不贏內建bot
11/23 10:27, 33F

11/23 12:52, 7年前 , 34F
中國用語看了就討厭
11/23 12:52, 34F

11/23 17:14, 7年前 , 35F
韓國應該是主機裡面躲一個人參賽吧
11/23 17:14, 35F

11/23 17:54, 7年前 , 36F
結果證明記流程還是最穩 要ai自己找流程還是太累了
11/23 17:54, 36F

11/23 19:32, 7年前 , 37F
SAIDA像教主 而一場輸給P是輸給強大的擴張策略
11/23 19:32, 37F

11/23 19:33, 7年前 , 38F
2.SAIDA可以拿來策試低階玩家VS AI 也蠻重要的
11/23 19:33, 38F

11/23 20:41, 7年前 , 39F
沒學習得很渣欸,只有一些branch
11/23 20:41, 39F

11/23 21:39, 7年前 , 40F
也不是沒用 這說明不是所有問題都需要萬用型的學習
11/23 21:39, 40F

11/23 21:42, 7年前 , 41F
AI 就像人類的自主神經 在特定問題或短期要做出效果
11/23 21:42, 41F

11/23 21:43, 7年前 , 42F
的用這種最適合 或者是雞尾酒式的混合AI 到未知領域
11/23 21:43, 42F

11/23 21:43, 7年前 , 43F
時才使用學習型AI
11/23 21:43, 43F

11/24 09:47, 7年前 , 44F
沒用是因為目前的ai在SC2還不是最佳方案,所以才有比
11/24 09:47, 44F

11/24 09:47, 7年前 , 45F
賽的必要,不過三星的做法也明顯體現目前人類對AI的
11/24 09:47, 45F

11/24 09:47, 7年前 , 46F
設計真的還不夠
11/24 09:47, 46F
文章代碼(AID): #1RzZ7n4G (StarCraft)
文章代碼(AID): #1RzZ7n4G (StarCraft)