顯示具有 圍棋- 棋士- 勝間史朗 標籤的文章。 顯示所有文章
顯示具有 圍棋- 棋士- 勝間史朗 標籤的文章。 顯示所有文章

2016年4月25日 星期一

勝間史朗談阿發夠(4)完


第四章 今後的圍棋

人類在圍棋這個項目中輸給了電腦的這個事實,對於圍棋的下法應該會產生一些影響。

好比說,也許有一天我們會進入隨時隨處可以找到職業棋士級的圍棋軟體來跟我們下棋之時代。對於一般人而言,由於實力相差太大,和這種軟體下期可能沒有甚麼太大意義,但對於業餘六段左右程度以上的棋友來說,只要能持續和這樣的軟體練習對局,棋力應該會有飛躍性的提升才對。

或者,當我們想知道自己下過的棋局敗因時,拿出軟體來檢討,它或許顯示某種參考答案給我們看。

2016年4月24日 星期日

勝間史朗談阿發夠(3)


第三章 職業棋士看AlphaGo的棋力

這裡我要說說我的兩點看法。第一點是為何李世石九段會輸掉,另一點則是關於圍棋的特徵。

首先,就是為何像李世石九段這樣的人類會輸:就像前面兩章所言,AlphaGo是利用統計分析,會一直去資料庫觀看至今為止人類所下過的棋譜,然後搜尋出現出現機率最高的棋形,並且一一將之群組化,然後導出可以獲勝的最終圖面。然而這個過程中,其每一手選擇的都是「普通的棋」,換句話說,就是一直持續下著不好也不壞之棋的意思。另一方面,身為人類的李世石九段當然是有可能下出比「普通的棋」糟糕的著手,而他就會在那一瞬間輸掉。

不過,人類還是有不輸給電腦的地方。就是大局觀、與厚薄的價值判斷。

2016年4月23日 星期六

勝間史朗談阿發夠(2)


第二章 AlphaGo的思考方式

在前一章中,我們確認過了「I Love You」的翻譯思考方式,而AlphaGo使用的其實也是同樣的手法。接下來,我們就用簡明易懂的「碰長定石」為例來看看它怎麼思考吧。

1圖
katuma01.png


其實AlphaGo並不是把上圖這個型辨識成碰長定石,而是之前利用統計與機率導出了這個型,並且把一塊形狀當成一個群組。

2016年4月22日 星期五

勝間史朗談阿發夠(1)



職業棋士看AlphaGo之實力
~何謂深度學習(Deep Learning)

執筆:關西棋院勝間史朗七段

第一章 何謂深度學習?

阿發夠能獲勝的關鍵原因,就是使用了深度學習的思考手法;所以如果能搞懂何謂深度學習,就可以明白阿發夠的實力。

因此,首先就從這種手法開始講起吧。

所謂深度學習,簡單一句話,就是只抽出我們想知道的特徵,然後從過去的學習資料庫當中,再搜尋出符合這種特徵答案的學習手法。

以圍棋的狀況而言,就是當想要找出能夠獲勝的次一手時,需要先試著做出各種變化衍伸出來的終局圖,接著就必須決定接下來要選擇哪一種變化。但是這些變化的數量可說是天文數字,因此至今為止要這麼做是很有困難的。

然而,使用深度學習的手法時,只要在局部棋子的折衝中,抽出特徵性的型態、排除太多的多餘變化,然後就能精簡地做出各種終局圖。也因此,達成棋力上的飛躍性進步。

在此,為了讓這種只抽出特徵、據此模擬出棋局後續發展的思考手法簡明易懂起來,我就以一個假想的網路翻譯軟體來舉例,讓大家能夠有個清楚的印象:

當看到「I Love You」這句話而進行翻譯時,如果用機械式的翻譯,就會變成「我.愛.你(わたし愛してるあなた)」(譯註:在中文裡這樣直譯並無問題,因為中文和英文的文法都是主詞+動詞+受詞的結構,但日語的文法結構卻不是這樣。因此如果直譯的話,會變成「わたし愛してるあなた」,不符合日語受詞要放在動詞前面的用法,反而是錯的;所以作者特別舉這個直譯錯誤當例子),但如果使用統計手法,就會發現網路資料庫中「我(私)」這個字之後有60%的機率會接「是(は)」這個字,剩下的30%中則是「乃(が)」(譯註:其實通常が也是翻成「是」,但在日文中は、が是有差異的,所以我在這裡故意翻成乃);因此從統計與機率的分析來看,就會把「我是(私は)」當作一個群組來使用,就好像圍棋中的定石一樣會連結出現。

以上這個分析,就是抽出特徵流程的第一步。

同樣地,在「你(あなた)」之後,通常會跟著「把(を)」、「對(に)」、「乃(が)」這些助詞出現,因此也各自歸類成群組。

於是,這句英文的翻譯就可以稍稍進步成把「I」翻成「我(私は)」而「You」翻成「你(あなたが)」這種群組式的預期翻譯,而進入第二步的思考程序。

於是原本翻成「我.愛.你(わたし愛してるあなた)」的句子,就會進步成「我.愛你(私は愛してるあなたが)」了。

接下來再次利用統計與機率,會發現網路上「我(私は)」這個群組之後會有55%的機會出現「把你(あなたを)」這個群組,或者有40%的機率出現「對你(あなたに)」...也就是可以找到許多不同的群組組合。所以我們可以再把「我把你(あなたを)」、「我對你(あなたに)」編成新的群組。如此再進一步翻譯下去,就會把「我.愛.你」變成了「我對你有愛(私はあなたに愛してる)」而導出更加群組化的結果。

於是再使用統計與機率,會發現網路上有10%的機率會將「I Love You」表示成「我對你有愛(私はあなたに愛してる)」,但有90%的機率則是表示成「我愛你(私はあなたを愛してる)」,於是程式就會將搜尋機率最高的結果當作翻譯答案顯示給使用者看。

最後,程式根本就會把「I Love You」的翻譯「我愛你(私はあなたを愛してる)」分類成一個片語、儲存在資料庫中,而「學習」起來。

像這樣從第一步到第二、三步是一層層深入思考的方式,就是這種方法被稱為「深度學習」的原因。

至於該怎麼使用這種手法應用到圍棋上,就待下一章見分曉囉。

===


相關系列文章: