有道围棋 AI:智能匹配儿童棋力的良师益友
1 背景
有道縱橫是網(wǎng)易有道旗下專(zhuān)為4-8歲孩子量身打造的在線少兒圍棋產(chǎn)品,于2019年啟動(dòng),自研了全國(guó)首部在線交互式圍棋動(dòng)漫課程,從孩子的理解力和喜好出發(fā),采用直播互動(dòng)的課程形式將圍棋知識(shí)變得簡(jiǎn)單有趣、易懂好學(xué),幫助孩子掌握圍棋的各類(lèi)規(guī)則和技巧。不僅如此,課后還設(shè)有AI對(duì)弈功能,能夠智能識(shí)別孩子的段位水平匹配對(duì)局練習(xí),從根源培養(yǎng)孩子的思維習(xí)慣。每局對(duì)弈結(jié)束后的智能分析,會(huì)從大局觀、計(jì)算力、穩(wěn)定性、戰(zhàn)斗和棋型五方面進(jìn)行全方位分析,幫助孩子在復(fù)盤(pán)中進(jìn)步。
Google旗下Deepmind提出的AlphaGo、AlphaGo Zero、AlphaZero系列算法展示了深度強(qiáng)化學(xué)習(xí)在棋類(lèi)領(lǐng)域超凡的能力。2016年AlphaGo橫空出世擊敗歐洲圍棋冠軍樊麾二段,2017年以4:1擊敗韓國(guó)圍棋職業(yè)九段,14個(gè)世界冠軍得主李世石,2018年無(wú)師自通的AlphaGo Zero以3:0擊敗最年輕的六冠王柯潔九段。至此以后再無(wú)人質(zhì)疑AI在圍棋領(lǐng)域的霸主地位,同時(shí)引發(fā)了職業(yè)棋手學(xué)習(xí)AI招法的熱潮。在職業(yè)圍棋賽場(chǎng)上,時(shí)常出現(xiàn)“狗招”,學(xué)習(xí)、研究AI招法的背后的邏輯,已是職業(yè)棋手的必修課。
2 現(xiàn)有AI技術(shù)存在的問(wèn)題
Github上已經(jīng)有了Leela Zero、KataGo等基于AlphaZero系列算法的優(yōu)秀圍棋AI開(kāi)源項(xiàng)目,它們的主要目標(biāo)是提升AI的棋力,目前上述圍棋AI的棋力已遠(yuǎn)超人類(lèi)職業(yè)棋手。然而當(dāng)強(qiáng)AI應(yīng)用在少兒圍棋教學(xué)時(shí),出現(xiàn)了“水土不服”的現(xiàn)象,比如:
? AI實(shí)在是太強(qiáng)了,人很難在與AI對(duì)弈的過(guò)程中體會(huì)到“旗鼓相當(dāng)”的感覺(jué),這極易引起用戶的挫敗感。
? 授人以魚(yú)而未授人以漁,AI只告訴人應(yīng)該這么下,而不教會(huì)人為什么這么下。
? AI的學(xué)習(xí)路徑與人大相徑庭,一些在人早期圍棋學(xué)習(xí)階段就可以掌握的知識(shí)(如征子),AI在訓(xùn)練后期才掌握。
3 有道圍棋AI團(tuán)隊(duì)的成果
有道圍棋AI團(tuán)隊(duì)隸屬于有道人工智能語(yǔ)音組,負(fù)責(zé)有道縱橫產(chǎn)品與圍棋AI相關(guān)的研發(fā)、落地工作,主要發(fā)力點(diǎn)在于AI的人機(jī)對(duì)弈和復(fù)盤(pán)。現(xiàn)有的工作成果引用一段CEO周楓的話:
有道縱橫做到了什么?
總體上有道縱橫是一個(gè)面向孩子的圍棋啟蒙課程,大班直播、名師教學(xué),在邊學(xué)邊練過(guò)程中有豐富的互動(dòng),同時(shí)也具備AI對(duì)弈能力。與此同時(shí),有道縱橫將教、學(xué)、練、測(cè)、評(píng)五個(gè)環(huán)節(jié)做了非常好的整合,形成了這個(gè)產(chǎn)品的全貌。
這里面有一個(gè)大家也會(huì)非常關(guān)心的問(wèn)題,即AI老師到底有沒(méi)有用?
技術(shù)團(tuán)隊(duì)永遠(yuǎn)都說(shuō)AI老師特別有用,可以解決個(gè)性化教學(xué)的問(wèn)題,可以因材施教;老師背景的團(tuán)隊(duì)往往覺(jué)得AI老師就是洪水猛獸,既沒(méi)有用而且騙了很多VC的錢(qián)。
AI老師到底有沒(méi)有用?
縱橫項(xiàng)目當(dāng)中做了比較多的AI老師的思考和實(shí)踐。我們看法是,大眾對(duì)于AI的認(rèn)知,其實(shí)對(duì)于產(chǎn)品團(tuán)隊(duì)來(lái)說(shuō)是個(gè)雙刃劍,只有認(rèn)識(shí)到雙刃劍的作用才能做出正確的設(shè)計(jì)。
什么是雙刃劍?一方面AI是一個(gè)非常好的營(yíng)銷(xiāo)抓手;另外一方面,用戶不懂做產(chǎn)品,團(tuán)隊(duì)必須去自己尋找真正的AI價(jià)值點(diǎn)。如果你聽(tīng)用戶對(duì)哪個(gè)東西興奮就做哪個(gè),最后往往掉坑里了。
在AI場(chǎng)景下,我們思考了非常久。首先想到AlphaGo,不管多牛都下得過(guò)你,但這么和用戶講顯然不可能,所以本身對(duì)弈的難度和棋力不是教學(xué)當(dāng)中AI的指標(biāo),而是如何降低難度,怎么能夠靈活的調(diào)整難度。
所以,第一,我們團(tuán)隊(duì)花了大量功夫做難度可控的、棋力可控的圍棋AI;第二,可控棋力的AI和復(fù)盤(pán)能力;第三,我們推的是學(xué)員和學(xué)員、學(xué)員和老師之間的對(duì)弈,強(qiáng)調(diào)人人對(duì)弈而不是人機(jī)對(duì)弈,人機(jī)對(duì)弈只是找不到人對(duì)弈時(shí)候的補(bǔ)充手段。
通過(guò)這樣的手段,我們實(shí)現(xiàn)了自主研發(fā)的圍棋AI,教學(xué)過(guò)程當(dāng)中能夠代替掉人的部分工作,提高了團(tuán)隊(duì)的生產(chǎn)效率。
4 解決方案及思路
4.1 人機(jī)對(duì)弈
一個(gè)理想的人機(jī)對(duì)弈教學(xué)系統(tǒng)具有如下特點(diǎn):
? AI的招法有邏輯性,用戶很難感受到是AI在下棋。
? 合理控制AI的水平,避免一邊倒的局面。
? AI可以配合教學(xué)進(jìn)度,幫助用戶鞏固教學(xué)內(nèi)容(如定式)。
一些其他方案在實(shí)現(xiàn)人機(jī)對(duì)弈系統(tǒng)時(shí),一般使用AI訓(xùn)練過(guò)程早期的模型,然后使用模型的top-n輸出,隨機(jī)抽樣進(jìn)行落子行為,避免AI落子過(guò)于單一。
這種方案除了易于想到之外沒(méi)有其他優(yōu)點(diǎn),由于早期模型訓(xùn)練量不大,采用top-n的采樣方法會(huì)導(dǎo)致AI的招式?jīng)]有條理,用戶很容易誘導(dǎo)出這種落子邏輯的漏洞(如征子)。其次,在對(duì)弈過(guò)程中,AI模型和落子策略是固定的,但我們?cè)趯?shí)踐中發(fā)現(xiàn),AI對(duì)于圍棋中的布局、中盤(pán)、收官等階段的招法學(xué)習(xí)速度并不相同,AI對(duì)布局的掌握速度遠(yuǎn)遠(yuǎn)超出中盤(pán)、收官,使用相同的模型和策略會(huì)導(dǎo)致AI在整盤(pán)棋的表現(xiàn)差異極大。再者,AI的自對(duì)弈訓(xùn)練中,沒(méi)有定式的概念(定式是圍棋高手在某些局部的經(jīng)驗(yàn)總結(jié),用戶學(xué)習(xí)定式走法可以快速提升棋力),低水平的AI很難在局部中下出最優(yōu)解,而人可以通過(guò)學(xué)習(xí)高手的棋譜快速掌握局部最佳下法,即使人的水平并沒(méi)有達(dá)到提出該定式的圍棋高手水平。上述問(wèn)題的根源在于AI與人的學(xué)習(xí)路徑大相徑庭,難以直接移植。
考慮到以上問(wèn)題后,圍棋AI團(tuán)隊(duì)做了以下工作:
? 棄用top-n隨機(jī)抽樣的落子策略,使用AI引擎的policy輸出,按概率采樣。保證了AI招法邏輯性、連貫性。
? 在不同手?jǐn)?shù)階段,結(jié)合勝率和目差信息,調(diào)用不用的AI模型。保證AI在不同階段的水平表現(xiàn)相近。
? 結(jié)合教學(xué)內(nèi)容,實(shí)現(xiàn)AI模型和定式模板的混合輸出。鞏固用戶學(xué)到的定式知識(shí)。
4.2 復(fù)盤(pán)
復(fù)盤(pán)指對(duì)局完畢后,復(fù)演該盤(pán)棋的記錄,以檢查對(duì)局中招法的優(yōu)劣與得失關(guān)鍵。一般用以自學(xué),或請(qǐng)高手給予指導(dǎo)分析。下圍棋的高手都有復(fù)盤(pán)的習(xí)慣。復(fù)盤(pán)就是每次博弈結(jié)束以后,雙方棋手把剛才的對(duì)局再重復(fù)一遍,這樣可以有效地加深對(duì)這盤(pán)對(duì)弈的印象,也可以找出雙方攻守的漏洞,是提高自己水平的好方法。在有道縱橫產(chǎn)品中,AI承擔(dān)了復(fù)盤(pán)老師的角色。
一些其他方案中,AI復(fù)盤(pán)主要是展示整局棋的勝率或目差曲線、AI的推薦變化圖、以及一些基礎(chǔ)的統(tǒng)計(jì)數(shù)據(jù),這些內(nèi)容更適合專(zhuān)業(yè)的用戶,專(zhuān)業(yè)用戶的需求在于快速定位自己下的不好的棋,然后根據(jù)AI提供的變化圖等推理AI的落子邏輯,此類(lèi)用戶僅根據(jù)圍棋AI引擎的原始數(shù)據(jù)就可以完成自我學(xué)習(xí)。
但是當(dāng)用戶群體定位到少兒時(shí),上述的解決方案效果就會(huì)大打折扣,少兒用戶很難理解統(tǒng)計(jì)數(shù)據(jù)背后的意義,同時(shí)對(duì)AI提供的變化圖的邏輯缺乏分析能力,甚至注意力很難集中在變化圖上,僅關(guān)注整局棋的勝率、目差的變化。此外,其他方案采用的復(fù)盤(pán)使用的GPU資源消耗很大,有的用戶甚至需要半天時(shí)間才能拿到對(duì)局的復(fù)盤(pán)結(jié)果。
考慮到以上問(wèn)題后,圍棋AI團(tuán)隊(duì)做了以下工作:
? 引入語(yǔ)音組的TTS技術(shù),將復(fù)盤(pán)結(jié)果翻譯成少兒用戶易于接受的文案,提升用戶的注意力。
? 性能優(yōu)化,在少兒用戶的使用場(chǎng)景中,用戶并不需要高算力AI產(chǎn)生的復(fù)盤(pán)結(jié)果,我們指定了根據(jù)局面的復(fù)雜程度分配算力的方案。
? 結(jié)合用戶以往的復(fù)盤(pán)記錄,刻畫(huà)用戶的圍棋水平,形成長(zhǎng)期的學(xué)情報(bào)告。
5 總結(jié)與展望
目前圍棋AI的技術(shù)主要集中于提升AI水平上,這固然為專(zhuān)業(yè)用戶自我訓(xùn)練提供了極大的便利,但由于高水平AI背后的行棋邏輯較為高深,當(dāng)圍棋AI為少兒用戶提供服務(wù)時(shí),少兒用戶很難直接從高水平AI獲取知識(shí)。
接下來(lái)我們希望可以在人機(jī)對(duì)弈場(chǎng)景中,為用戶提供水平更合適、邏輯更連貫的AI陪練;在復(fù)盤(pán)場(chǎng)景中,為用戶提供更清晰易懂的復(fù)盤(pán)報(bào)告。
總結(jié)
以上是生活随笔為你收集整理的有道围棋 AI:智能匹配儿童棋力的良师益友的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 鸿蒙系统的家电,美的九阳搭载鸿蒙系统的家
- 下一篇: 本科计算机er想做AI方向的科研,要怎么