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