當前位置: 華文星空 > 體育

如果發明一種機器學習難以戰勝人類的棋類規則,這種規則應該具備什麽樣的特點?

2022-06-09體育

機器學習的話,很簡單,比邏輯推理就行。比如初中幾何學。

幾何、方程式、邏輯推理……這些問題,人類學起來並不難;甚至寫個程式,自動推理、機器證明、自動解方程式,甚至自動計算積分,這都不難。

但用「機器學習」去做,難如登天。

舉例來說,Dota AI,至今學不會用閃光粉。

閃光粉這東西起什麽作用呢?

遊戲裏面有些英雄有隱身能力,他會摸過來偷襲你;偷襲失敗了,他就隱身逃走,非常惡心。

而閃光粉可以「撒」在你懷疑他存在的地方——比如,聽到隱身音效了,嗯,我猜他在這裏,撒粉,抓人;或者,對方試圖偷襲你,結果被你躲開了,他不戀戰,馬上隱身走人;你看著他消失的方向,估計他所在的區域,撒粉,就把他抓到了。

如果是人在玩,我們可以清楚的知道,有個家夥玩的英雄很奇怪,會消失,鬧得我們只能挨打,很討厭;然後,怎麽辦呢?好討厭好討厭……

然後,偶然有一次,嘗試各種道具時,撒粉,就把他抓出來了。

於是我們馬上就知道,閃光粉可以破隱形;以後見到隱形英雄就買粉……

可機器學習就是學不會。

為什麽學不會呢?

因為它只是機械的統計每個局面、每個動作和勝率之間的關系;那麽除非我們幹預,否則撒閃光粉對AI來說收益總是負數——除非恰恰撒在正確的那一秒、那一格。

除非天文數碼的對局、或者我們專門設定場景強化訓練它對付隱身英雄;否則……

類似的,象棋/圍棋的殘局,只有一種走法、若幹步後一方必勝的那種,剪枝法設計的AI可能如魚得水,基於機器學習的卻不怎麽在行。原因很簡單,它只懂概率,不會推理。

同樣的,給機器學習AI這樣一道題,它是無論如何也做不出來的:

今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?

哪怕你逮住它猛訓練,把這道題訓練成了,稍微一變,又不會了:

齊使者如梁,孫臏以刑徒陰見,說齊使。齊使以為奇,竊載與之齊。齊將田忌善而客待之。忌數與齊諸公子馳逐重射。孫子見其馬足不甚相遠,馬有上、中、下、輩。於是孫子謂田忌曰:「君弟重射,臣能令君勝。」田忌信然之,與王及諸公子逐射千金。及臨質,「孫子曰:‘今以君之下駟與彼上駟,取君上駟與彼中駟,取君中駟與彼下駟。’既馳三輩畢,而田忌一不勝而再勝,卒得王千金。」

讀完上面這則短文,領會其道理;設甲有(中、下、下、上、上、下、中)七匹馬,乙有(上,上,中,下,下、上、中)七匹馬,請設計比賽,使甲勝。

明白了這個,那麽方案自然就有了。

比如,不完全資訊博弈,類似星際爭霸或者dota裏面的隱形英雄/閃光粉,逼AI去猜、去推理。

但星際爭霸/dota畢竟不是專門針對猜/推理最佳化的,這類內容占比太少。

我們可以強化這些特點。

比如說,高等數學飛行棋。

這種棋非常簡單,它和小朋友們玩的飛行棋一樣;但只有一點:扔了色子後,想要成功走到對應格子裏,你要先解答這個格子隨機抽出的一道數學題。

這道題可能是證明,也可能會是計算;可以簡單到初中幾何證明、尺規作圖;也可能復雜到解一個偏微分方程式、有限元分析或矩陣變換。

解出來了,這一步就可以走下去;否則,棋子放回原地。

太狠了點?

那來個簡單點的。中文四六級考試:

- 「餵,您好,請問你的貨拉拉拉不拉拉布拉多?」
- 「你的拉布拉多拉不拉?」
-「不拉,那你拉不拉?」
- 「拉!」
請問:貨拉拉拉拉布拉多了嗎? 多虧跑了兩步,小明差點沒上上上上海的車。
請問:小明上車成功了嗎? - 「你考完後對沒對這道題答案?」
-「對了,但沒對。」
請問:這道題做對了嗎?

註音題

開車別別別人。 人要是行,幹一行行一行,一行行行行行。人要是不行,幹一行不行,一行不行行行不行。

以上來自 中文「四六級」來了?!假如考題長這樣,你能答對嗎?_騰訊新聞 (qq.com)

總之,只要我們有意識的強化棋盤上的推理要素、要求唯一的最優解、精確解,使其無法窮舉、無法估算概率,那麽我們就可以在棋盤上輕易吊打任何基於機器學習的AI了。

看來很多人並沒有理解我在說什麽。那麽,解釋一下。

AI現在的問題就是無法理解「隱身」和「撒粉」這兩個抽象概念、以及「隱身就撒粉」這個抽象動作邏輯,而是機械的計算概率。

換句話說,AI相當於一個智商180甚至更高的文盲、聾啞人;它能頗為高效的自行摸索出很多問題的解法,但無法理解人類語言以及其中充斥的各種抽象概念以及抽象概念之上的邏輯關系。

正因此,迄今為止,沒有能做初中數學題或者基本編程的AI——它永遠都是基於概率的拼湊,無法履行哪怕最最基本的邏輯驗證工作。所以,它的行為充滿了不確定性,你永遠不能像指導人類一樣,一句「見了隱身就撒粉」就能永久的改變其行為模式、甚至允許其在這個「理解」的基礎上節節攀升。

當然,我們的大腦是幾乎相同的執行規律。所以AI最終肯定是能掌握邏輯的——但,也如同我們人類一樣,完全不懂邏輯也學不會邏輯的人,那可不是一般的多……

正因此,任何一份AI進展報告出來,我都會瞪大眼睛盯,去尋找AI掌握/沒有掌握邏輯的證據(如果有的話,就可以進一步學習他們是如何實作邏輯相關動作)。

很遺憾,都沒有。

當然,一些初級的邏輯還是有的。比如之前一直懷疑的「alpha go不會打劫」——原因很簡單,打劫其實是存在「硬」的邏輯推理的:「我下這裏,對方必須應那裏,否則我下這裏」。

alpha go證明了自己會打劫,也就證明AI的確有了邏輯的萌芽

只是我們連「影像辨識」這個能力究竟是什麽樣子都不知道,更為抽象的、虛無縹緲的邏輯自然就更難捉摸了。

什麽時候我們能和AI對上邏輯的介面,什麽時候AI就可以大成。

我一直在捕捉的,就是「人類和AI在某些邏輯概念上取得了共識」這個跡象。很遺憾,一直沒有。

換句話說,目前:

1、AI肯定已經訓練出了各種「概念」,比如貓、熊貓、香蕉等等;但我們無法理解這個概念在神經網絡中的存在方式。

2、AI肯定已經有了「邏輯萌芽」,但同樣的,我們也捉摸不到「邏輯」這個東西究竟在哪裏、以什麽方式存在。

再換句話說,你們「外行看熱鬧」覺得「AI作圖」很好很強大的時候,我們內行卻只有失望——AI對我們輸入語言的反饋僅僅是「概念的直接對映和拼湊」,卻怎麽都理解不了其中的邏輯。

比如,對於「馬騎太空人」這個描述,AI的輸出永遠都是「太空人騎馬」——更不要說「理解人、馬各自的關節約束,想象出‘馬騎人’的正確體態然後畫出來了」。

捉摸不到,就無從交流,無法提高。

無從交流提高,那麽AI就永遠只是個智商180的「狼孩」——聰穎,極其擅長捕獵等野外生存專案;但無論如何都學不會語言和人類數學。

因為我們和「狼孩」之間沒有辦法交流。

這也是如今很多團隊致力於讓AI理解人類語言、或者幹脆研究AI和AI直接能否產生高效交流的語言的根本原因。

再換句話說,基本的視聽動作能力,如今可以說是基本解決了;但更高一級的、基於抽象概念的高效交流能力——人類語言,不過調制在4000HZ以下的低速機械波上面,卻可以高效的完成交流任務,傳達下自拼音上至高等數學相對論量子論等等高深理論資訊——那麽,AI到什麽時候,才能把資訊輸入/輸出提升到抽象的概念的層面、像人類一樣直接概念對概念抽象對抽象的交流, 而不是 網格對網格的、海量參數的拷貝?

更進一步的,AI什麽時候能夠像人一樣,在高層有效的隔離各種概念,只輸出指定領域的知識、並在另一個AI那裏完成重建,卻不泄露自己知道的、另一個領域的絲毫資訊?

甚至,如何把關於現實的認知,抽象到質點、剛體層次上去?又如何把質點、剛體以及它們之間的關系這寥寥幾個字詞還原到另一個神經網絡、在上面重建認知體系?