谷歌代碼生成系統(tǒng)“卷”走半數(shù)程序員?人類已“輸”給AI很久了!
原創(chuàng)作者丨徐杰承
近日,曾推出過轟動一時的 AlphaGo 圍棋機器人的 DeepMind 再次放出大招,公開發(fā)布了一款名為 AlphaCode 的代碼生成系統(tǒng)。
據(jù) DeepMind 介紹,AlphaCode 在正式亮相前,就已通過知名編程競賽網(wǎng)站 Codeforces 所舉辦的 10 場算法競賽檢測了自身實力。在這 10 場比賽中 AlphaCode 成功擊敗了幾乎一半的參賽選手,最終成績排名 54%。
論文鏈接:https://storage.googleapis.com/deepmind-media/AlphaCode/competition_level_code_generation_with_alphacode.pdf
有 AI 研究科學(xué)家在社交媒體上表示,AlphaCode 達到人類水平還需要幾年時間,它在 codeforce 上的排名是有限制的,如許多參與者是高中生或大學(xué)生;還有就是 AlphaCode 生成的絕大多數(shù)程序都是錯誤的,正是使用示例測試進行過濾才使得 AlphaCode 實際解決了某些問題。
也有研究人員表示,這像是 AlphaStar 大力出奇跡的結(jié)果。
當(dāng)然,這已遠(yuǎn)非人工智能與人類智能的第一次交手。截止目前,在人工智能技術(shù)的發(fā)展歷程中,已有眾多 AlphaCode 的“老前輩”在與不同領(lǐng)域人類頂級選手的對陣中取得了斐然成績,而它們的每次勝利,都對人工智能技術(shù)的發(fā)展產(chǎn)生了深遠(yuǎn)影響。
Deep Blue?
在人機交鋒的歷史中,AI 的首勝發(fā)生在 1997 年。IBM 公司的 Deep Blue 超級計算機以 3.5:2.5 戰(zhàn)勝了當(dāng)時世界排名第一的國際象棋大師卡斯帕羅夫。
技術(shù)方面,Deep Blue 采用混合決策,將通用超級計算機處理器與象棋加速器芯片相結(jié)合,利用 α-β 剪枝算法對棋局中的所有路數(shù)進行窮舉,通過對比每一步的得分選擇最佳執(zhí)行策略。在算力與算法的支持下,Deep Blue 擁有每秒 2 億步的計算速度,這對于當(dāng)時的技術(shù)而言已是天花板。賽后,Deep Blue 的設(shè)計者許峰雄表示,Deep Blue 依靠硬算可以預(yù)判棋局的 12 步,而卡斯帕羅夫可以預(yù)判 10 步。
雖然從如今的角度來看,Deep Blue 能夠戰(zhàn)勝棋王更多的是依靠算力而非智能,但作為 AI 戰(zhàn)勝人類的開端,Deep Blue 的成功為人工智能從業(yè)者帶來了極大的想象空間。
Watson?
2011 年 IBM 再度發(fā)力,Deep Blue 的同門師弟 Watson 在美國老牌智力問答節(jié)目《危險邊緣》中對兩位人類冠軍發(fā)起了挑戰(zhàn)并最終取勝。
與師兄 Deep Blue 相比,Watson 最大的亮點在于它的應(yīng)用自然語言處理能力, IBM 稱之為 Deep QA,它代表著一整套問答系統(tǒng)。Watson 成功的關(guān)鍵,在于它能靠語境來搜索答案,而不僅僅是靠關(guān)鍵詞聯(lián)想。且 Watson 所用的軟件是分布式系統(tǒng)的整合,Hadoop 和 UIMA 通力合作,共同指引數(shù)據(jù),使得 Watson 的各個節(jié)點協(xié)同運作。
如果說 Deep Blue 代表著人工智能在計算能力上對人類的超越,那么 Watson 則標(biāo)志著人工智能在自然語言處理能力上的突破。時至今日,已有眾多基于自然語言處理技術(shù)所開發(fā)的 Watson 的“后輩”出現(xiàn)在了我們的生活中,這其中就包括近期大火的冬奧會 AI 手語翻譯官“聆語”。
AlphaGo?
2016 年,在深度學(xué)習(xí)發(fā)展的高峰時期,AI 迎來了迄今為止最具含金量的高光時刻。號稱世界圍棋歷史第二人的李世石與谷歌圍棋人工智能程序 AlphaGo 在全球媒體的關(guān)注下展開五番棋比賽,最終 AlphaGo 以 4:1 戰(zhàn)勝了李世石。
為解決更為復(fù)雜的圍棋問題,DeepMind 放棄了 Deep Blue 中曾使用的暴力窮舉法,并為 AlphaGo 設(shè)計了兩種神經(jīng)網(wǎng)絡(luò):決策網(wǎng)絡(luò)與價值網(wǎng)絡(luò)。其中有監(jiān)督學(xué)習(xí)決策網(wǎng)絡(luò)是一個 13 層的卷積神經(jīng)網(wǎng)絡(luò),其主要功能是:輸入當(dāng)前盤面特征參數(shù),輸出下一步落子行動的概率分布,預(yù)測下一步落子位置。訓(xùn)練樣本采用 3 千萬個人類棋手產(chǎn)生的盤面數(shù)據(jù),使用隨機梯度下降算法進行調(diào)優(yōu),僅通過策略網(wǎng)絡(luò),AlphaGo 能夠以 57% 的準(zhǔn)確率預(yù)測對手的下一步落子位置。
價值網(wǎng)絡(luò)同樣是一個 13 層的卷積神經(jīng)網(wǎng)絡(luò),與決策網(wǎng)絡(luò)具有相同的結(jié)構(gòu),主要功能是:輸入當(dāng)前的盤面參數(shù),輸出下一步棋盤某處落子的估值,以此評判走子的優(yōu)劣。在訓(xùn)練過程中,為克服訓(xùn)練數(shù)據(jù)相關(guān)性帶來的過擬合,價值網(wǎng)絡(luò)從決策網(wǎng)絡(luò)產(chǎn)生的 3 千萬局對弈中抽取樣本,并組成 3 千萬不相關(guān)的盤面作為訓(xùn)練樣本,最終在測試集上獲得了 0.224 的均方誤差。
這兩種神經(jīng)網(wǎng)絡(luò)的主要作用是降低博弈樹的搜索空間規(guī)模,而在搜索算法的選擇上 AlphaGo 采用了蒙特卡洛樹搜索算法:先隨機走子,隨后通過最終數(shù)據(jù)更新走子價值。如此進行大量隨機模擬,讓最優(yōu)方案得以自動涌現(xiàn)。
相較于 Deep Blue 與 Watson,AlphaGo 在數(shù)據(jù)學(xué)習(xí)能力上的突破性探索在人工智能發(fā)展的歷程中具有里程碑的意義。值得一提的是,在本場比賽后,DeepMind 再次對 AlphaGo 進行了版本升級。全新的 AlphaGo Zero 摒棄了對人類比賽數(shù)據(jù)的學(xué)習(xí),完全依靠強化學(xué)習(xí)進行自我博弈升級,僅通過 3 天訓(xùn)練就以 100:0 的成績完爆了 AlphaGo。
AlphaStar?
在 AlphaGo 取得圍棋領(lǐng)域的制霸權(quán)后不久,AI 又再次攻克了更為復(fù)雜的 RTS 類游戲。2019 年,Google 新一代人工智能 AlphaStar 向被認(rèn)為是對計算能力、反應(yīng)能力和操作速度要求最高的電子游戲“星際爭霸”發(fā)起挑戰(zhàn),分別與兩位職業(yè)選手進行了十場比賽,最終以 10 比 0 的比分獲得了全部比賽的勝利。
與棋類游戲不同的是,RTS 游戲存在著不完全信息博弈、長期戰(zhàn)略規(guī)劃與實時性操作等難點。正如強化學(xué)習(xí)之父 David Silver 所說:AI = DL + RL,面對這些問題 AlphaStar 選擇了深度監(jiān)督學(xué)習(xí) + 強化學(xué)習(xí)的基本框架。而其中最關(guān)鍵的技術(shù)在于群體訓(xùn)練策略,AlphaStar 同時訓(xùn)練了三個策略集合:主代理、主暴露者、聯(lián)盟暴露者。
由于游戲的復(fù)雜性過大,策略集合必須先通過深度監(jiān)督學(xué)習(xí)利用人類數(shù)據(jù)完成初始化,隨后主代理會利用強化學(xué)習(xí)與其余集合進行對抗訓(xùn)練。與 AlphaGo 不同的是,主代理被設(shè)定為使用有優(yōu)先級的自學(xué)策略,尋找能夠?qū)箽v史上某個分布的策略,在兩個玩家的零和游戲中該策略會趨向納什均衡。而主暴露者的對手只是當(dāng)前的主代理,主要目的是找到當(dāng)前主代理的弱點。聯(lián)盟暴露者同樣使用深度學(xué)習(xí)方法,對手為主代理的歷史版本,目標(biāo)是發(fā)現(xiàn)主代理的系統(tǒng)性弱點。并且主代理與聯(lián)盟暴露者都會每隔一段時間重置為深度監(jiān)督學(xué)習(xí)的得到集合,以增加對抗人類策略的穩(wěn)定性。
正如 AlphaStar 研發(fā)團隊賽后所表示的,群體訓(xùn)練策略是一種更加可靠的訓(xùn)練策略,是通往安全、魯邦的 AI 的一條路徑。如今,AlphaStar 中所使用的群體訓(xùn)練策略已被廣泛運用到了天氣預(yù)測、氣候建模、語言理解等眾多領(lǐng)域的不完全信息的長序列建模任務(wù)之中。
AlphaCode?
雖然與眾多“前輩”相比,AlphaCode 目前的實力與戰(zhàn)績只能算是差強人意。但作為有望在未來以助手身份融入廣大開發(fā)人員工作中 AI 新星,AlphaCode 的工作原理還是很值得了解與梳理的。
從 DeepMind 所公布的博客介紹與論文中,我們可以發(fā)現(xiàn) AlphaCode 的執(zhí)行流程大致可以分為四個部分。
預(yù)訓(xùn)練:利用標(biāo)準(zhǔn)語言建模目標(biāo)在 Github 的數(shù)據(jù)集上預(yù)訓(xùn)練 Transformer 語言模型。
微調(diào):在競爭性編程數(shù)據(jù)集上進行模型微調(diào),使用 GOLD 與 tempering 作為訓(xùn)練目標(biāo),進一步減少搜索空間。
生成結(jié)果:利用訓(xùn)練后的模型生成所有可能實現(xiàn)任務(wù)要求的樣本。
篩選提交:對樣本進行過濾,刪除無法通過樣例的代碼樣本,并通過測試數(shù)據(jù)模型對剩余樣本進行聚類,從聚類最大的樣本中按序選取 10 個進行提交。
總體來看,AlphaCode 將 Transformer 模型與采樣過濾結(jié)合,創(chuàng)造了更為新穎的解決方案。雖遠(yuǎn)未贏得比賽,但 AlphaCode 所呈現(xiàn)的結(jié)果代表了人工智能在解決問題能力上重大的飛躍。DeepMind 表示,將繼續(xù)該領(lǐng)域的探索,并希望進一步研究生產(chǎn)更為強大的編程工具。
寫在最后?
在如今人工智能技術(shù)發(fā)展的盛況之下,我們可以大膽預(yù)測,未來人工智能還將繼續(xù)在更多不同的領(lǐng)域刷新人類極限,并為人類的進步提供更多幫助。那么在現(xiàn)階段,有哪些前沿技術(shù)有望推動人工智能的進一步突破,幫助人工智能實現(xiàn)更好的泛化與應(yīng)用落地?人工智能從感知智能到認(rèn)知智能的路途還有多長?未來人工智能技術(shù)的發(fā)展趨勢又將如何?
關(guān)于以上的一切問題,你都可以在 WOT 全球技術(shù)創(chuàng)新大會中得到解答。在即將于 4 月 9 日 -10 日舉辦的 WOT 全球技術(shù)創(chuàng)新大會中,多位來自產(chǎn)業(yè)界與學(xué)術(shù)界的人工智能領(lǐng)域技術(shù)專家,將于“認(rèn)知智能發(fā)展新趨勢”專場中為廣大聽眾分享他們對人工智能技術(shù)發(fā)展的真知灼見。感興趣的同學(xué)可掃描下圖二維碼了解更多詳細(xì)信息。
目前大會 8 折購票中,現(xiàn)在購票立減 1160 元,團購還有更多優(yōu)惠!有任何問題歡迎聯(lián)系票務(wù)小姐姐秋秋:15600226809(電話同微信)