Re: [討論] 對電腦戰勝人類的看法

看板GO作者 (hioska)時間7年前 (2016/11/02 10:43), 7年前編輯推噓5(5064)
留言69則, 7人參與, 最新討論串4/5 (看更多)
我是一個業餘演算法愛好者,棋力只有入門。 想以資工系出身的角度來分享一下我的感受和一些猜測跟對未來的期許。 我很想一一回應原文和回覆底下推文有關演算法的問題, 但AlphaGo論文已經在網路上公開那麼久,對演算法有興趣的人應該已經看過。 我想藉著比較偏哲學的開頭,再慢慢帶到我想說的東西, 試著用其他領域的東西來比喻我想表達的感受。 以下,正文。 -------------------------------------------------------------------- 「電腦有沒有辦法下出人類無法下出的一步棋?」 理論(1)上是不行的。 這裡的理論上是架構在:電腦不創造新規則的前提下。 只要:數目方式一樣、貼目規則一樣、黑先白後等等圍棋規則都不變, 判斷目前情勢的方式是只要是人寫的,電腦就永遠不可能超越人類。 他只是以極高的速度無限逼近人類能給出的結果而已。 這個理論的關鍵在於:電腦如何判斷情勢? 只要判斷情勢的方法步驟是固定的,人類只要照著一模一樣的原則, 夠細心、不出錯、花足夠多的時間,都能夠做出一樣的事。 就好像你給電腦一個解二元一次的規則,並且不斷亂數給他新參數, 他可以以非常快的速度不斷給出你新參數的答案。 (並且在理論上是可以無限地做下去的) 任何二元一次的方程式給一個人類,只要他擁有足夠的時間, 知道二元一次求解的方法步驟,他都可以在紙筆上作出答案。 只是人類無法達到電腦的速度罷了。 那麼,電腦要是能夠創造新的判斷情勢規則呢? 你只是給他一個二元一次方程式的規則, 他自己解著解,便創造出了解二元二次、三元一次等等的方法, 這裡我們先假設:解二元二次、三元一次等等,都是在解方程式的範圍內。 如同電腦創造出的判斷情勢規則,也是適用現有規則的圍棋這個範圍內。 在理論(2)上,這個過程是不可逆的。 人類也無從理解電腦是如何辦到的。只能知道電腦透過某種方式辦到了。 或許有些人會有疑問:咦?你上面不是才說,人類只要有足夠時間, 只要是人類寫出來的東西,一步一步來都能夠重現嗎? 對,理論(2)上可以做出一樣的結果,但卻是無法理解的。 就好像四維以上的空間很難用圖形去理解,五維以上根本是難以想像了。 但我們可以用代數去解決這個困境,而且規則都是從三維的特性去延伸的。 用比喻上來說就是: 人類理解情勢判斷的方式是圖形化空間, 電腦創造出的情勢判斷是代數系統。 透過人類給的圖形化空間規則,電腦自行創造了四維、五維的代數系統。 人類可以透過觀察電腦的步驟方法,去重現四維、五維代數系統的運作, 卻永遠也沒辦法以圖形化空間去理解五維以上的運作。 在理論(2)的假設下,機器不需要發展出心靈。 人類就可以寫出自己無法完全理解其複雜運作的演算法了。 理論(2)以實務上來說就是: 參數、變數量、變化量、規則等等過多到單一人類無法同時記憶並理解。 或許擁有極大量紙筆的人類,依靠團隊一代一代做下去有辦法創造出來。 但現況就是單人絕對無法抵過CPU複雜運算的成果。 現有的AlphaGo我認為還沒有達到理論(2)的境界, 就我個人認為,目前AlphaGo的步數,即使現在沒有發現, 未來十年、二十年、百年後的人類也會發現的。 人機大戰賽前我有在資訊相關的社團和好友圈內發表過我的預測, 當初認為人機大戰戰績會是人:機 = 1:4。 在人類三連敗後,有人問過我會不會被橫掃,會不會我的預測被打臉。 我給的答案是:「雖然前面幾場的差距大到有點超乎我想像, 但我還是保持原看法,認為人類還是有機會掰回一場,maybe第五吧。」 沒想到李世石真的很給力,在第四場獲勝了。 讓AlphaGo進入排名系統,也讓我賽前的預測矇中。 心情上由於我一開始就認為機器會獲勝,所以並沒有一些棋手的失落感。 那麼,究竟為什麼我會在賽前預測人:機 = 1:4這個數字呢? 那是因為我假設AlphaGo是理論(1)近完全體的情況下和李世石交手。 對,你沒有看錯,我認為在理論(1)的情況下,人類棋手就已經敵不過電腦了。 詳細原因牽扯到一些個人撰寫演算法的心得, 和一些測試原理和AlphaGo採用的演算法特性, 但真的要說,賽前預測,情緒上的感覺多過於實際上理論。 講一個比較無關乎演算法理論的層面, 由於AlphaGo一直以來都是自己和自己對弈, 在賽前,官方發出的消息並沒有指出AlphaGo有持續和人類棋手對弈的經驗。 只要出現一手超出電腦事前運算的強手,人類就有機會。 沒道理五盤棋中不會出現一手,這是我會預測人機1:4很大的原因。 用事後諸葛的角度去說就是: 只要有一手強手是超出電腦事前運算的,就會導致連續性的參數錯誤。 不過,也像前三場差距超越我賽前的想像一樣,AlphaGo連續失誤的嚴重性也超乎我想像。 依照官方消息所說, 事後的修正是對於樹的廣度深度參數修正,演算法規則並沒有修改。 現在去研究他為什麼會失誤那步是無理的, 因為他並不是針對那步的計算出錯,而是單純沒有算到。 沒有算到的情況並不是人類眼中的漏算、失算, 而是他把資源用在計算更有價值的步數上。 雖然這樣說好像有點冒犯, 但情況就是:在當時的AlphaGo眼裡那是較無價值的一步, 他沒有想到對手會愚蠢到下那一步,所以資源沒用在上面。 用比喻來說就是只顧著殺對方玩家結果被小兵拆塔。 也可以理解為高估對方對於價值的判斷力。 對於廣度深度的參數修正,用簡單的方式說就是: 分一些深入計算高價值後續步數的資源,到價值比較低的步數上。 可以理解為:從傾全力投資高科技軍武、太空科技這種極端高科的狀態中, 修正成撥部分經費去處理原始步兵、騎兵。 用這個比喻去看待力挽狂瀾中的AlphaGo也很有趣: 因為只會用戰鬥機和火箭,於是拿一台戰鬥機(一步棋)去對付一個步兵(一步棋)。 在投資報酬率極低的情況下,國家就破產滅亡了。 以下幻想: 現在的AlphaGo,其實只要不斷和人類對弈, 對人類來說就已經無限逼近理論(2)了。 就像AlphaGo沒和李世石對弈前,並不知道自己對於高價值步數投入過多。 只要不斷和人類棋手對弈,遲早能夠得到針對人類棋手的最佳參數。 在人類極限範圍內投入所有資源就好。 這種投資策略對於人類來說幾乎是當前局面的窮舉結果了。 再進一步,透過對弈過程獲取對方習性去修正情勢判斷或廣度深度的參數, 針對對方棋力下出對方算不清的步數甚至是騙著。 對人類來說就已經是理論(2)下的演算法了。 至於人機再戰,我認為依照現有的比賽規則,人類的勝率只會越來越渺茫。 原因非常單純:處理速度。 即使人類思維方式再怎麼進化, 只要是可以量化、可以轉換為數值的,電腦皆可處理。 只要圍棋規則不變,目數、官子就是可精確計算的。 即使演算法效能再也不提升,只要硬體效能進步就夠打趴人類棋手了。 現有的AlphaGo持續自我對弈下去, 會不會進化到每一手皆得最佳解的境界? 這裡先假設最佳解存在,我個人的臆測是不會。 這純粹是我個人對於蒙地卡羅演算法的理解。 蒙地卡羅的本質還是機率統計理論, 有亂數、有機率、有統計,就會有誤差。 問題只是誤差的大小而已。 另外一個假想問題是樣本的問題。 若從古至今的圍棋棋譜皆有著一種根本性的問題存在, AlphaGo也無法擺脫這個根本性的問題。 (假設這個問題存在,很有可能這種根本性問題是超乎人類所能理解的, 若有個演算法可以找出這個問題並解決他,那就是貨真價實的理論(2)演算法。) 再來討論,何謂最佳解? 勝率最高?勝目數差最大? 大家都知道,目前的AlphaGo是以勝率高取向, 其實在前首戰時就已經有資訊背景的人猜測是如此, 事後相關人員的社群動態以及發佈在網路上的AlphaGo相關論文也證實了。 會以勝率高為取向,我個人認為是演算法特性綜合優化效能的結果。 以我個人理解,人機大戰的AlphaGo是沒辦法做到高目數勝差取向的。 勢必得加入其他演算法才有辦法做到。 但這似乎只是要不要放的問題,而不是能不能放的問題。 至於會不會放,我也很難說,但我傾向於不會放。 畢竟現有圍棋規則並不是追求最大目數勝差。 就好比目的是求解二元一次,能在時間內解出來就是最佳解, 並不需要過程優美。(更何況為了優美必須付出的成本或許會高到時間內無法得解。) 本來還想講一些, 個人覺得圍棋演算法對人類棋手的輔助功能和未來可以發展的方向, 礙於篇幅和我累了,真的有興趣可以私信討論。 以上多數內容純屬個人看法和臆測,歡迎對演算法有興趣的朋友來信討論。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.153.156 ※ 文章網址: https://www.ptt.cc/bbs/GO/M.1478054628.A.464.html ※ 編輯: hioska (36.234.153.156), 11/02/2016 10:46:57

11/02 10:54, , 1F
深度學習產生的價值網路不就是你說的理論二嗎
11/02 10:54, 1F

11/02 10:54, , 2F
人類根本無法用這套理論去參透圍棋
11/02 10:54, 2F
我是認為在理論(1)架構下接近理論(2)但還沒達到理論(2)的境界啦, 畢竟現在AlphaGo看起來很新穎的下法,人類還是能夠分析, 感受到那一步的強大。 要達到理論(2)的境界我認為要第一步讓人類完全無法理解到底在做什麼。 直到AlphaGo連續下了五手,人類看了後五手,回去推算才發現原來第一手極神。 這才算是下出一步人類無法理解的棋吧。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 11:02:40

11/02 10:56, , 3F
另外人類對弈的數量根本沒有辦法達到深度學習的門檻
11/02 10:56, 3F

11/02 10:57, , 4F
另外Aja也說過現在的AG已經能面對第四局的混亂情況
11/02 10:57, 4F

11/02 10:58, , 5F
改善的只是價值網路受訓再更久一點
11/02 10:58, 5F

11/02 10:59, , 6F
結論是現在電腦已經可以下出人類下不出的步數
11/02 10:59, 6F

11/02 11:00, , 7F
而且有些也無法完全被人類理解,這才是棋迷對於
11/02 11:00, 7F

11/02 11:00, , 8F
人機大戰著迷的地方
11/02 11:00, 8F
我中段有提到,我認為現在的AlphaGo只是下出人類未來十年、二十年後才會發現的步數, 人類現在下不出來,不代表未來下不出來。 至於關於第四戰挖的修正,時間久遠我也記不清楚原文是怎麼說, 我是看內部人員Twitter提到,是修正關於廣度價值的判斷。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 11:08:49

11/02 11:06, , 9F
請問可借轉文於弈棋嗎?
11/02 11:06, 9F
如果有需要的話歡迎阿。

11/02 11:07, , 10F
你的意思應該是人類無法理解"並且是妙手"的棋吧
11/02 11:07, 10F

11/02 11:08, , 11F
那種根本已經是圍棋之神已經把所有變化都算清的境界
11/02 11:08, 11F

11/02 11:09, , 12F
任何heuristic的方法應該都達不到你說的境界吧
11/02 11:09, 12F
感覺得出氣勢磅礡表示還是在同一個層次, 看不出用意結果被打很慘是高出一個層級。 這是我的區分方式啦,畢竟我是想分享我的感受。 我認為你說的很有道理。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 11:15:11

11/02 11:10, , 13F
目前棋界並不覺得四路肩衝是未來會下的步數
11/02 11:10, 13F

11/02 11:11, , 14F
這是只有電腦才會下的,因為違反了圍棋百年的棋理
11/02 11:11, 14F

11/02 11:11, , 15F
理論一太老舊了,現在複雜的系統基本上都是理論二。機器學
11/02 11:11, 15F

11/02 11:11, , 16F
習的目標就是為人類無法言語描述的經驗法則找到適合的模型
11/02 11:11, 16F

11/02 11:11, , 17F
,通常這些模型的外在行為很聰明,可是內部找不到什麼規則
11/02 11:11, 17F

11/02 11:11, , 18F
一規則二這種條列式的人為指令
11/02 11:11, 18F

11/02 11:12, , 19F
感覺神之一手是對手也要被抓到心理才成立
11/02 11:12, 19F

11/02 11:13, , 20F
圍棋始終是兩個人下的,假如小李心態都像第五盤
11/02 11:13, 20F

11/02 11:14, , 21F
不一定會是4比1的結果,或者說
11/02 11:14, 21F

11/02 11:15, , 22F
棋盤就是一樣大小,電腦算出勝率最高
11/02 11:15, 22F
----------高光-----------

11/02 11:15, , 23F
第四盤修正請看#1NVtEFak
11/02 11:15, 23F
感謝啊!原來有中文資料阿,害我還在想要不要回去翻Twitter苦惱中 (? 所以的確是策略網路在正解算太深以致無法算到機率極小的挖, 但並不是靠工程師修正參數而是他自己變強就解決了 XDDDD -------------------------

11/02 11:15, , 24F
也就是能贏最多目,沒有衝突
11/02 11:15, 24F
的確不衝突,但我認為追求勝率最高和追求目數最高還是有點不同。 我不知道這樣比喻是否同樣可以用在圍棋上, 但這就像分岐度小、終端值小、路徑加權高, 和分歧度大、終端值高、路徑加權低的差別。 高風險高報酬 (?

11/02 11:16, , 25F
不可能去期待電腦盤面贏職棋20目吧?
11/02 11:16, 25F

11/02 11:18, , 26F
像第三盤一開始就崩了就有可能啊XD
11/02 11:18, 26F

11/02 11:23, , 27F
理論一和二的差別與效果無關,即使用理論二搞出來的系統,
11/02 11:23, 27F

11/02 11:24, , 28F
也有效果爛到不行的,兩者的差別是手段的不同
11/02 11:24, 28F
我好像沒有分析到兩個理論的效能問題, 不過理論(2)演進過程需要吃比較多堆疊空間這是肯定的。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 11:30:47

11/02 11:29, , 29F
這麼說好了,假設我用理論二發展出一個中英翻譯系統,結果
11/02 11:29, 29F

11/02 11:29, , 30F
非常好,所謂非常好,不就是人人都能理解翻譯後的語義嗎?
11/02 11:29, 30F

11/02 11:29, , 31F
哪有什麼境界不境界的
11/02 11:29, 31F
理論(1)翻出來的就像現在的google小姐, 這就是我想表達的境界不同 (ˊ˙_˙ˋ)

11/02 11:34, , 32F
所以說即使alphaGo下出來的棋讓高手都感到舒服,你也不能因
11/02 11:34, 32F

11/02 11:34, , 33F
為招法還是被人認同就說alphaGo 的境界不到理論二
11/02 11:34, 33F
AlphaGo已經透過了我們還不能理解的方式下出了威猛的棋。 我上面的說法的確有瑕疵。 不過我的假設是未來的人類有機會研究出那一步棋。 也就是對於人類整體來說並不算是理論(2), 但對於現代棋手來說,似乎當作理論(2)也沒什麼不妥。 也就是我論述的基礎是: 現代人能夠理解的東西,未來人自然有機會發現。 現代人完全無法理解的東西...未來人能否發現是未知。 而理論(2)就是用來發展人類沒有機會理解的東西。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 11:40:29

11/02 11:39, , 34F
謝謝,已轉 https://goo.gl/ca1NkQ
11/02 11:39, 34F
不會 (ˊ˙_˙ˋ) 有看完文章和回文的人比我想像中的多一些,小小感動。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 11:44:49

11/02 11:51, , 35F
那理論一二的差別豈不是變成自由心證了,沒聽過這種分類方
11/02 11:51, 35F

11/02 11:51, , 36F
式,用人對結果佩不佩服來分類工程方法,不是不可以,只是
11/02 11:51, 36F

11/02 11:51, , 37F
這樣來說,就只是個人主觀的分類,哪裡還有“理論”?不如
11/02 11:51, 37F

11/02 11:51, , 38F
說我把演算法分成兩種,一種是我佩服的,一種不是
11/02 11:51, 38F
好像有點主觀。但不論是哪一個理論我都蠻佩服的。 現在的AlphaGo強度也遠遠超乎我當初的想像。 不過我認為AlphaGo還沒脫離理論(1)的感受主要源自開局還是古老棋譜中常見的。 我不認為圍棋的開局會止步於此,未來還是會有發展的。 等未來的發展輸入棋譜庫後,或許還會再進化。 這或許是主因吧,總之就是個人感受。 畢竟本系列串討論的就是對於機器戰勝人類的看法。 而我認為機器目前還處在人類同等級階段,只是跑在前面一點。 還沒有達到完全擺脫人類影子的階段。 另外回覆一下上面, 說明一下我對於高勝率和高勝目數選擇會不同的看法, 這是個假想情境: 整盤棋已確定局勢,其他部分不論先後手結果皆是+0目。 某步若對方正確應手我方-1目,對方若錯過程任何一手我方+5目, 另一步不論對方應手如何我方皆+1~2目, 前者的期望值,略高於後者,但後者勝率100%,前者有輸的可能。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 12:12:36

11/02 12:54, , 39F
這樣就不合邏輯了,電腦是能擺出後續手段的
11/02 12:54, 39F

11/02 12:54, , 40F
電腦不可能故意下自己已經算到虧目還下
11/02 12:54, 40F

11/02 12:55, , 41F
要說小李神之一手並不成立,電腦沒理而已
11/02 12:55, 41F

11/02 12:57, , 42F
但電腦最後把自己下輸,原因不是對手正確
11/02 12:57, 42F

11/02 12:57, , 43F
你講的大部分都不錯,我只有一點想小修正建議的是你對於文
11/02 12:57, 43F

11/02 12:57, , 44F
而是自己計算一直錯誤,但87手發現時,已經無法挽回
11/02 12:57, 44F

11/02 12:58, , 45F
中理論一跟二的分界定為「人能否理解」這點是有待商榷的
11/02 12:58, 45F

11/02 13:00, , 46F
因為我們並不知道神之一手位在多高的高度。如果那個高度並
11/02 13:00, 46F

11/02 13:01, , 47F
沒有想像中那麼遠,則人類終究可以解釋所有著手(就算自己
11/02 13:01, 47F

11/02 13:02, , 48F
下不出來)的可能性是存在的。
11/02 13:02, 48F

11/02 13:04, , 49F
若此,則不能用人是否無法理解來做為分界。而且圍棋的本質
11/02 13:04, 49F

11/02 13:04, , 50F
是計算,就理論上只要給人類無限的時間,所有著手都可以被
11/02 13:04, 50F

11/02 13:05, , 51F
理解並解釋(即便可能為了解釋一手棋就寫出厚厚一本書)
11/02 13:05, 51F

11/02 13:06, , 52F
故此我認為你所謂理論一跟二的分野是很薄弱的,而且事實上
11/02 13:06, 52F

11/02 13:07, , 53F
並不重要,你大可把這部分論述移除也不影響你整篇講得不錯
11/02 13:07, 53F

11/02 13:08, , 54F
的內容。加了那部分其實反而增加了一些閱讀困難。
11/02 13:08, 54F

11/02 13:14, , 55F
當然我可以想像你為何會做出這種分界方式的脈絡,因為你認
11/02 13:14, 55F

11/02 13:15, , 56F
為人類會傾向於整合規納某些規則來進行解釋,所以有可能會
11/02 13:15, 56F

11/02 13:18, , 57F
發生無論如何難以整合歸納的著手。只是你忽略了人類也有用
11/02 13:18, 57F

11/02 13:19, , 58F
窮舉來解釋分析著手的能力,而有這個能力就表示給予無限的
11/02 13:19, 58F

11/02 13:19, , 59F
時間下所有著手都可以被解釋。
11/02 13:19, 59F
有可能對我來說,圍棋是個不需要理論(2), 人類就有辦法自己達到終點的問題吧。 這可能信仰多過於實際理論了, 簡言之電腦只是加速了這個進程。 在未來人類可以發現出每一手棋的假設裡面, 在圍棋裡或許沒有理論(2)出現的餘地。 由於我的理論(2)是創造新的規則,而不是新的下法。 所以我比較想說的或許是對於圍棋規則本質上的改變。 不過對於情勢判斷上,AlphaGo似乎也讓不少棋手開始改觀, 或者開始分析AlphaGo的著手,依照這個觀點來說, AlphaGo的確已經達到理論(2)的境界, 也沒有必要用這種定義去區分他是哪個理論。 ※ 編輯: hioska (36.234.153.156), 11/02/2016 17:29:31

11/03 09:00, , 60F
machine learn的做法比較偏2 人類幾乎無法理解機器如何達
11/03 09:00, 60F

11/03 09:00, , 61F
到現在的決策網路
11/03 09:00, 61F

11/03 09:01, , 62F
而不是由預先設計好的演算法在執行
11/03 09:01, 62F

11/03 09:01, , 63F
電腦有沒有辦法下出人類無法下出的一步棋?
11/03 09:01, 63F

11/03 09:03, , 64F
沒辦法呀 棋盤位置電腦能下的人都能下....
11/03 09:03, 64F

11/03 09:03, , 65F
只是alpha go 左右互搏了三千萬局以上
11/03 09:03, 65F

11/03 09:04, , 66F
再怎麼跟人類下 統計意義應該都不大
11/03 09:04, 66F

11/03 09:05, , 67F
針對人類棋手最佳化也太冒險了
11/03 09:05, 67F

11/07 13:42, , 68F
電腦判斷情勢的規則不需要由人給
11/07 13:42, 68F

11/07 13:43, , 69F
電腦要下贏棋 也不見得需要所謂的"理解"
11/07 13:43, 69F
文章代碼(AID): #1O6LBaHa (GO)
文章代碼(AID): #1O6LBaHa (GO)