Re: [討論] 我還以為是龍傲天,原來是AlphaGo啊

作者: capita (小明)   2017-10-19 16:43:35
※ 引述《wizardfizban (瘋法師)》之銘言:
: 回一下好了,但我要說我對AI的了解很淺,歡迎打臉。
: 單純說遊戲樹:
: 遊戲樹就是你在遊戲中每面臨一個選擇時,每個選擇都能畫出分叉,一路下去就有如樹木
: 一樣,這棵樹就叫遊戲樹。
比較正確的名詞是決策樹 decision tree.
: AI一開始對圍棋無解是因為圍棋是棋類中遊戲樹算大的,但後來在成功讓AI能選擇遊戲樹
: 特定區域運算的技術後,AI的棋力就開始上升了,最後打贏了人腦。
區域運算是非常早期的算法,這樣做的棋力很差。
從 AlphaGo Zero 的成長中,可以得到很明確的答案,征子是圍棋新手等級
就應該了解的一種圍棋方法,但它卻是一種全棋盤的策略。
所以 AlphaGo Zero 在發展出大量複雜的圍棋手法和定石之後,才學會如何
應對征子。
也就是說對人腦簡單的事情,對電腦來說不一定簡單,使用區域運算方法的
電腦圍棋,都會輕易被哪怕最簡單的全局策略所打敗。
圍棋的決策樹太大是根本問題,所以剪枝方法是其中的關鍵,粗暴硬剪必然
會產生漏洞,早年用專家系統的方式,沒學過就不會下,更是常被極少見的
下法打臉。
最先成功有效的方法是蒙地卡羅樹搜尋法,簡單來說就是隨機選點,在相同
深度的搜尋下失敗次數愈多,進一步搜尋的機率就愈低。
蒙地卡羅方法的基本問題是深度有限,如果一個有效應對的步數超過搜尋的
深度,就無法被發現,目前的電腦圍棋設定大約是二十步。
但這樣對於電腦圍棋來說仍然剪枝不夠,這使得大部分使用蒙地卡羅方法的
圍棋程式,都採用在對方落子處臨近的地方優先選點的方式,不使用純然的
隨機選擇,或者說建立一個有差異性的選點機率函數,取代每個點都有相同
機率的原始做法。
接著很長一段時間,就是開發者用人工的方式微調機率函數,以及排除顯然
不必要和錯誤的選點,電腦圍棋的棋力在這個狀況下緩緩進步。
最後機器學習就在這個地方被引進了,預設的機率函數和人工方法,被使用
歷史資料學習而得的選點程序所取代。
然而機器學習的本身也是需要經過大量運算的,一開始並沒有顯現出比加強
蒙地卡羅方法的運算量的優勢,所以並沒有成為主流方法。
直到 DeepMind 公司使用新的深度學習模型,在其他遊戲中取得令人驚豔的
成果,這個方法才真正被用力實作在電腦圍棋上。
他們採取的是很聰明的做法,單一神經網路的機器學習模型運算成本太高,
那麼就拆成兩個,雖然可能損失具有結合性的部分,但運算成本大幅降低,
再用相當暴力的運算能力,電腦圍棋終於成功打敗了職業棋手。
也就是第一次登上 Nature 雜誌的 AlphaGo 。
在證明這個方向可行之後,此後就是在這個新模型上的各種加強。
而 AlphaGo Zero 則是在算法改進到相當程度後,覺得可以不用再使用兩個
神經網路,重新使用單一神經網路的方式,並改用新的深度殘差網路模型。
單一神經網路使得從零開始的學習真正可行,不然要讓兩個網路一開始就能
配合,會有很大的運氣成分。
: 所以接下來挑戰的目標是更複雜的遊戲 ─ 即時戰略 (RTS)。
: 但目前這個挑戰卡死了......
: 因為遊戲樹太大了,近於無窮大。
: RTS每一秒都要做出大量判斷,偵查、推測再應用到自己戰術上。對比於圍棋這種每回合
: 就是一動,而且遊戲盤面完全公開的模式,RTS要做的運算量太多了。
: 相對之下,人腦就是有法子判斷篩選出正確要注意的資訊而加以運用。
: 所以在RTS的挑戰中,AI目前被卡死了,很多相關學者正在一起努力尋找新的方向。
: 因此,在把變數限定到一定程度之下,AI的確贏過人腦。但在大量變數之下,AI目前不?
: 。AI連星海爭霸中單純用作弊來戰鬥的死腦筋電腦對手都打不贏了。
: 也許有一天AI也會攻克RTS領域,然後再向別的領域發起挑戰。那時我們大概又會發現AI
: 的極限......
: 我們對人腦的了解還是太少了。
理論上並不是運算量的問題,而是回饋和收斂的問題,圍棋可以加速運算,
下幾百萬盤不是問題,但 RTS 要玩幾百萬場,需要的時間就極為巨大。
而最初始的勝負回饋資料不足,就難以回饋到盤面的優勢判斷,更無法建立
整體策略的評估。收斂的問題也是,變數太多就很難和過往資料比較,也就
難以收斂出結果。
人類學習的效率至今仍遠遠超過機器,在數量短期填補不上的狀況下,如何
提升機器學習的效率,就成了下一個巨大的關卡。
並且單就 RTS 而言,人類有大量的知識,遊戲本身也依賴這些知識來設計,
這讓人類玩遊戲時,可以在一開始就能利用這些知識,獲得不錯的成績,
在學習上的優勢就更加明顯。
所以真的是很大的挑戰,這應該說是機器學習的算法問題比較大。

Links booklink

Contact Us: admin [ a t ] ucptt.com