2016年4月22日 星期五

勝間史朗談阿發夠(1)



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

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

第一章 何謂深度學習?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

===


相關系列文章: