電腦與人類對戰

關於人機對戰,最有名的莫過於由IBM開發的深藍(Deep Blue),它在1997年5月擊敗西洋棋冠軍卡斯巴羅夫。
以前的方式是窮舉法,也就是把所有的可能性都計算出來,然後評估贏面最大的,但是跟其他棋類相比:
1.圍棋格子數量最多是19X19的方格
2.且每一個棋子權重一致
3.規則較其他棋類複雜
導致在電腦上模擬遇到了瓶頸,不可能將所有的可能性都計算出來,另外圍棋有許多情勢的判斷,要讓電腦去理解棋局的優劣勢是非常困難的事情。

(去年Alpha Go對弈李世乭的賽況,最終由Alpha GO以4勝1敗取得勝利)

人工智慧?電腦會自己思考

逐點說明Alpha Go的幾個核心技術:
神經網絡系統:使用CNN(Convolutional Neural Network)能夠協助電腦進行影像的辨識,圖片搜尋就有使用這種技術,這部分幫助電腦讀懂棋盤的內容。
神經網路
電腦眼中的圍棋落子思路。(Source:Google deepmind 官網 AlphaGo | Google DeepMind)

在對弈中,協助電腦落子的黃士傑(Aja Huang)為核心開發成員之一,他大學就讀交大資工系,碩、博士班就讀師大資工所,碩士論文「電腦圍棋打劫的策略」,開發能分析圍棋中的一個狀況「劫」的演算法。
圍棋劫
「劫」是連一般選手處理時都要特別慎重的狀況,當一方可以提掉對方一子,對方下子時會馬上被提子回來,但若是這樣無限循環下去,比賽就沒完沒了,所以規則上對方無法直接下另外一個位子來提子。
這造成比賽多了額外的變因,簡單來說一般棋類先攻都會有優勢,但是劫處理不好甚至會有被反守為攻的情況,此外還會有雙劫、三劫等更複雜的狀況。

(2017年5月23這次Alpha Go將會對上被譽為天才的中國19歲棋手柯潔|賽程資訊)
對於柯潔來說,這很可能不是第一次對上Alpha GO,在今年年初時大陸圍棋網站(弈城圍棋網騰訊野狐圍棋網)出現一名代號Master的帳號,連續六天中,一天平均進行10場比賽,最終取得60勝0敗的完美紀錄,其中包含了勝過柯潔的三次比賽。
最後該帳號主動表明身份:「我是AlphaGo的黃博士。」
其用意是測試升級後的Alpha GO表現,不過因為是採網路的賽制,下快棋每局只有2到3分鐘可以思考,與五月正式對弈,電腦運算以及棋手可以思考的時間長度不同。(詳細報導請見維基百科)

黃士傑的博士論文著手使用蒙地卡羅樹搜尋法,試圖透過隨機程序的計算找到更精準的解法,2011年博士班畢業的黃士傑加入了DeepMind的團隊,2016年年初將AlphaGO發表在Nature期刊上,論文中Aja Huang與 David Silver並列為第一作者,可見其在團隊中的貢獻度之高。

aja huang

資訊科技崛起

機器學習(Machine Learning)的崛起有兩大原因,第一是電腦運算效能提升、第二是數學上找到更簡便的演算法。這樣的技術跟人工智慧還是有差異,我們期盼的人工智慧是機器真的具備人的思維,但是機器學習則是使用了「向量空間」距離比對的方式,舉例來說:電子鼻感測器味,之後把不同的氣味標註在一個空間中,如果任兩點距離越近,我們就知道兩者的相似度越高,並請電腦做出判斷到底一不一樣。

不過這件事情電腦是在高等維度下去計算,雖然人腦連四維空間都無法模擬,但是電腦藉由強大的運算能力,它將訓練好的棋譜記憶在這個十幾維度的向量空間中。它把現在比賽中的狀況跟向量空間的這些記憶點比較,如同上頭氣味的例子一般,距離最近的就是最佳的解。
AlphaGo利用目前最尖端的深度學習(deep learning)進行訓練,這樣的運算模式是比賽結果令人跌破眼鏡的一大主因,因為電腦現在的「計算模式」以經到了人類無法比擬的狀態,進一步的為了讓Alpha Go的實力更上一層樓,程式本身進行了無數次的「自我對弈」,過程中獨創出很多違背常規棋理的下法,這也引來許多職業棋士的學習。

alphago棋譜

電腦完美的佈局

在2016年首戰中李世乭在第七子時沒有按常規佈局在上邊落子,而選擇走在右邊。李世石自己在職業比賽中,從未使用過這一開局,甚至整個職業圍棋界沒有人見過這下法,推測是他想試探電腦,想知道如果下出一個不可能會有人下的位置,電腦會不會誤判,但是如同上提到,電腦並不是採取窮舉法與棋譜做對照,而是用勝率來做評估,所以在開局時的錯誤判斷,竟然導致在收官(接近比賽尾聲時),這一子之差讓黑子表現每況愈下,對於電腦而言越接近尾盤,可下的位置可能性越來越少,因此計算上會越來越精準,讓李世乭以投降做結局。

圍棋與人生

2012年時鄭明析牧師分享過關於圍棋的教導,當時配合的畫面正是李世乭與對手進行九段對決的影片,比賽白熱化,面臨要處理「劫」的狀況。
雖然一般人就這樣看過去,但是懂圍棋的人當下就得到了很大的衝擊:「我完全體會牧師為什麼用圍棋來舉例了!」

“你們會下圍棋嗎?
我想要用這個做比喻來說明關於「太單純」的部分。
如果太單純地下圍棋,對方就會立刻把自己的棋子吃掉。
因此,必須要先思考:「如果我下在這邊,對方應該會下在某處吧!」之後再下棋才行。如果都沒有思考對方會下在哪裡,就想要吃掉對方的棋子,只思考自己的部分來下棋,這樣是不行的。
「人生」也是一樣,對於稱為「自己」的身軀,要如同圍棋棋盤上的棋子一般,慎重地思考之後再移動並行動才行。”––2012/10/31證道

柯潔:

與人類相比,我感覺不到它對圍棋的熱情和熱愛。
我會我用所有的熱情去與它做最後的對決

柯潔本人在賽前也認同,未來的趨勢肯定會著重在人工智慧的發展。這個比賽可能不會為我們的生活帶來太多改變,使很多人成為職業棋士或是資訊工程師。
但是從中可以學習到:
1.連如此複雜的圍棋對弈都能研發,隨著資訊科技的發展,未來將會更全面的影響我們的生活,人類如何正確認識、學習這些科技、與人工智能相處,變得越來越重要。
2.每個人都要面對一日二十四小時的人生,如同圍棋棋局一般,當下一個看似不起眼的決定,只有走到底時才會知道結果,因此不要隨意地抹滅自己的可能性、也不要短視近利。

鄭明析牧師:

「人生」也是一樣,對於稱為「自己」的身軀,要如同圍棋棋盤上的棋子一般,慎重地思考之後再移動並行動才行。

參考資料:
柯潔:我無法感受到Alpha Go的熱情
為什麼支持Alpha GO獲勝
李世乭:我在開局犯了錯誤
不是電腦打敗人類,是人類打敗人類
李喆微信評論

發表迴響

%d 位部落客按了讚: