特別節目·中文精讀

奧里奧爾·維尼亞爾斯:DeepMind AlphaStar、星際爭霸、語言與序列

Oriol Vinyals: DeepMind AlphaStar, StarCraft, Language, and Sequences

DeepMind 研究負責人談 AlphaStar 如何攻克星際爭霸,以及序列模型與語言建模的相通之處。

官方音訊00:00 / --:--
中文精讀由 AI 基於原始訪談改寫,非官方翻譯,可能存在偏差或錯誤;表述以原音訊與官方文稿為準。說明

AlphaStar 打贏 TLO 那天晚上,團隊去酒吧慶祝。David 說,要不我們邀請一個真正打 Protoss 的高手來打一場?比 TLO 高一千 MMR 的那種。Oriol Vinyals 說,好啊。他後來說,當時心裡想的是,這不可能贏。

在星際爭霸 II 裡,一千 MMR 是另一個物種。Mana 用 Protoss 對 TLO 的 Protoss,勝率 99%。這不是同一水平的對局。

而在這之前,還有一個更離譜的賭注。Oriol 給團隊發郵件,說我們先打 TLO 吧,大家猜猜結果。他自己填的是 0:5。他是團隊裡出了名的悲觀主義者,五局全輸,這是他的真實預期。

結果 5:0。然後 Mana 也輸了。

這個故事值得從更早的地方講起,因為 AlphaStar 之所以能贏,和 Oriol 這個人的來路關係很大。

從一臺被拆壞的電腦說起

訪談一開始,Lex 問他:先有對程式設計的熱愛,還是先有對遊戲的熱愛?

Oriol 說,都不是。十歲、十一歲的時候,他做的事情是拆電腦、弄壞、再修好。談不上寫程式碼,就是瞎折騰。真正的入口是遊戲,尤其是 1998 年那版星際爭霸一代。

他是西班牙人。1998 年的歐洲,電競這個概念還不存在,他所謂“半職業”也就是在自己的圈子裡打到很高的水平,後來有幾年穩定在歐洲前 32。沒有 MMR 系統,沒有直播,沒有贊助,只有區域網和後來慢慢變好的網路。

有意思的是他的種族選擇。他喜歡打隨機,甚至比賽裡也打隨機。理由很實用:你得玩過那個種族,才知道它哪裡難受,然後你站在對面的時候,才知道往哪裡捅。最喜歡的種族是 Zerg,也是他打得最好的。

這個細節後來在 AlphaStar 的設計裡反覆出現。理解對手不是靠看,是靠曾經站在對手的位置上。

“三選二”

Lex 問了一個很實在的問題:你是我見過最高產的研究者之一,同時你又真心喜歡遊戲,這兩件事能共存嗎?

Oriol 提到一個說法,是別人告訴他的。大學那幾年,你只能三選二:女朋友、遊戲、學習。

他說這個說法大體是真的。星際爭霸這種遊戲,你要認真打,時間就是硬消耗。所以他上大學之後就基本停了,完全停。後來的《魔獸世界》算是休閒版,上線就能玩,任務總能做完,不像星際那樣每一秒都在做取捨。而且魔獸世界給他的東西不太一樣,是社交。他現在還有一批 Facebook 好友,是當年在虛擬世界裡認識的,其中一個是他扮演牧師時遇到的一個戰士。他說這些人讓他很早就意識到,世界是多樣的,只是他們之間連著的不是街道,是光纖。

這一段聽著像閒筆,其實是理解他研究方法的一條線索。他很清楚一件事能吃掉多少時間,也很清楚什麼時候該停。

2014 年,Demis 說“也許現在還太早”

時間線是這樣的。

2014 年,Google 收購 DeepMind。Brain 和 DeepMind 兩個團隊搞了一次聯合峰會,各自做報告。Oriol 當時在 Brain,他講了自己在伯克利做的 Berkeley OverMind,一個星際爭霸一代的 bot。

那個 bot 是什麼水平?他自己說得很直白:一堆規則。你有超過三個單位就進攻,對方單位比你多就撤退,諸如此類。

講完之後,Demis Hassabis 走過來,說了句大意是:

“也許不是現在,可能有點早,但你應該來 DeepMind,用深度強化學習把這件事再做一遍。”(Demis Hassabis)

Oriol 當時的反應是,這聽起來像科幻。

2016 年,他真的從 Brain 轉到倫敦的 DeepMind。同一年 AlphaGo 贏了李世石。也是在這一年前後,暴雪主動找上門來,問要不要接下一個挑戰。幾件事湊到一起,專案就啟動了。他飛去加州 Irvine 的暴雪總部,先跟對方講清楚這件事打算怎麼做,然後再動手。

從第一天起,專案的 DNA 就定了:一切都要學出來,不寫規則。Berkeley OverMind 那種 if-else 是被明確排除的路線。

為什麼這件事本來不該成

Lex 追問:你當時覺得離目標有多遠?

Oriol 的回答很誠實,也很值得注意。他說,他覺得完整版這件事很可能做不到。一個純神經網路、沒有任何領域規則、一對一打完整局星際,他當時不認為可行。

“我真的不覺得這有可能。但另一方面,我能看到一些踏腳石。”(Oriol Vinyals)

踏腳石有三塊。

第一,星際爭霸可以被切成子問題。開局、運營、交戰、微操,每一塊都可以單獨定義、單獨攻。

第二,暴雪開放了人類對局錄影。不是全部歷史對局,但量極大,而且每天都能拉到當天新產生的資料。這在當時是獨一無二的資源:一個複雜度這麼高的遊戲,有如此規模的人類專家軌跡可以拿來監督學習。Oriol 之前做語言、做序列、做機器翻譯,他很清楚這種資料意味著什麼。

第三,團隊。他自己說,同事比他自己重要。Demis 在 2014 年就已經看到了方向,他只是跟著走。

所以他接下了一個自己認為大機率做不完的題目,原因不是樂觀,是因為能看見第一步踩在哪裡。這個判斷方式後面還會出現很多次。

把星際爭霸翻譯成一個序列問題

技術上的核心,用一句話說:AlphaStar 的全部智慧,都在一個神經網路的權重裡。你把正確的觀察喂進去,用同樣的方式解讀動作,那個網路就是那個 agent,別的什麼都不需要。

先說觀察怎麼表示。他們試過幾種方案,最後用的是混合的:

  • 一張縮小的全域性地圖,當成影象處理
  • 一張當前鏡頭的區域性檢視
  • 一份單位列表,每個單位帶座標、血量、型別、歸屬等屬性

第三項是關鍵。把單位當成一個集合來處理,而不是畫素。有意思的是,這跟 Facebook 的一篇論文是同一個思路:那篇論文把影象打散成畫素列表,只保留每個畫素的 XY 座標,然後交給 Transformer,在 ImageNet 上照樣跑得很好。Oriol 說他們其實是無意中用了同一個架構。

你一旦接受“單位列表就是一堆帶座標的畫素”,星際爭霸的觀察就變成了一個序列問題,和語言裡的詞序列在形式上沒有區別。

接下來是時間維度。星際爭霸按每秒 22 幀左右推進,一局十分鐘就是一萬三千多幀。他們沒有逐幀觀察,只在自己要行動的時候觀察,然後讓網路自己決定下一個動作隔多久發生。這個設計既是計算上的必要,也剛好符合人類的節奏。處理完之後,一局平均只有一千到一千五百個動作。這個長度,LSTM 和 Transformer 都能吃下。

然後是訓練。第一步是模仿。

他們從 3500 MMR 以上的人類對局裡學,這個門檻定得低,是為了保留資料量。訓練的時候還會把這一局的 MMR 數值一起餵給網路,相當於告訴它:你現在要模仿的是一個 4000 分的對手,或者一個 6000 分的對手。

這個設計帶來的效果很有意思。訓練完之後,你可以要求同一個策略“像 3000 分那樣打”或者“像 6000 分那樣打”,它真的會變。打得低的時候運營更差,每分鐘運算元更少。他們測過,6000 分模式下的策略能打贏暴雪內建的所有 AI,但離真正的 6000 分選手差得遠,大概只有金牌、白金水平。

原因很清楚:模仿學的是“下一步該點哪裡”,不是“怎麼贏”。這兩件事之間隔著勝負訊號,隔著信用分配。

最難的從來不是網路結構,是探索

Lex 問,星際爭霸最難的部分是什麼?不完全資訊?長期規劃?實時性?動作空間?還是博弈論意義上的無解?

Oriol 的回答是探索。而且他解釋得很具體。

開局階段,幾乎任何主動動作都是壞的。因為你的工人本來在自動免費採礦,你隨便點一下,就是把它從礦上拽下來,派到別處去。純強化學習靠隨機試錯起步,它試出來的第一個能贏的策略是什麼?把所有工人拉過去一波推。這個策略在自對弈裡真的會贏,因為對面的網路也什麼都不懂,也不會防守。

更復雜的動作,比如開分礦,需要選中工人、走過去、放下建築、等它建好、再派人過去採礦。這一整串操作,靠隨機點選幾乎不可能湊巧撞上,更不可能撞上之後還能連到勝利訊號上。這就是為什麼純強化學習在星際裡會卡死。

所以他們的路線是:先用人類錄影做模仿學習,把策略帶到人類附近,再用自對弈往上推。這一步繞開了最要命的探索問題。

一個 League,而不是一個 agent

自對弈還有一個陷阱。如果只有一個 agent 和自己打,它會收斂到一個很小的策略子集,然後卡在那裡。

他們的解法叫 AlphaStar League。不是純自對弈,是一個由不同“性格”的 agent 組成的聯盟。有些專門練偷襲,有些專練經濟,有些專練早期壓制,有些專練後期爆發。每個新 agent 訓練時,對手是整個聯盟的當前快照,它會去找這個分佈的最優解,也就是最狠的剋制。然後新一代 agent 又被放進去,逼著所有人繼續進化。

Oriol 把它比作戰網。你在天梯上碰到一個沒見過的打法,被打爆,然後你立刻想學它,想再來一局。聯盟就是在人造這個環境。

這個設計的效果在對 TLO 和 Mana 的十局裡能看出來:其中兩局的 agent 打的是“偷襲”路線。不是團隊事先給它們寫的劇本,是聯盟逼出來的生態位。

手速、微光,和“像人一樣玩”

這裡有一個繞不開的爭議:機器的操作精度。

先給數字。人類頂尖選手每分鐘大概 300 到 800 次操作,其中相當一部分是沒意義的連點,是為了保持手感。而社群裡那些指令碼 bot,每分鐘兩萬到四萬次。兩者之間差了兩個數量級。

AlphaStar 因為第一步是模仿,操作頻率的分佈天然就像人類,連那些沒意義的連點都學來了。部落格裡放出來的曲線,APM 分佈和人類高度重合。但自對弈一旦啟動,這個分佈就可能漂移,精度也可能上升。

所以他們按人類職業選手的分佈設了一個上限,超過就丟棄動作。Oriol 自己承認,這個閾值大概設高了。有些 agent 的 APM 加精度確實超過了人類範疇,社群也因此吵了一陣。

另一個更難模擬的東西叫 shimmer。星際裡有些單位是隱形的,你需要專門的偵測單位才能攻擊它,否則它可以直接拆你的建築、殺你的工人。但隱形單位移動時,螢幕上會有一層很淡的擾動,職業選手訓練之後能立刻看出來。機器這邊很難模擬“你有沒有在看那塊螢幕”。對 AlphaStar 來說,那個 bit 從 0 變成 1,它就知道那裡有個單位,清楚得不像話。

這兩件事指向同一個問題:什麼叫“像人一樣玩”。是限制手速?是模擬注意力?是模擬疲勞?每加一條規則,agent 更像人,但也更遠離“純粹的學習”。這是一條沒有標準答案的線,Oriol 說他們只是在做第一次嘗試,後面還要繼續迭代。

三個種族是一局石頭剪刀布

Lex 說自己幾乎沒跟真人聊過星際,讓 Oriol 講講三個種族。

Protoss 是科技種族。單位貴、強、數量少,打起來要儘量保住兵,靠技能和戰術優勢取勝。很多人覺得它最好上手,這次演示也只用了 Protoss 對 Protoss。

Zerg 相反。核心是擴張,佔儘可能多的資源點,單位便宜、可再生,整支部隊死光了也不算大事,因為資源庫存大,能快速重建。打法上偏向持續施壓,用交換換空間。

Terran 是中間那一路,人族的機械化路線。

比種族更有意思的是開局博弈。Oriol 把它講成一局連續的石頭剪刀布:你選了科技路線,對面如果猜中,就會選剋制你的路線;你要在他改主意之前把優勢兌現,他要在這之前完成轉型。整個遊戲就是一場對彼此意圖分佈的估計。什麼時候去偵察,是一個純粹的資訊決策:偵察能提高信念狀態的準確度,但也會暴露自己的資訊。

在這之上還有兩種特殊打法。一種是 cheese,全押式的偷襲,比如在對面基地邊上偷偷修炮臺,或者藏科技建築速出隱形單位,對手如果不能及時反應就直接輸。另一種叫 all in,在某個精確時間點湊出一波完美配比加剛完成的升級,四分鐘半一波推過去,贏了就贏,輸了就打出 GG。

這些招式的存在,恰恰是 AlphaStar League 存在的理由。純自對弈不會自然長出所有生態位,你需要有人專門去當那個討厭的對手。

贏了之後,離“解決”還差得遠

5:0 這個比分容易被誤讀。Oriol 反覆強調,他們的主張只是“第一次擊敗職業選手”,不是“星際爭霸被解決了”。

幾個明顯的窟窿:

  • 只練了 Protoss 對 Protoss。想打 Terran,權重要全部扔掉重訓。人類學會一個種族之後再學另一個,速度快得多。
  • 對手不知道怎麼打它。Mana 面對的是一個從未見過的對手,賽前預期是錯位的。等人類選手研究出針對方案,結果可能會變。
  • 有些局裡 AlphaStar 明顯沒偵察,或者對隱形單位的處理有漏洞。這些都能被利用。
  • 它沒有顯式的對手建模。信念狀態是隱式的,網路裡沒有一項損失是專門用來預測“對面在幹什麼”。

最後這一條,是 Oriol 自己最想補的。他說想看到 agent 真的去猜對手在想什麼,去設局騙對手,去主動製造錯誤認知。撲克和博弈論裡那一套,星際和它天生一對。

泛化:深度學習唯一沒解決的問題

訪談後半段從遊戲轉向了更大的話題。Lex 問,現在深度學習的邊界在哪?

Oriol 只給了一個詞:泛化。

他的表述很樸素。我們做的事情,本質是在擬合函式。資料分佈一變,或者哪怕沒變、只是加了點噪聲,模型就崩。對抗樣本是最清楚的證據:人眼完全看不出差別的擾動,能讓網路輸出任意結果。

他順手翻了一段歷史。當年 SVM 之所以流行,一部分原因就是它有泛化保證。而現在這一代模型,在數學上就是一堆矩陣相乘,數值上必然存在能被找到的角落。

有沒有解法?他說目前真正持續有效的公式只有一個:把資料和模型同時放大。翻譯、語言、星際,都是這一條在起作用。很多之前被認為“不可能泛化”的任務,規模上去之後就泛化了。

但他不認為這是根本解。他更看好的是把神經網路和程式、離散決策結合起來。他舉了一個特別清楚的例子:

“你可以用神經網路學排序。給足夠多的例子,它看起來會排序。但你給我一個特別大的數,它就崩了。而如果你直接寫一段排序程式碼,你可以證明它對所有可能的輸入都成立。”(Oriol Vinyals)

這就是“強泛化”和“擬合”的區別。前者有證明,後者只有統計意義上的信心。

他為什麼不用圖靈測試定義目標

Lex 提到圖靈測試,問他怎麼看。

Oriol 先說喜歡,因為他本來就做語言。早期的機器翻譯工作,他們也試過往對話系統上套,當然那種系統絕不可能透過圖靈測試。

但他隨後給了一個很實用的判斷框架,引用的是物理學家 Hamming 的一篇文章:一個宏大挑戰,光“宏大”不夠,得有人能看見攻擊路徑。瞬移和時間旅行都是物理學的宏大挑戰,但沒有路徑,所以沒人拿它當博士課題。

“我覺得完整的圖靈測試還是太早了。我不認為自己會去做,也不太會建議別人拿它當博士題目,因為它太早、也太難。”(Oriol Vinyals)

他的理由不是“做不到”,是“不知道計劃長什麼樣”。星際爭霸他能看見路徑:模仿學習、自對弈、聯盟。圖靈測試他看不見。GPT-2 很驚豔,但要從“生成像樣的文字”走到“讓人分辨不出對面是不是人”,中間缺的不是規模,是一個還沒出現的想法。

“我不擔心會不會有突破,我擔心的是統計方法根本不夠用。我們需要一個突破,這對社群是好事,但不確定性大得多。”(Oriol Vinyals)

這個判斷方式很值得學。他不用“難不難”來評估一個題目,用“能不能畫出路線圖”來評估。

從星際爭霸到維基百科

那什麼才算通用智慧?

Oriol 說他覺得 AGI 這個詞被用得太模糊,所以他自己給了一個可操作的版本:

“如果有一個方法,能在面對新問題時直接吸收、直接解決,而不需要把整個過程重來一遍,那對我來說就是 AGI 的一個不錯的定義。”(Oriol Vinyals)

他區分得很清楚:泛化的是演算法,不是權重。AlphaStar 用的那套方法可以搬到任何即時戰略遊戲,甚至可以搬到別的領域,但訓練出來的那組權重,連換個種族都救不回來。

所以他想看到的是一個網路,見過新任務之後,用人類差不多的速度學會它。你給一個人看一個新物體,他立刻能認;你讓一個人玩一個新 Atari 遊戲,他幾局就上手。這就是他想要的基準。

他還提到 Leon Bottou 在 ICML 上的一次演講:訓練集和測試集這種劃分本身就該被打破。為什麼一個在 ImageNet 上訓練好的網路,換到 MNIST 這種更簡單的問題上就不能用?這在直覺上就是錯的。

然後他講到知識圖譜。他很喜歡維基百科,覺得可惜的是,神經網路沒有好好利用網上那些結構化的知識。如果能把維基百科自動抽成一張圖,那張圖的結構剛好適合和程式、和離散推理結合。他甚至想過把星際爭霸的建築依賴關係做成一張圖餵給網路,試過一些,效果不算顯著,但方向他喜歡。

關於 AI 安全,他的態度

Lex 問他擔不擔心存在性風險。

他的回答分兩層。近期他不擔心,但他承認自己可能錯。長期他希望收益大於風險,但必須保持警覺,得留出足夠的提前量,萬一要轉向還來得及。

有意思的是他自己補充的一句:他最近讀 AI 安全的東西越來越多,這個領域他還沒貢獻過,也許可以做點什麼。一個做出 AlphaStar 的人說這句話,分量不太一樣。

他還提了一句更樸素的話:AI 已經能幫到很多人了,那些請不起助理的人、那些連天氣都查不到的人。研究社群盯著 AGI 的時候,不該把這條線弄丟。

他的研究方法是長出來的

Lex 問他怎麼產生想法,還提到 Ian Goodfellow 說 GAN 是喝了幾杯啤酒之後想出來的。

Oriol 笑了,說他們的故事差不多。決定再打一局星際,也是在酒吧裡定下來的。

更認真地說,他的方法變過。早期在 Brain,身邊是 Hinton、Jeff Dean、Ilya Sutskever,那幾年就是不停討論、不停讀論文。現在他更講策略,會先判斷這個領域是不是到了可以攻的時候,不早不晚。

他總結出一個自己最常用的公式:先找一個難問題,再看研究怎麼塞進去,塞不進去的地方就是需要創新的地方。

這條公式能對上他所有的工作。機器翻譯催生了序列到序列。組合最佳化催生了指標網路。星際爭霸催生了大尺度模仿學習和 AlphaStar League。

另一種做法也成立:先選定一個研究方向,比如基於模型的強化學習,再去找能測試它的最小環境。兩條路他都走過。

最後他說了一句聽起來不像技術建議的話:同事比你自己重要。他見過太多例子,別人提的想法他覺得不靠譜,但給了空間去做,結果被證明錯了。他自己被證明錯了很多次。

給想做事的人

把這場對話收攏一下,能帶走的東西大概是這樣:

  • 選題目的時候先畫路線圖,再談熱情。畫不出來就先別做,不是因為它不重要,是因為你不知道第一步踩哪。Oriol 敢接星際,是因為他看見了模仿學習和人類錄影這兩塊踏腳石。
  • 拆問題,但要知道哪一塊是命門。星際可以切成開局、運營、交戰,真正卡住所有人的是探索,其他都是枝葉。找準那個卡點,比均勻用力有用得多。
  • 別迷信規模,但也別瞧不起它。規模是當下唯一穩定生效的公式,只是它解決的是擬合,不是泛化。真正想要強泛化,得往程式、離散結構那邊看。
  • 模仿是起點,不是終點。人類的錄影能把策略帶到人類附近,但“下一步該點什麼”和“怎麼贏”之間隔著勝負訊號。任何從人類資料起步的專案,都要提前想好第二步怎麼接。
  • 給自己造一個聯盟。單一的自對弈會卡在區域性最優,你需要不同風格的對手逼你進化。現實裡的版本是:主動去找那些跟你打法不一樣的人,別隻跟同類混。
  • 允許自己悲觀。Oriol 賽前填的是 0:5,專案啟動時認為完整版做不到。這不影響他把事情做成,反而讓他把每一步的可行性看得更清楚。樂觀負責啟動,悲觀負責校準。
文稿來自公開 Kaggle 資料集(rajneesh231/lex-fridman-podcast-transcript),為早期自動轉錄存檔,可能存在識別錯誤。
The following is a conversation with Ariel Vinales. He's a senior research scientist at Google DeepMind, and before that, he was at Google Brain and Berkeley. His research has been cited over 39,000 times. He's truly one of the most brilliant and impactful minds in the field of deep learning. He's behind some of the biggest papers and ideas in AI, including sequence to sequence learning, audio generation, image captioning, neural machine translation, and, of course, reinforcement learning. He's a lead researcher of the AlphaStar project, creating an agent that defeated a top professional at the game of StarCraft. This conversation is part of the Artificial Intelligence podcast. If you enjoy it, subscribe on YouTube, iTunes, or simply connect with me on Twitter at Lex Friedman, spelled F R I D. And now, here's my conversation with Ariel Vinales. You spearheaded the DeepMind team behind AlphaStar that recently beat a top professional player at StarCraft. So you have an incredible wealth of work in deep learning and a bunch of fields, but let's talk about StarCraft first. Let's go back to the very beginning, even before AlphaStar, before DeepMind, before deep learning first. What came first for you, a love for programming or a love for video games? I think for me, it definitely came first the drive to play video games. I really liked computers. I didn't really code much, but what I would do is I would just mess with the computer, break it and fix it. That was the level of skills, I guess, that I gained in my very early days, I mean, when I was 10 or 11. And then I really got into video games, especially StarCraft, actually, the first version. I spent most of my time just playing kind of pseudo professionally, as professionally as you could play back in 98 in Europe, which was not a very main scene like what's called nowadays eSports. Right, of course, in the 90s. So how'd you get into StarCraft? What was your favorite race? How did you develop your skill? What was your strategy? All that kind of thing. So as a player, I tended to try to play not many games, not to kind of disclose the strategies that I kind of developed. And I like to play random, actually, not in competitions, but just to... I think in StarCraft, there's three main races and I found it very useful to play with all of them. And so I would choose random many times, even sometimes in tournaments, to gain skill on the three races because it's not how you play against someone, but also if you understand the race because you played, you also understand what's annoying, then when you're on the other side, what to do to annoy that person, to try to gain advantages here and there and so on. So I actually played random, although I must say in terms of favorite race, I really liked Zerg. I was probably best at Zerg and that's probably what I tend to use towards the end of my career before starting university. So let's step back a little bit. Could you try to describe StarCraft to people that may never have played video games, especially the massively online variety like StarCraft? So StarCraft is a real time strategy game. And the way to think about StarCraft, perhaps if you understand a bit chess, is that there's a board which is called map or the map where people play against each other. There's obviously many ways you can play, but the most interesting one is the one versus one setup where you just play against someone else or even the built in AI, right? Blizzard put a system that can play the game reasonably well if you don't know how to play. And then in this board, you have again, pieces like in chess, but these pieces are not there initially like they are in chess. You actually need to decide to gather resources to decide which pieces to build. So in a way you're starting almost with no pieces. You start gathering resources in StarCraft. There's minerals and gas that you can gather. And then you must decide how much do you wanna focus for instance, on gathering more resources or starting to build units or pieces. And then once you have enough pieces or maybe like attack, a good attack composition, then you go and attack the other side of the map. And now the other main difference with chess is that you don't see the other side of the map. So you're not seeing the moves of the enemy. It's what we call partially observable. So as a result, you must not only decide trading off economy versus building your own units, but you also must decide whether you wanna scout to gather information, but also by scouting, you might be giving away some information that you might be hiding from the enemy. So there's a lot of complex decision making all in real time. There's also unlike chess, this is not a turn based game. You play basically all the time continuously and thus some skill in terms of speed and accuracy of clicking is also very important. And people that train for this really play this game at an amazing skill level. I've seen many times these and if you can witness this life, it's really, really impressive. So in a way, it's kind of a chess where you don't see the other side of the board, you're building your own pieces and you also need to gather resources to basically get some money to build other buildings, pieces, technology and so on. From the perspective of a human player, the difference between that and chess or maybe that and a game like turn based strategy like Heroes of Might and Magic is that there's an anxiety because you have to make these decisions really quickly. And if you are not actually aware of what decisions work, it's a very stressful balance. Everything you describe is actually quite stressful, difficult to balance for an amateur human player. I don't know if it gets easier at the professional level, like if they're fully aware of what they have to do, but at the amateur level, there's this anxiety. Oh crap, I'm being attacked. Oh crap, I have to build up resource. Oh, I have to probably expand. And all these, the time, the real time strategy aspect is really stressful and computationally I'm sure difficult. We'll get into it. But for me, Battle.net, so StarCraft was released in 98, 20 years ago, which is hard to believe. And Blizzard Battle.net with Diablo in 96 came out. And to me, it might be a narrow perspective, but it changed online gaming and perhaps society forever. Yeah. But I may have made way too narrow viewpoint, but from your perspective, can you talk about the history of gaming over the past 20 years? Is this, how transformational, how important is this line of games? Right, so I think I kind of was an active gamer whilst this was developing, the internet, online gaming. So for me, the way it came was I played other games, strategy related, I played a bit of Common and Conquer, and then I played Warcraft II, which is from Blizzard. But at the time, I didn't know, I didn't understand about what Blizzard was or anything. Warcraft II was just a game, which was actually very similar to StarCraft in many ways. It's also real time strategy game where there's orcs and humans, so there's only two races. But it was offline. And it was offline, right? So I remember a friend of mine came to school, say, oh, there's this new cool game called StarCraft. And I just said, oh, this sounds like just a copy of Warcraft II, until I kind of installed it. And at the time, I am from Spain, so we didn't have very good internet, right? So there was, for us, StarCraft became first kind of an offline experience where you kind of start to play these missions, right? You play against some sort of scripted things to develop the story of the characters in the game. And then later on, I start playing against the built in AI, and I thought it was impossible to defeat it. Then eventually you defeat one and you can actually play against seven built in AIs at the same time, which also felt impossible. But actually, it's not that hard to beat seven built in AIs at once. So once we achieved that, also we discovered that we could play, as I said, internet wasn't that great, but we could play with the LAN, right? Like basically against each other if we were in the same place because you could just connect machines with like cables, right? So we started playing in LAN mode and as a group of friends, and it was really, really like much more entertaining than playing against AIs. And later on, as internet was starting to develop and being a bit faster and more reliable, then it's when I started experiencing Battle.net, which is this amazing universe, not only because of the fact that you can play the game against anyone in the world, but you can also get to know more people. You just get exposed to now like this vast variety of, it's kind of a bit when the chats came about, right? There was a chat system. You could play against people, but you could also chat with people, not only about Stalker, but about anything. And that became a way of life for kind of two years. And obviously then it became like kind of, it exploded in me in that I started to play more seriously, going to tournaments and so on and so forth. Do you have a sense on a societal, sociological level, what's this whole part of society that many of us are not aware of and it's a huge part of society, which is gamers. I mean, every time I come across that in YouTube or streaming sites, I mean, this is the huge number of people play games religiously. Do you have a sense of those folks, especially now that you've returned to that realm a little bit on the AI side? Yeah, so in fact, even after Stalker, I actually played World of Warcraft, which is maybe the main sort of online worlds or in presence that you get to interact with lots of people. So I played that for a little bit. It was to me, it was a bit less stressful than StarCraft because winning was kind of a given. You just put in this world and you can always complete missions. But I think it was actually the social aspect of especially StarCraft first and then games like World of Warcraft really shaped me in a very interesting ways because what you get to experience is just people you wouldn't usually interact with, right? So even nowadays, I still have many Facebook friends from the area where I played online and their ways of thinking is even political. They just, we don't live in, like we don't interact in the real world, but we were connected by basically fiber. And that way I actually get to understand a bit better that we live in a diverse world. And these were just connections that were made by, because, you know, I happened to go in a city in a virtual city as a priest and I met this warrior and we became friends and then we start like playing together, right? So I think it's transformative and more and more and more people are more aware of it. I mean, it's becoming quite mainstream, but back in the day, as you were saying in 2000, 2005, even it was very, still very strange thing to do, especially in Europe. I think there were exceptions like Korea, for instance, it was amazing that everything happened so early in terms of cybercafes, like if you go to Seoul, it's a city that back in the day, StarCraft was kind of, you could be a celebrity by playing StarCraft, but this was like 99, 2000, right? It's not like recently. So yeah, it's quite interesting to look back and yeah, I think it's changing society. The same way, of course, like technology and social networks and so on are also transforming things. And a quick tangent, let me ask, you're also one of the most productive people in your particular chosen passion and path in life. And yet you're also appreciate and enjoy video games. Do you think it's possible to do, to enjoy video games in moderation? Someone told me that you could choose two out of three. When I was playing video games, you could choose having a girlfriend, playing video games or studying. And I think for the most part, it was relatively true. These things do take time. Games like StarCraft, if you take the game pretty seriously and you wanna study it, then you obviously will dedicate more time to it. And I definitely took gaming and obviously studying very seriously. I love learning science and et cetera. So to me, especially when I started university undergrad, I kind of step off StarCraft. I actually fully stopped playing. And then World of Warcraft was a bit more casual. You could just connect online. And I mean, it was fun. But as I said, that was not as much time investment as it was for me in StarCraft. Okay, so let's get into AlphaStar. What are the, you're behind the team. So DeepMind has been working on StarCraft and released a bunch of cool open source agents and so on the past few years. But AlphaStar really is the moment where the first time you beat a world class player. So what are the parameters of the challenge in the way that AlphaStar took it on and how did you and David and the rest of the DeepMind team get into it? Consider that you can even beat the best in the world or top players. I think it all started back in 2015. Actually, I'm lying. I think it was 2014 when DeepMind was acquired by Google. And I at the time was at Google Brain, which was in California, is still in California. We had this summit where we got together, the two groups. So Google Brain and Google DeepMind got together and we gave a series of talks. And given that they were doing deep reinforcement learning for games, I decided to bring up part of my past, which I had developed at Berkeley, like this thing which we call Berkeley OverMind, which is really just a StarCraft one bot, right? So I talked about that. And I remember Demis just came to me and said, well, maybe not now, it's perhaps a bit too early, but you should just come to DeepMind and do this again with deep reinforcement learning, right? And at the time it sounded very science fiction for several reasons. But then in 2016, when I actually moved to London and joined DeepMind transferring from Brain, it became apparent that because of the AlphaGo moment and kind of Blizzard reaching out to us to say, wait, like, do you want the next challenge? And also me being full time at DeepMind, so sort of kind of all these came together. And then I went to Irvine in California, to the Blizzard headquarters to just chat with them and try to explain how would it all work before you do anything. And the approach has always been about the learning perspective, right? So in Berkeley, we did a lot of rule based conditioning and if you have more than three units, then go attack. And if the other has more units than me, I retreat and so on and so forth. And of course, the point of deep reinforcement learning, deep learning, machine learning in general is that all these should be learned behavior. So that kind of was the DNA of the project since its inception in 2016, where we just didn't even have an environment to work with. And so that's how it all started really. So if you go back to that conversation with Demis or even in your own head, how far away did you, because we're talking about Atari games, we're talking about Go, which is kind of, if you're honest about it, really far away from StarCraft. In, well, now that you've beaten it, maybe you could say it's close, but it's much, it seems like StarCraft is way harder than Go philosophically and mathematically speaking. So how far away did you think you were? Do you think it's 2019 and 18 you could be doing as well as you have? Yeah, when I kind of thought about, okay, I'm gonna dedicate a lot of my time and focus on this. And obviously I do a lot of different research in deep learning. So spending time on it, I mean, I really had to kind of think there's gonna be something good happening out of this. So really I thought, well, this sounds impossible. And it probably is impossible to do the full thing, like the full game where you play one versus one and it's only a neural network playing and so on. So it really felt like, I just didn't even think it was possible. But on the other hand, I could see some stepping stones towards that goal. Clearly you could define sub problems in StarCraft and sort of dissect it a bit and say, okay, here is a part of the game, here's another part. And also obviously the fact, so this was really also critical to me, the fact that we could access human replays, right? So Blizzard was very kind. And in fact, they open source these for the whole community where you can just go and it's not every single StarCraft game ever played, but it's a lot of them you can just go and download. And every day they will, you can just query a data set and say, well, give me all the games that were played today. And given my kind of experience with language and sequences and supervised learning, I thought, well, that's definitely gonna be very helpful and something quite unique now, because ever before we had such a large data set of replays, of people playing the game at this scale of such a complex video game, right? So that to me was a precious resource. And as soon as I knew that Blizzard was able to kind of give this to the community, I started to feel positive about something non trivial happening. But I also thought the full thing, like really no rules, no single line of code that tries to say, well, I mean, if you see this unit, build a detector, all these, not having any of these specializations seemed really, really, really difficult to me. Intuitively. I do also like that Blizzard was teasing or even trolling you, sort of almost, yeah, pulling you in into this really difficult challenge. Do they have any awareness? What's the interest from the perspective of Blizzard, except just curiosity? Yeah, I think Blizzard has really understood and really bring forward this competitiveness of esports in games. The StarCraft really kind of sparked a lot of, like something that almost was never seen, especially as I was saying, back in Korea. So they just probably thought, well, this is such a pure one versus one setup that it would be great to see if something that can play Atari or Go and then later on chess could even tackle these kind of complex real time strategy game, right? So for them, they wanted to see first, obviously whether it was possible, if the game they created was in a way solvable to some extent. And I think on the other hand, they also are a pretty modern company that innovates a lot. So just starting to understand AI for them to how to bring AI into games is not AI for games, but games for AI, right? I mean, both ways I think can work. And we obviously at DeepMind use games for AI, right? I mean, it was so exciting. I mean, so looking back to those last days of 2018 really, that's when the games were played. I'm sure I look back at that moment, I'll say, oh my God, I want to be in a project like that. It's like, I already feel the nostalgia of like, yeah, that was huge in terms of the energy and the team effort that went into it. And so in that sense, as soon as it happened, I already knew it was kind of, I was losing it a little bit. So it is almost like sad that it happened and oh my God, but on the other hand, it also verifies the approach. But to me also, there's so many challenges and interesting aspects of intelligence that even though we can train a neural network to play at the level of the best humans, there's still so many challenges. So for me, it's also like, well, this is really an amazing achievement, but I already was also thinking about next steps. I mean, as I said, these Asians play Protoss versus Protoss, but they should be able to play a different race much quicker, right? So that would be an amazing achievement. Some people call this meta reinforcement learning, meta learning and so on, right? So there's so many possibilities after that moment, but the moment itself, it really felt great. We had this bet, so I'm kind of a pessimist in general. So I kind of send an email to the team. I said, okay, let's against TLO first, right? Like what's gonna be the result? And I really thought we would lose like five zero, right? We had some calibration made against the 5,000 MMR player. TLO was much stronger than that player, even if he played Protoss, which is his off race. But yeah, I was not imagining we would win. So for me, that was just kind of a test run or something. And then it really kind of, he was really surprised. And unbelievably, we went to this bar to celebrate and Dave tells me, well, why don't we invite someone who is a thousand MMR stronger in Protoss, like actual Protoss player, like that it turned up being Mana, right? And we had some drinks and I said, sure, why not? But then I thought, well, that's really gonna be impossible to beat. I mean, even because it's so much ahead, a thousand MMR is really like 99% probability that Mana would beat TLO as Protoss versus Protoss, right? So we did that. And to me, the second game was much more important, even though a lot of uncertainty kind of disappeared after we kind of beat TLO. I mean, he is a professional player. So that was kind of, oh, but that's really a very nice achievement. But Mana really was at the top and you could see he played much better, but our agents got much better too. So it's like, ah, and then after the first game, I said, if we take a single game, at least we can say we beat a game. I mean, even if we don't beat the series, for me, that was a huge relief. And I mean, I remember the hugging demis. And I mean, it was really like, this moment for me will resonate forever as a researcher. And I mean, as a person, and yeah, it's a really like great accomplishment. And it was great also to be there with the team in the room. I don't know if you saw like this. So it was really like. I mean, from my perspective, the other interesting thing is just like watching Kasparov, watching Mana was also interesting because he didn't, he has kind of a loss of words. I mean, whenever you lose, I've done a lot of sports. You sometimes say excuses, you look for reasons. And he couldn't really come up with reasons. I mean, so with the off race for Protoss, you could say, well, it felt awkward, it wasn't, but here it was just beaten. And it was beautiful to look at a human being being superseded by an AI system. I mean, it's a beautiful moment for researchers, so. Yeah, for sure it was. I mean, probably the highlight of my career so far because of its uniqueness and coolness. And I don't know, I mean, it's obviously, as you said, you can look at papers, citations and so on, but these really is like a testament of the whole machine learning approach and using games to advance technology. I mean, it really was, everything came together at that moment. That's really the summary. Also on the other side, it's a popularization of AI too, because it's just like traveling to the moon and so on. I mean, this is where a very large community of people that don't really know AI, they get to really interact with it. Which is very important. I mean, we must, you know, writing papers helps our peers, researchers, to understand what we're doing. But I think AI is becoming mature enough that we must sort of try to explain what it is. And perhaps through games is an obvious way because these games always had built in AI. So it may be everyone experience an AI playing a video game, even if they don't know, because there's always some scripted element and some people might even call that AI already, right? So what are other applications of the approaches underlying AlphaStar that you see happening? There's a lot of echoes of, you said, transformer of language modeling and so on. Have you already started thinking where the breakthroughs in AlphaStar get expanded to other applications? Right, so I thought about a few things for like kind of next month, next years. The main thing I'm thinking about actually is what's next as a kind of a grand challenge. Because for me, like we've seen Atari and then there's like the sort of three dimensional walls that we've seen also like pretty good performance from these capture the flag agents that also some people at DeepMind and elsewhere are working on. We've also seen some amazing results on like, for instance, Dota 2, which is also a very complicated game. So for me, like the main thing I'm thinking about is what's next in terms of challenge. So as a researcher, I see sort of two tensions between research and then applications or areas or domains where you apply them. So on the one hand, we've done, thanks to the application of StarCraft is very hard. We developed some techniques, some new research that now we could look at elsewhere. Like are there other applications where we can apply these? And the obvious ones, absolutely. You can think of feeding back to sort of the community we took from, which was mostly sequence modeling or natural language processing. So we've developed and extended things from the transformer and we use pointer networks. We combine LSTM and transformers in interesting ways. So that's perhaps the kind of lowest hanging fruit of feeding back to now a different field of machine learning that's not playing video games. Let me go old school and jump to Mr. Alan Turing. So the Turing test is a natural language test, a conversational test. What's your thought of it as a test for intelligence? Do you think it is a grand challenge that's worthy of undertaking? Maybe if it is, would you reformulate it or phrase it somehow differently? Right, so I really love the Turing test because I also like sequences and language understanding. And in fact, some of the early work we did in machine translation, we tried to apply to kind of a neural chatbot, which obviously would never pass the Turing test because it was very limited. But it is a very fascinating idea that you could really have an AI that would be indistinguishable from humans in terms of asking or conversing with it. So I think the test itself seems very nice. And it's kind of well defined, actually, like the passing it or not. I think there's quite a few rules that feel pretty simple. And I think they have these competitions every year. Yes, there's the Lebner Prize. But I don't know if you've seen the kind of bots that emerge from that competition. They're not quite as what you would. So it feels like that there's weaknesses with the way Turing formulated it. It needs to be that the definition of a genuine, rich, fulfilling human conversation, it needs to be something else. Like the Alexa Prize, which I'm not as well familiar with, has tried to define that more, I think, by saying you have to continue keeping a conversation for 30 minutes, something like that. So basically forcing the agent not to just fool, but to have an engaging conversation kind of thing. Have you thought about this problem richly? And if you have in general, how far away are we from? You worked a lot on language understanding, language generation, but the full dialogue, the conversation, just sitting at the bar having a couple of beers for an hour, that kind of conversation. Have you thought about it? Yeah, so I think you touched here on the critical point, which is feasibility. So there's a great essay by Hamming, which describes sort of grand challenges of physics. And he argues that, well, OK, for instance, teleportation or time travel are great grand challenges of physics, but there's no attacks. We really don't know or cannot kind of make any progress. So that's why most physicists and so on, they don't work on these in their PhDs and as part of their careers. So I see the Turing test, in the full Turing test, as a bit still too early. Like I think we're, especially with the current trend of deep learning language models, we've seen some amazing examples. I think GPT2 being the most recent one, which is very impressive. But to understand to fully solve passing or fooling a human to think that there's a human on the other side, I think we're quite far. So as a result, I don't see myself and I probably would not recommend people doing a PhD on solving the Turing test because it just feels it's kind of too early or too hard of a problem. Yeah, but that said, you said the exact same thing about StarCraft about a few years ago. Indeed. To Demis. So you'll probably also be the person who passes the Turing test in three years. I mean, I think that, yeah. So we have this on record. This is nice. It's true. I mean, it's true that progress sometimes is a bit unpredictable. I really wouldn't have not. Even six months ago, I would not have predicted the level that we see that these agents can deliver at grandmaster level. But I have worked on language enough. And basically, my concern is not that something could happen, a breakthrough could happen that would bring us to solving or passing the Turing test, is that I just think the statistical approach to it is not going to cut it. So we need a breakthrough, which is great for the community. But given that, I think there's quite more uncertainty. Whereas for StarCraft, I knew what the steps would be to get us there. I think it was clear that using the imitation learning part and then using this battle net for agents were going to be key. And it turned out that this was the case. And a little more was needed, but not much more. For Turing test, I just don't know what the plan or execution plan would look like. So that's why I myself working on it as a grand challenge is hard. But there are quite a few sub challenges that are related that you could say, well, I mean, what if you create a great assistant like Google already has, like the Google Assistant. So can we make it better? And can we make it fully neural and so on? That I start to believe maybe we're reaching a point where we should attempt these challenges. I like this conversation so much because it echoes very much the StarCraft conversation. It's exactly how you approach StarCraft. Let's break it down into small pieces and solve those. And you end up solving the whole game. Great. But that said, you're behind some of the biggest pieces of work in deep learning in the last several years. So you mentioned some limits. What do you think of the current limits of deep learning? And how do we overcome those limits? So if I had to actually use a single word to define the main challenge in deep learning, it's a challenge that probably has been the challenge for many years. And it's that of generalization. So what that means is that all that we're doing is fitting functions to data. And when the data we see is not from the same distribution, or even if there are some times that it is very close to distribution, but because of the way we train it with limited samples, we then get to this stage where we just don't see generalization as much as we can generalize. And I think adversarial examples are a clear example of this. But if you study machine learning and literature, and the reason why SVMs came very popular were because they were dealing and they had some guarantees about generalization, which is unseen data or out of distribution, or even within distribution where you take an image adding a bit of noise, these models fail. So I think, really, I don't see a lot of progress on generalization in the strong generalization sense of the word. I think our neural networks, you can always find design examples that will make their outputs arbitrary, which is not good because we humans would never be fooled by these kind of images or manipulation of the image. And if you look at the mathematics, you kind of understand this is a bunch of matrices multiplied together. There's probably numerics and instability that you can just find corner cases. So I think that's really the underlying topic many times we see when even at the grand stage of Turing test generalization, if you start passing the Turing test, should it be in English or should it be in any language? As a human, if you ask something in a different language, you actually will go and do some research and try to translate it and so on. Should the Turing test include that? And it's really a difficult problem and very fascinating and very mysterious, actually. Yeah, absolutely. But do you think if you were to try to solve it, can you not grow the size of data intelligently in such a way that the distribution of your training set does include the entirety of the testing set? Is that one path? The other path is totally a new methodology. It's not statistical. So a path that has worked well, and it worked well in StarCraft and in machine translation and in languages, scaling up the data and the model. And that's kind of been maybe the only single formula that still delivers today in deep learning, right? It's that data scale and model scale really do more and more of the things that we thought, oh, there's no way it can generalize to these, or there's no way it can generalize to that. But I don't think fundamentally it will be solved with this. And for instance, I'm really liking some style or approach that would not only have neural networks, but it would have programs or some discrete decision making, because there is where I feel there's a bit more. I mean, the best example, I think, for understanding this is I also worked a bit on, oh, we can learn an algorithm with a neural network, right? So you give it many examples, and it's going to sort the input numbers or something like that. But really strong generalization is you give me some numbers or you ask me to create an algorithm that sorts numbers. And instead of creating a neural net, which will be fragile because it's going to go out of range at some point, you're going to give it numbers that are too large, too small, and whatnot, if you just create a piece of code that sorts the numbers, then you can prove that that will generalize to absolutely all the possible input you could give. So I think the problem comes with some exciting prospects. I mean, scale is a bit more boring, but it really works. And then maybe programs and discrete abstractions are a bit less developed. But clearly, I think they're quite exciting in terms of future for the field. Do you draw any insight wisdom from the 80s and expert systems and symbolic systems, symbolic computing? Do you ever go back to those reasoning, that kind of logic? Do you think that might make a comeback? You'll have to dust off those books? Yeah, I actually love actually adding more inductive biases. To me, the problem really is, what are you trying to solve? If what you're trying to solve is so important that try to solve it no matter what, then absolutely use rules, use domain knowledge, and then use a bit of the magic of machine learning to empower to make the system as the best system that will detect cancer or detect weather patterns, right? Or in terms of StarCraft, it also was a very big challenge. So I was definitely happy that if we had to cut a corner here and there, it could have been interesting to do. And in fact, in StarCraft, we start thinking about expert systems because it's a very, you know, you can define. I mean, people actually build StarCraft bots by thinking about those principles, like state machines and rule based. And then you could think of combining a bit of a rule based system, but that has also neural networks incorporated to make it generalize a bit better. So absolutely, I mean, we should definitely go back to those ideas. And anything that makes the problem simpler, as long as your problem is important, that's OK. And that's research driving a very important problem. And on the other hand, if you want to really focus on the limits of reinforcement learning, then of course, you must try not to look at imitation data or to look for some rules of the domain that would help a lot or even feature engineering, right? So this is a tension that depending on what you do, I think both ways are definitely fine. And I would never not do one or the other as long as what you're doing is important and needs to be solved, right? Right, so there's a bunch of different ideas that you developed that I really enjoy. But one is translating from image captioning, translating from image to text, just another beautiful idea, I think, that resonates throughout your work, actually. So the underlying nature of reality being language always, somehow. So what's the connection between images and text, or rather the visual world and the world of language in your view? Right, so I think a piece of research that's been central to, I would say, even extending into StarGraph is this idea of sequence to sequence learning, which what we really meant by that is that you can now really input anything to a neural network as the input x. And then the neural network will learn a function f that will take x as an input and produce any output y. And these x and y's don't need to be static or features, like fixed vectors or anything like that. It could be really sequences and now beyond data structures. So that paradigm was tested in a very interesting way when we moved from translating French to English to translating an image to its caption. But the beauty of it is that, really, and that's actually how it happened. I changed a line of code in this thing that was doing machine translation. And I came the next day, and I saw how it was producing captions that seemed like, oh my god, this is really, really working. And the principle is the same. So I think I don't see text, vision, speech, waveforms as something different as long as you basically learn a function that will vectorize these into. And then after we vectorize it, we can then use transformers, LSTMs, whatever the flavor of the month of the model is. And then as long as we have enough supervised data, really, this formula will work and will keep working, I believe, to some extent. Modulo these generalization issues that I mentioned before. But the task there is to vectorize, so to form a representation that's meaningful. And your intuition now, having worked with all this media, is that once you are able to form that representation, you could basically take any things, any sequence. Going back to StarCraft, is there limits on the length so that we didn't really touch on the long term aspect? How did you overcome the whole really long term aspect of things here? Is there some tricks? So the main trick, so StarCraft, if you look at absolutely every frame, you might think it's quite a long game. So we would have to multiply 22 times 60 seconds per minute times maybe at least 10 minutes per game on average. So there are quite a few frames. But the trick really was to only observe, in fact, which might be seen as a limitation, but it is also a computational advantage. Only observe when you act. And then what the neural network decides is what is the gap going to be until the next action. And if you look at most StarCraft games that we have in the data set that Blizzard provided, it turns out that most games are actually only, I mean, it is still a long sequence, but it's maybe like 1,000 to 1,500 actions, which if you start looking at LSTMs, large LSTMs, transformers, it's not that difficult, especially if you have supervised learning. If you had to do it with reinforcement learning, the credit assignment problem, what is it in this game that made you win? That would be really difficult. But thankfully, because of imitation learning, we didn't have to deal with these directly. Although if we had to, we tried it. And what happened is you just take all your workers and attack with them. And that is kind of obvious in retrospect because you start trying random actions. One of the actions will be a worker that goes to the enemy base. And because it's self play, it's not going to know how to defend because it basically doesn't know almost anything. And eventually, what you develop is this take all workers and attack because the credit assignment issue in a rally is really, really hard. I do believe we could do better. And that's maybe a research challenge for the future. But yeah, even in StarCraft, the sequences are maybe 1,000, which I believe is within the realm of what transformers can do. Yeah, I guess the difference between StarCraft and Go is in Go and Chess, stuff starts happening right away. So there's not, yeah, it's pretty easy to self play. Not easy, but to self play, it's possible to develop reasonable strategies quickly as opposed to StarCraft. I mean, in Go, there's only 400 actions. But one action is what people would call the God action. That would be if you had expanded the whole search tree, that's the best action if you did minimax or whatever algorithm you would do if you had the computational capacity. But in StarCraft, 400 is minuscule. Like in 400, you couldn't even click on the pixels around a unit. So I think the problem there is in terms of action space size is way harder. And that search is impossible. So there's quite a few challenges indeed that make this kind of a step up in terms of machine learning. For humans, maybe playing StarCraft seems more intuitive because it looks real. I mean, the graphics and everything moves smoothly, whereas I don't know how to. I mean, Go is a game that I would really need to study. It feels quite complicated. But for machines, kind of maybe it's the reverse, yes. Which shows you the gap actually between deep learning and however the heck our brains work. So you developed a lot of really interesting ideas. It's interesting to just ask, what's your process of developing new ideas? Do you like brainstorming with others? Do you like thinking alone? Do you like, what was it, Ian Goodfellow said he came up with GANs after a few beers. He thinks beers are essential for coming up with new ideas. We had beers to decide to play another game of StarCraft after a week. So it's really similar to that story. Actually, I explained this in a DeepMind retreat. And I said, this is the same as the GAN story. I mean, we were in a bar. And we decided, let's play a GAN next week. And that's what happened. I feel like we're giving the wrong message to young undergrads. Yeah, I know. But in general, do you like brainstorming? Do you like thinking alone, working stuff out? So I think throughout the years, also, things changed. So initially, I was very fortunate to be with great minds like Jeff Hinton, Jeff Dean, Ilya Sutskever. I was really fortunate to join Brain at a very good time. So at that point, ideas, I was just brainstorming with my colleagues and learned a lot. And keep learning is actually something you should never stop doing. So learning implies reading papers and also discussing ideas with others. It's very hard at some point to not communicate that being reading a paper from someone or actually discussing. So definitely, that communication aspect needs to be there, whether it's written or oral. Nowadays, I'm also trying to be a bit more strategic about what research to do. So I was describing a little bit this tension between research for the sake of research, and then you have, on the other hand, applications that can drive the research. And honestly, the formula that has worked best for me is just find a hard problem and then try to see how research fits into it, how it doesn't fit into it, and then you must innovate. So I think machine translation drove sequence to sequence. Then maybe learning algorithms that had to, combinatorial algorithms led to pointer networks. StarCraft led to really scaling up imitation learning and the AlphaStarLeague. So that's been a formula that I personally like. But the other one is also valid. And I've seen it succeed a lot of the times where you just want to investigate model based RL as a research topic. And then you must then start to think, well, how are the tests? How are you going to test these ideas? You need a minimal environment to try things. You need to read a lot of papers and so on. And that's also very fun to do and something I've also done quite a few times, both at Brain, at DeepMind, and obviously as a PhD. So I think besides the ideas and discussions, I think it's important also because you start sort of guiding not only your own goals, but other people's goals to the next breakthrough. So you must really kind of understand this feasibility also, as we were discussing before, whether this domain is ready to be tackled or not. And you don't want to be too early. You obviously don't want to be too late. So it's really interesting, this strategic component of research, which I think as a grad student, I just had no idea. I just read papers and discussed ideas. And I think this has been maybe the major change. And I recommend people kind of feed forward to success how it looks like and try to backtrack, other than just kind of looking, oh, this looks cool. This looks cool. And then you do a bit of random work, which sometimes you stumble upon some interesting things. But in general, it's also good to plan a bit. Yeah, I like it. Especially like your approach of taking a really hard problem, stepping right in, and then being super skeptical about being able to solve the problem. I mean, there's a balance of both, right? There's a silly optimism and a critical sort of skepticism that's good to balance, which is why it's good to have a team of people that balance that. You don't do that on your own. You have both mentors that have seen, or you obviously want to chat and discuss whether it's the right time. I mean, Demis came in 2014. And he said, maybe in a bit we'll do StarCraft. And maybe he knew. And I'm just following his lead, which is great, because he's brilliant, right? So these things are obviously quite important, that you want to be surrounded by people who are diverse. They have their knowledge. There's also important to, I mean, I've learned a lot from people who actually have an idea that I might not think it's good. But if I give them the space to try it, I've been proven wrong many, many times as well. So that's great. I think your colleagues are more important than yourself, I think. Sure. Now let's real quick talk about another impossible problem, AGI. Right. What do you think it takes to build a system that's human level intelligence? We talked a little bit about the Turing test, StarCraft. All of these have echoes of general intelligence. But if you think about just something that you would sit back and say, wow, this is really something that resembles human level intelligence. What do you think it takes to build that? So I find that AGI oftentimes is maybe not very well defined. So what I'm trying to then come up with for myself is what would be a result look like that you would start to believe that you would have agents or neural nets that no longer overfeed to a single task, but actually learn the skill of learning, so to speak. And that actually is a field that I am fascinated by, which is the learning to learn, or meta learning, which is about no longer learning about a single domain. So you can think about the learning algorithm itself is general. So the same formula we applied for AlphaStar or StarCraft, we can now apply to almost any video game, or you could apply to many other problems and domains. But the algorithm is what's generalizing. But the neural network, those weights are useless even to play another race. I train a network to play very well at Protos versus Protos. I need to throw away those weights. If I want to play now Terran versus Terran, I would need to retrain a network from scratch with the same algorithm. That's beautiful. But the network itself will not be useful. So I think if I see an approach that can absorb or start solving new problems without the need to kind of restart the process, I think that, to me, would be a nice way to define some form of AGI. Again, I don't know the grandiose like age. I mean, should Turing tests be solved before AGI? I mean, I don't know. I think concretely, I would like to see clearly that meta learning happen, meaning that there is an architecture or a network that as it sees new problem or new data, it solves it. And to make it kind of a benchmark, it should solve it at the same speed that we do solve new problems. When I define you a new object and you have to recognize it, when you start playing a new game, you played all the Atari games. But now you play a new Atari game. Well, you're going to be pretty quickly pretty good at the game. So that's perhaps what's the domain and what's the exact benchmark is a bit difficult. I think as a community, we might need to do some work to define it. But I think this first step, I could see it happen relatively soon. But then the whole what AGI means and so on, I am a bit more confused about what I think people mean different things. There's an emotional, psychological level that like even the Turing test, passing the Turing test is something that we just pass judgment on as human beings what it means to be as a dog in AGI system. Yeah. What level, what does it mean, what does it mean? But I like the generalization. And maybe as a community, we converge towards a group of domains that are sufficiently far away. That would be really damn impressive if it was able to generalize. So perhaps not as close as Protoss and Zerg, but like Wikipedia. That would be a step. Yeah, that would be a good step and then a really good step. But then like from StarCraft to Wikipedia and back. Yeah, that kind of thing. And that feels also quite hard and far. But I think as long as you put the benchmark out, as we discovered, for instance, with ImageNet, then tremendous progress can be had. So I think maybe there's a lack of benchmark, but I'm sure we'll find one and the community will then work towards that. And then beyond what AGI might mean or would imply, I really am hopeful to see basically machine learning or AI just scaling up and helping people that might not have the resources to hire an assistant or that they might not even know what the weather is like. So I think in terms of the positive impact of AI, I think that's maybe what we should also not lose focus. The research community building AGI, I mean, that's a real nice goal. But I think the way that DeepMind puts it is, and then use it to solve everything else. So I think we should paralyze. Yeah, we shouldn't forget about all the positive things that are actually coming out of AI already and are going to be coming out. Right. But on that note, let me ask relative to popular perception, do you have any worry about the existential threat of artificial intelligence in the near or far future that some people have? I think in the near future, I'm skeptical. So I hope I'm not wrong. But I'm not concerned, but I appreciate efforts, ongoing efforts, and even like whole research field on AI safety emerging and in conferences and so on. I think that's great. In the long term, I really hope we just can simply have the benefits outweigh the potential dangers. I am hopeful for that. But also, we must remain vigilant to monitor and assess whether the tradeoffs are there and we have enough also lead time to prevent or to redirect our efforts if need be. But I'm quite optimistic about the technology and definitely more fearful of other threats in terms of planetary level at this point. But obviously, that's the one I have more power on. So clearly, I do start thinking more and more about this. And it's grown in me actually to start reading more about AI safety, which is a field that so far I have not really contributed to. But maybe there's something to be done there as well. I think it's really important. I talk about this with a few folks. But it's important to ask you and shove it in your head because you're at the leading edge of actually what people are excited about in AI. The work with AlphaStar, it's arguably at the very cutting edge of the kind of thing that people are afraid of. And so you speaking to that fact and that we're actually quite far away to the kind of thing that people might be afraid of. But it's still worthwhile to think about. And it's also good that you're not as worried and you're also open to thinking about it. There's two aspects. I mean, me not being worried. But obviously, we should prepare for things that could go wrong, misuse of the technologies as with any technologies. So I think there's always trade offs. And as a society, we've kind of solved this to some extent in the past. So I'm hoping that by having the researchers and the whole community brainstorm and come up with interesting solutions to the new things that will happen in the future, that we can still also push the research to the avenue that I think is kind of the greatest avenue, which is to understand intelligence. How are we doing what we're doing? And obviously, from a scientific standpoint, that is kind of my personal drive of all the time that I spend doing what I'm doing, really. Where do you see the deep learning as a field heading? Where do you think the next big breakthrough might be? So I think deep learning, I discussed a little of this before. Deep learning has to be combined with some form of discretization, program synthesis. I think that's kind of as a research in itself is an interesting topic to expand and start doing more research. And then as kind of what will deep learning enable to do in the future? I don't think that's going to be what's going to happen this year. But also this idea of starting not to throw away all the weights, that this idea of learning to learn and really having these agents not having to restart their weights. And you can have an agent that is kind of solving or classifying images on ImageNet, but also generating speech if you ask it to generate some speech. And it should really be kind of almost the same network, but it might not be a neural network. It might be a neural network with an optimization algorithm attached to it. But I think this idea of generalization to new task is something that we first must define good benchmarks. But then I think that's going to be exciting. And I'm not sure how close we are. But I think if you have a very limited domain, I think we can start doing some progress. And much like how we did a lot of programs in computer vision, we should start thinking. I really like a talk that Leon Buto gave at ICML a few years ago, which is this train test paradigm should be broken. We should stop thinking about a training set and a test set. And these are closed things that are untouchable. I think we should go beyond these. And in meta learning, we call these the meta training set and the meta test set, which is really thinking about, if I know about ImageNet, why would that network not work on MNIST, which is a much simpler problem? But right now, it really doesn't. But it just feels wrong. So I think that's kind of the, on the application or the benchmark sites, we probably will see quite a few more interest and progress and hopefully people defining new and exciting challenges really. Do you have any hope or interest in knowledge graphs within this context? So this kind of constructing graph. So going back to graphs. Well, neural networks and graphs. But I mean, a different kind of knowledge graph, sort of like semantic graphs or those concepts. Yeah. So I think the idea of graphs is, so I've been quite interested in sequences first and then more interesting or different data structures like graphs. And I've studied graph neural networks in the last three years or so. I found these models just very interesting from deep learning sites standpoint. But then why do we want these models and why would we use them? What's the application? What's kind of the killer application of graphs? And perhaps if we could extract a knowledge graph from Wikipedia automatically, that would be interesting because then these graphs have this very interesting structure that also is a bit more compatible with this idea of programs and deep learning kind of working together, jumping neighborhoods and so on. You could imagine defining some primitives to go around graphs, right? So I think I really like the idea of a knowledge graph. And in fact, when we started or as part of the research we did for StarCraft, I thought, wouldn't it be cool to give the graph of all these buildings that depend on each other and units that have prerequisites of being built by that. And so this is information that the network can learn and extract. But it would have been great to see or to think of really StarCraft as a giant graph that even also as the game evolves, you start taking branches and so on. And we did a bit of research on these, nothing too relevant, but I really like the idea. And it has elements that are something you also worked with in terms of visualizing your networks. It has elements of having human interpretable, being able to generate knowledge representations that are human interpretable that maybe human experts can then tweak or at least understand. So there's a lot of interesting aspect there. And for me personally, I'm just a huge fan of Wikipedia. And it's a shame that our neural networks aren't taking advantage of all the structured knowledge that's on the web. What's next for you? What's next for DeepMind? What are you excited about for AlphaStar? Yeah, so I think the obvious next steps would be to apply AlphaStar to other races. I mean, that sort of shows that the algorithm works because we wouldn't want to have created by mistake something in the architecture that happens to work for Protoss but not for other races. So as verification, I think that's an obvious next step that we are working on. And then I would like to see so agents and players can specialize on different skill sets that allow them to be very good. I think we've seen AlphaStar understanding very well when to take battles and when to not to do that. Also very good at micromanagement and moving the units around and so on. And also very good at producing nonstop and trading off economy with building units. But I have not perhaps seen as much as I would like this idea of the poker idea that you mentioned, right? I'm not sure StarCraft or AlphaStar rather has developed a very deep understanding of what the opponent is doing and reacting to that and sort of trying to trick the player to do something else or that. So this kind of reasoning, I would like to see more. So I think purely from a research standpoint, there's perhaps also quite a few things to be done there in the domain of StarCraft. Yeah, in the domain of games, I've seen some interesting work in even auctions, manipulating other players, sort of forming a belief state and just messing with people. Yeah, it's called theory of mind, I guess. Theory of mind, yeah. So it's a fascinating. Theory of mind on StarCraft is kind of they're really made for each other. So that would be very exciting to see those techniques apply to StarCraft or perhaps StarCraft driving new techniques, right? As I said, this is always the tension between the two. Well, Orel, thank you so much for talking today. Awesome. It was great to be here. Thanks. To drive AI progress, but Blizzard might actually be able to do and many other companies to start to understand and do the opposite. So I think that is also something they can get out of these. And they definitely, we have brainstormed a lot about these, right? But one of the interesting things to me about StarCraft and Diablo and these games that Blizzard has created is the task of balancing classes, for example. Sort of making the game fair from the starting point and then let skill determine the outcome. Is there, I mean, can you first comment, there's three races, Zerg, Protoss and Terran. I don't know if I've ever said that out loud. Is that how you pronounce it? Terran? Yeah, Terran. Yeah. Yeah, I don't think I've ever in person interacted with anybody about StarCraft, that's funny. So they seem to be pretty balanced. I wonder if the AI, the work that you're doing with AlphaStar would help balance them even further. Is that something you think about? Is that something that Blizzard is thinking about? Right, so balancing when you add a new unit or a new spell type is obviously possible given that you can always train or pre train at scale some agent that might start using that in unintended ways. But I think actually, if you understand how StarCraft has kind of co evolved with players, in a way, I think it's actually very cool the ways that many of the things and strategies that people came up with, right? So I think we've seen it over and over in StarCraft that Blizzard comes up with maybe a new unit and then some players get creative and do something kind of unintentional or something that Blizzard designers that just simply didn't test or think about. And then after that becomes kind of mainstream in the community, Blizzard patches the game and then they kind of maybe weaken that strategy or make it actually more interesting but a bit more balanced. So these kind of continual talk between players and Blizzard is kind of what has defined them actually in actually most games in StarCraft but also in World of Warcraft, they would do that. There are several classes and it would be not good that everyone plays absolutely the same race and so on, right? So I think they do care about balancing of course and they do a fair amount of testing but it's also beautiful to also see how players get creative anyways. And I mean, whether AI can be more creative at this point, I don't think so, right? I mean, it's just sometimes something so amazing happens. Like I remember back in the days, like you have these drop ships that could drop the rivers and that was actually not thought about that you could drop this unit that has this what's called splash damage that would basically eliminate all the enemies workers at once. No one thought that you could actually put them in really early game, do that kind of damage and then things change in the game. But I don't know, I think it's quite an amazing exploration process from both sides, players and Blizzard alike. Well, it's almost like a reinforcement learning exploration but the scale of humans that play Blizzard games is almost on the scale of a large scale deep mind RL experiment. I mean, if you look at the numbers, I mean, you're talking about, I don't know how many games but hundreds of thousands of games probably a month. Yeah. I mean, so it's almost the same as running RL agents. What aspect of the problem of Starcraft do you think is the hardest? Is it the, like you said, the imperfect information? Is it the fact they have to do longterm planning? Is it the real time aspects? We have to do stuff really quickly. Is it the fact that a large action space so you can do so many possible things? Or is it, you know, in the game theoretic sense there is no Nash equilibrium or at least you don't know what the optimal strategy is because there's way too many options. Right. Is there something that stands out as just like the hardest the most annoying thing? So when we sort of looked at the problem and start to define like the parameters of it, right? What are the observations? What are the actions? It became very apparent that, you know, the very first barrier that one would hit in Starcraft would be because of the action space being so large and as not being able to search like you could in chess or go even though the search space is vast. The main problem that we identified was that of exploration, right? So without any sort of human knowledge or human prior, if you think about Starcraft and you know how deep reinforcement learnings algorithm work which is essentially by issuing random actions and hoping that they will get some wins sometimes so they could learn. So if you think of the action space in Starcraft almost anything you can do in the early game is bad because any action involves taking workers which are mining minerals for free. That's something that the game does automatically sends them to mine. And you would immediately just take them out of mining and send them around. So just thinking how is it gonna be possible to get to understand these concepts but even more like expanding, right? There's these buildings you can place in other locations in the map to gather more resources but the location of the building is important and you have to select a worker, send it walking to that location, build the building, wait for the building to be built and then put extra workers there so they start mining. That feels like impossible if you just randomly click to produce that state, desirable state that then you could hope to learn from because eventually that may yield to an extra win, right? So for me, the exploration problem and due to the action space and the fact that there's not really turns, there's so many turns because the game essentially takes that 22 times per second. I mean, that's how they could discretize sort of time. Obviously you always have to discretize time but there's no such thing as real time but it's really a lot of time steps of things that could go wrong. And that definitely felt a priori like the hardest. You mentioned many good ones. I think partial observability and the fact that there is no perfect strategy because of the partial observability. Those are very interesting problems. We start seeing more and more now in terms of as we solve the previous ones but the core problem to me was exploration and solving it has been basically kind of the focus and how we saw the first breakthroughs. So exploration in a multi hierarchical way. So like 22 times a second exploration has a very different meaning than it does in terms of should I gather resources early or should I wait or so on. So how do you solve the longterm? Let's talk about the internals of AlphaStar. So first of all, how do you represent the state of the game as an input? How do you then do the longterm sequence modeling? How do you build a policy? What's the architecture like? So AlphaStar has obviously several components but everything passes through what we call the policy which is a neural network. And that's kind of the beauty of it. There is, I could just now give you a neural network and some weights. And if you fed the right observations and you understood the actions the same way we do you would have basically the agent playing the game. There's absolutely nothing else needed other than those weights that were trained. Now, the first step is observing the game and we've experimented with a few alternatives. The one that we currently use mixes both spatial sort of images that you would process from the game that is the zoomed out version of the map and also a zoomed in version of the camera or the screen as we call it. But also we give to the agent the list of units that it sees more of as a set of objects that it can operate on. That is not necessarily required to use it. And we have versions of the game that play well without this set vision that is a bit not like how humans perceive the game. But it certainly helps a lot because it's a very natural way to encode the game is by just looking at all the units that there are. They have properties like health, position, type of unit whether it's my unit or the enemies. And that sort of is kind of the summary of the state of the game, that list of units or set of units that you see all the time. But that's pretty close to the way humans see the game. Why do you say it's not, isn't that, you're saying the exactness of it is not similar to humans? The exactness of it is perhaps not the problem. I guess maybe the problem if you look at it from how actually humans play the game is that they play with a mouse and a keyboard and a screen and they don't see sort of a structured object with all the units. What they see is what they see on the screen, right? So. Remember that there's a, sorry to interrupt, there's a plot that you showed with camera base where you do exactly that, right? You move around and that seems to converge to similar performance. Yeah, I think that's what I, we're kind of experimenting with what's necessary or not, but using the set. So, actually, if you look at research in computer vision, where it makes a lot of sense to treat images as two dimensional arrays, there's actually a very nice paper from Facebook. I think, I forgot who the authors are, but I think it's part of Caming's group. And what they do is they take an image, which is this two dimensional signal, and they actually take pixel by pixel and scramble the image as if it was just a list of pixels. Crucially, they encode the position of the pixels with the X, Y coordinates. And this is just kind of a new architecture, which we incidentally also use in StarCraft called the Transformer, which is a very popular paper from last year, which yielded very nice result in machine translation. And if you actually believe in this kind of, oh, it's actually a set of pixels, as long as you encode X, Y, it's okay, then you could argue that the list of units that we see is precisely that, because we have each unit as a kind of pixel, if you will, and then their X, Y coordinates. So in that perspective, we, without knowing it, we use the same architecture that was shown to work very well on Pascal and ImageNet and so on. So the interesting thing here is putting it in that way it starts to move it towards the way you usually work with language. So what, and especially with your expertise and work in language, it seems like there's echoes of a lot of the way you would work with natural language in the way you've approached AlphaStar. Right. What's, does that help with the longterm sequence modeling there somehow? Exactly, so now that we understand what an observation for a given time step is, we need to move on to say, well, there's going to be a sequence of such observations and an agent will need to, given all that it's seen, not only the current time step, but all that it's seen, why? Because there is partial observability. We must remember whether we saw a worker going somewhere, for instance, right? Because then there might be an expansion on the top right of the map. So given that, what you must then think about is there is the problem of given all the observations, you have to predict the next action. And not only given all the observations, but given all the observations and given all the actions you've taken, predict the next action. And that sounds exactly like machine translation where, and that's exactly how kind of I saw the problem, especially when you are given supervised data or replays from humans, because the problem is exactly the same. You're translating essentially a prefix of observations and actions onto what's going to happen next, which is exactly how you would train a model to translate or to generate language as well, right? Do you have a certain prefix? You must remember everything that comes in the past because otherwise you might start having noncoherent text. And the same architectures we're using LSTMs and transformers to operate on across time to kind of integrate all that's happened in the past. Those architectures that work so well in translation or language modeling are exactly the same than what the agent is using to issue actions in the game. And the way we train it, moreover, for imitation, which is step one of AlphaStar is, take all the human experience and try to imitate it, much like you try to imitate translators that translated many pairs of sentences from French to English say, that sort of principle applies exactly the same. It's almost the same code, except that instead of words, you have a slightly more complicated objects, which are the observations and the actions are also a bit more complicated than a word. Is there a self play component then too? So once you run out of imitation? Right, so indeed you can bootstrap from human replays, but then the agents you get are actually not as good as the humans you imitated, right? So how do we imitate? Well, we take humans from 3000 MMR and higher. 3000 MMR is just a metric of human skill and 3000 MMR might be like 50% percentile, right? So it's just average human. What's that? So maybe quick pause, MMR is a ranking scale, the matchmaking rating for players. So it's 3000, I remember there's like a master and a grand master, what's 3000? So 3000 is pretty bad. I think it's kind of goals level. It just sounds really good relative to chess, I think. Oh yeah, yeah, no, the ratings, the best in the world are at 7,000 MMR. So 3000, it's a bit like Elo indeed, right? So 3,500 just allows us to not filter a lot of the data. So we like to have a lot of data in deep learning as you probably know. So we take these kind of 3,500 and above, but then we do a very interesting trick, which is we tell the neural network what level they are imitating. So we say, this replay you're gonna try to imitate to predict the next action for all the actions that you're gonna see is a 4,000 MMR replay. This one is a 6,000 MMR replay. And what's cool about this is then we take this policy that is being trained from human, and then we can ask it to play like a 3000 MMR player by setting a beat saying, well, okay, play like a 3000 MMR player or play like a 6,000 MMR player. And you actually see how the policy behaves differently. It gets worse economy if you play like a goal level player, it does less actions per minute, which is the number of clicks or number of actions that you will issue in a whole minute. And it's very interesting to see that it kind of imitates the skill level quite well. But if we ask it to play like a 6,000 MMR player, we tested, of course, these policies to see how well they do. They actually beat all the built in AIs that Blizzard put in the game, but they're nowhere near 6,000 MMR players, right? They might be maybe around goal level, platinum, perhaps. So there's still a lot of work to be done for the policy to truly understand what it means to win. So far, we only asked them, okay, here is the screen. And that's what's happened on the game until this point. What would the next action be if we ask a pro to now say, oh, you're gonna click here or here or there. And the point is experiencing wins and losses is very important to then start to refine. Otherwise the policy can get loose, can just go off policy as we call it. That's so interesting that you can at least hope eventually to be able to control a policy approximately to be at some MMR level. That's so interesting, especially given that you have ground truth for a lot of these cases. Can I ask you a personal question? What's your MMR? Well, I haven't played StarCraft II, so I am unranked, which is the kind of lowest league. So I used to play StarCraft, the first one. But you haven't seriously played StarCraft II. So the best player we have at DeepMind is about 5,000 MMR, which is high masters. It's not at grand master level. Grand master level will be the top 200 players in a certain region like Europe or America or Asia. But for me, it would be hard to say. I am very bad at the game. I actually played AlphaStar a bit too late and it beat me. I remember the whole team was, oh, Oreo, you should play. And I was, oh, it looks like it's not so good yet. And then I remember I kind of got busy and waited an extra week and I played and it really beat me very badly. Was that, I mean, how did that feel? Isn't that an amazing feeling? That's amazing, yeah. I mean, obviously I tried my best and I tried to also impress my, because I actually played the first game. So I'm still pretty good at micromanagement. The problem is I just don't understand StarCraft II. I understand StarCraft. And when I played StarCraft, I probably was consistently like for a couple of years, top 32 in Europe. So I was decent, but at the time we didn't have this kind of MMR system as well established. So it would be hard to know what it was back then. So what's the difference in interface between AlphaStar and StarCraft and a human player in StarCraft? Is there any significant differences between the way they both see the game? I would say the way they see the game, there's a few things that are just very hard to simulate. The main one perhaps, which is obvious in hindsight is what's called cloaked units, which are invisible units. So in StarCraft, you can make some units that you need to have a particular kind of unit to detect it. So these units are invisible. If you cannot detect them, you cannot target them. So they would just destroy your buildings or kill your workers. But despite the fact you cannot target the unit, there's a shimmer that as a human you observe. I mean, you need to train a little bit, you need to pay attention, but you would see this kind of space time distortion and you would know, okay, there are, yeah. Yeah, there's like a wave thing. Yeah, it's called shimmer. Space time distortion, I like it. That's really like, the Blizzard term is shimmer. Shimmer, okay. And so these shimmer professional players actually can see it immediately. They understand it very well, but it's still something that requires certain amount of attention and it's kind of a bit annoying to deal with. Whereas for AlphaStar, in terms of vision, it's very hard for us to simulate sort of, oh, are you looking at this pixel in the screen and so on? So the only thing we can do is, there is a unit that's invisible over there. So AlphaStar would know that immediately. Obviously still obeys the rules. You cannot attack the unit. You must have a detector and so on, but it's kind of one of the main things that it just doesn't feel there's a very proper way. I mean, you could imagine, oh, you don't have hypers. Maybe you don't know exactly where it is, or sometimes you see it, sometimes you don't, but it's just really, really complicated to get it so that everyone would agree, oh, that's the best way to simulate this, right? It seems like a perception problem. It is a perception problem. So the only problem is people, you ask, oh, what's the difference between how humans perceive the game? I would say they wouldn't be able to tell a shimmer immediately as it appears on the screen, whereas AlphaStar in principle sees it very sharply, right? It sees that the bit turned from zero to one, meaning there's now a unit there, although you don't know the unit, or you know that you cannot attack it and so on. So that from a vision standpoint, that probably is the one that is kind of the most obvious one. Then there are things humans cannot do perfectly, even professionals, which is they might miss a detail, or they might have not seen a unit. And obviously as a computer, if there's a corner of the screen that turns green because a unit enters the field of view, that can go into the memory of the agent, the LSTM, and persist there for a while, and for however long is relevant, right? And in terms of action, it seems like the rate of action from AlphaStar is comparative, if not slower than professional players, but it's more precise is what I read. So that's really probably the one that is causing us more issues for a couple of reasons, right? The first one is StarCraft has been an AI environment for quite a few years. In fact, I mean, I was participating in the very first competition back in 2010. And there's really not been a kind of a very clear set of rules how the actions per minute, the rate of actions that you can issue is. And as a result, these agents or bots that people build in a kind of almost very cool way, they do like 20,000, 40,000 actions per minute. Now, to put this in perspective, a very good professional human might do 300 to 800 actions per minute. They might not be as precise. That's why the range is a bit tricky to identify exactly. I mean, 300 actions per minute precisely is probably realistic. 800 is probably not, but you see humans doing a lot of actions because they warm up and they kind of select things and spam and so on just so that when they need, they have the accuracy. So we came into this by not having kind of a standard way to say, well, how do we measure whether an agent is at human level or not? On the other hand, we had a huge advantage, which is because we do imitation learning, agents turned out to act like humans in terms of rate of actions, even precisions and imprecisions of actions in the supervised policy. You could see all these. You could see how agents like to spam click, to move here. If you played especially Diablo, you wouldn't know what I mean. I mean, you just like spam, oh, move here, move here, move here. You're doing literally like maybe five actions in two seconds, but these actions are not very meaningful. One would have sufficed. So on the one hand, we start from this imitation policy that is at the ballpark of the actions per minutes of humans because it's actually statistically trying to imitate humans. So we see these very nicely in the curves that we showed in the blog post. There's these actions per minute, and the distribution looks very human like. But then, of course, as self play kicks in, and that's the part we haven't talked too much yet, but of course, the agent must play against itself to improve, then there's almost no guarantees that these actions will not become more precise or even the rate of actions is going to increase over time. So what we did, and this is probably the first attempt that we thought was reasonable, is we looked at the distribution of actions for humans for certain windows of time. And just to give a perspective, because I guess I mentioned that some of these agents that are programmatic, let's call them. They do 40,000 actions per minute. Professionals, as I said, do 300 to 800. So what we looked is we look at the distribution over professional gamers, and we took reasonably high actions per minute, but we kind of identify certain cutoffs after which, even if the agent wanted to act, these actions would be dropped. But the problem is this cutoff is probably set a bit too high. And what ends up happening, even though the games, and when we ask the professionals and the gamers, by and large, they feel like it's playing humanlike, there are some agents that developed maybe slightly too high APMs, which is actions per minute, combined with the precision, which made people start discussing a very interesting issue, which is, should we have limited these? Should we just let it lose and see what cool things it can come up with? Right? Interesting. So this is in itself an extremely interesting question, but the same way that modeling the shimmer would be so difficult, modeling absolutely all the details about muscles and precision and tiredness of humans would be quite difficult. So we're really here kind of innovating in this sense of, OK, what could be maybe the next iteration of putting more rules that makes the agents more humanlike in terms of restrictions? Yeah, putting constraints that. More constraints, yeah. That's really interesting. That's really innovative. So one of the constraints you put on yourself, or at least focused in, is on the Protoss race, as far as I understand. Can you tell me about the different races and how they, so Protoss, Terran, and Zerg, how do they compare? How do they interact? Why did you choose Protoss? Yeah, in the dynamics of the game seen from a strategic perspective. So Protoss, so in StarCraft there are three races. Indeed, in the demonstration, we saw only the Protoss race. So maybe let's start with that one. Protoss is kind of the most technologically advanced race. It has units that are expensive but powerful. So in general, you want to kind of conserve your units as you go attack. And then you want to utilize these tactical advantages of very fancy spells and so on and so forth. And at the same time, they're kind of, people say they're a bit easier to play perhaps. But that I actually didn't know. I mean, I just talked now a lot to the players that we work with, TLO and Mana, and they said, oh yeah, Protoss is actually, people think, is actually one of the easiest races. So perhaps the easier, that doesn't mean that it's obviously professional players excel at the three races. And there's never a race that dominates for a very long time anyway. So if you look at the top, I don't know, 100 in the world, is there one race that dominates that list? It would be hard to know because it depends on the regions. I think it's pretty equal in terms of distribution. And Blizzard wants it to be equal. They wouldn't want one race like Protoss to not be representative in the top place. So definitely, they tried it to be balanced. So then maybe the opposite race of Protoss is Zerg. Zerg is a race where you just kind of expand and take over as many resources as you can, and they have a very high capacity to regenerate their units. So if you have an army, it's not that valuable in terms of losing the whole army is not a big deal as Zerg because you can then rebuild it. And given that you generally accumulate a huge bank of resources, Zergs typically play by applying a lot of pressure, maybe losing their whole army, but then rebuilding it quickly. So although, of course, every race, I mean, there's never, I mean, they're pretty diverse. I mean, there are some units in Zerg that are technologically advanced, and they do some very interesting spells. And there's some units in Protoss that are less valuable, and you could lose a lot of them and rebuild them, and it wouldn't be a big deal. All right, so maybe I'm missing out. Maybe I'm going to say some dumb stuff, but summary of strategy. So first, there's collection of a lot of resources. That's one option. The other one is expanding, so building other bases. Then the other is obviously building units and attacking with those units. And then I don't know what else there is. Maybe there's the different timing of attacks, like do I attack early, attack late? What are the different strategies that emerged that you've learned about? I've read that a bunch of people are super happy that you guys have apparently, that Alpha Star apparently has discovered that it's really good to, what is it, saturate? Oh yeah, the mineral line. Yeah, the mineral line. Yeah, yeah. And that's for greedy amateur players like myself. That's always been a good strategy. You just build up a lot of money, and it just feels good to just accumulate and accumulate. So thank you for discovering that and validating all of us. But is there other strategies that you discovered that are interesting, unique to this game? Yeah, so if you look at the kind of, not being a StarCraft II player, but of course StarCraft and StarCraft II and real time strategy games in general are very similar. I would classify perhaps the openings of the game. They're very important. And generally I would say there's two kinds of openings. One that's a standard opening. That's generally how players find sort of a balance between risk and economy and building some units early on so that they could defend, but they're not too exposed basically, but also expanding quite quickly. So this would be kind of a standard opening. And within a standard opening, then what you do choose generally is what technology are you aiming towards? So there's a bit of rock, paper, scissors of you could go for spaceships or you could go for invisible units or you could go for, I don't know, like massive units that attack against certain kinds of units, but they're weak against others. So standard openings themselves have some choices like rock, paper, scissors style. Of course, if you scout and you're good at guessing what the opponent is doing, then you can play as an advantage because if you know you're gonna play rock, I mean, I'm gonna play paper obviously. So you can imagine that normal standard games in StarCraft looks like a continuous rock, paper, scissors game where you guess what the distribution of rock, paper, and scissors is from the enemy and reacting accordingly to try to beat it or put the paper out before he kind of changes his mind from rock to scissors, and then you would be in a weak position. So, sorry to pause on that. I didn't realize this element because I know it's true with poker. I know I looked at Labratus. So you're also estimating trying to guess the distribution, trying to better and better estimate the distribution of what the opponent is likely to be doing. Yeah, I mean, as a player, you definitely wanna have a belief state over what's up on the other side of the map. And when your belief state becomes inaccurate, when you start having that serious doubts, whether he's gonna play something that you must know, that's when you scout. You wanna then gather information, right? Is improving the accuracy of the belief or improving the belief state part of the loss that you're trying to optimize? Or is it just a side effect? It's implicit, but you could explicitly model it, and it would be quite good at probably predicting what's on the other side of the map. But so far, it's all implicit. There's no additional reward for predicting the enemy. So there's these standard openings, and then there's what people call cheese, which is very interesting. And AlphaStar sometimes really likes this kind of cheese. These cheeses, what they are is kind of an all in strategy. You're gonna do something sneaky. You're gonna hide your own buildings close to the enemy base, or you're gonna go for hiding your technological buildings so that you do invisible units and the enemy just cannot react to detect it and thus lose the game. And there's quite a few of these cheeses and variants of them. And there it's where actually the belief state becomes even more important. Because if I scout your base and I see no buildings at all, any human player knows something's up. They might know, well, you're hiding something close to my base. Should I build suddenly a lot of units to defend? Should I actually block my ramp with workers so that you cannot come and destroy my base? So there's all this is happening and defending against cheeses is extremely important. And in the AlphaStar League, many agents actually develop some cheesy strategies. And in the games we saw against TLO and Mana, two out of the 10 agents were actually doing these kind of strategies which are cheesy strategies. And then there's a variant of cheesy strategy which is called all in. So an all in strategy is not perhaps as drastic as, oh, I'm gonna build cannons on your base and then bring all my workers and try to just disrupt your base and game over, or GG as we say in StarCraft. There's these kind of very cool things that you can align precisely at a certain time mark. So for instance, you can generate exactly 10 unit composition that is perfect, like five of this type, five of this other type, and align the upgrade so that at four minutes and a half, let's say, you have these 10 units and the upgrade just finished. And at that point, that army is really scary. And unless the enemy really knows what's going on, if you push, you might then have an advantage because maybe the enemy is doing something more standard, it expanded too much, it developed too much economy, and it trade off badly against having defenses, and the enemy will lose. But it's called all in because if you don't win, then you're gonna lose. So you see players that do these kinds of strategies, if they don't succeed, game is not over. I mean, they still have a base and they still gathering minerals, but they will just GG out of the game because they know, well, game is over. I gambled and I failed. So if we start entering the game theoretic aspects of the game, it's really rich and it's really, that's why it also makes it quite entertaining to watch. Even if I don't play, I still enjoy watching the game. But the agents are trying to do this mostly implicitly. But one element that we improved in self play is creating the Alpha Star League. And the Alpha Star League is not pure self play. It's trying to create a different personalities of agents so that some of them will become cheesy agents. Some of them might become very economical, very greedy, like getting all the resources, but then being maybe early on, they're gonna be weak, but later on, they're gonna be very strong. And by creating this personality of agents, which sometimes it just happens naturally that you can see kind of an evolution of agents that given the previous generation, they train against all of them and then they generate kind of the perfect counter to that distribution. But these agents, you must have them in the populations because if you don't have them, you're not covered against these things. You wanna create all sorts of the opponents that you will find in the wild. So you can be exposed to these cheeses, early aggression, later aggression, more expansions, dropping units in your base from the side, all these things. And pure self play is getting a bit stuck at finding some subset of these, but not all of these. So the Alpha Star League is a way to kind of do an ensemble of agents that they're all playing in a league, much like people play on Battle.net, right? They play, you play against someone who does a new cool strategy and you immediately, oh my God, I wanna try it, I wanna play again. And this to me was another critical part of the problem, which was, can we create a Battle.net for agents? And that's kind of what the Alpha Star League really is. That's fascinating. And where they stick to their different strategies. Yeah, wow, that's really, really interesting. But that said, you were fortunate enough or just skilled enough to win five, zero. And so how hard is it to win? I mean, that's not the goal. I guess, I don't know what the goal is. The goal should be to win majority, not five, zero, but how hard is it in general to win all matchups on a one V one? So that's a very interesting question because once you see Alpha Star and superficially you think, well, okay, it won. Let's, if you sum all the games like 10 to one, right? It lost the game that it played with the camera interface. You might think, well, that's done, right? It's superhuman at the game. And that's not really the claim we really can make actually. The claim is we beat a professional gamer for the first time. StarCraft has really been a thing that has been going on for a few years, but a moment like this had not occurred before yet. But are these agents impossible to beat? Absolutely not, right? So that's a bit what's kind of the difference is the agents play at grandmaster level. They definitely understand the game enough to play extremely well, but are they unbeatable? Do they play perfect? No, and actually in StarCraft, because of these sneaky strategies, it's always possible that you might take a huge risk sometimes, but you might get wins, right? Out of this. So I think that as a domain, it still has a lot of opportunities, not only because of course we wanna learn with less experience, we would like to, I mean, if I learned to play Protoss, I can play Terran and learn it much quicker than Alpha Star can, right? So there are obvious interesting research challenges as well, but even as the raw performance goes, really the claim here can be we are at pro level or at high grandmaster level, but obviously the players also did not know what to expect, right? Their prior distribution was a bit off because they played this kind of new like alien brain as they like to say it, right? And that's what makes it exciting for them. But also I think if you look at the games closely, you see there were weaknesses in some points, maybe Alpha Star did not scout, or if it had invisible units going against at certain points, it wouldn't have known and it would have been bad. So there's still quite a lot of work to do, but it's really a very exciting moment for us to be seeing, wow, a single neural net on a GPU is actually playing against these guys who are amazing. I mean, you have to see them play in life. They're really, really amazing players. Yeah, I'm sure there must be a guy in Poland somewhere right now training his butt off to make sure that this never happens again with Alpha Star. So that's really exciting in terms of Alpha Star having some holes to exploit, which is great. And then we build on top of each other and it feels like StarCraft on let go, even if you win, it's still not, there's so many different dimensions in which you can explore. So that's really, really interesting. Do you think there's a ceiling to Alpha Star? You've said that it hasn't reached, you know, this is a big, wait, let me actually just pause for a second. How did it feel to come here to this point, to beat a top professional player? Like that night, I mean, you know, Olympic athletes have their gold medal, right? This is your gold medal in a sense. Sure, you're cited a lot, you've published a lot of prestigious papers, whatever, but this is like a win. How did it feel? I mean, it was, for me, it was unbelievable because first the win itself,

本集資源與出處