AlphaGo的神奇全靠它,詳解人工神經網絡!

Alphago在不被看好的情況下,以4比1擊敗了圍棋世界冠軍李世石,令其名震天下。隨着AlphaGo知名度的不斷提高,人們不禁好奇,究竟是什麼使得AlphaGo得以戰勝人類大腦?AlphaGo的核心依託——人工神經網絡。

AlphaGo的神奇全靠它,詳解人工神經網絡!

什麼是神經網絡?

人工神經網絡是一種模仿生物神經網絡(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型。神經網絡由大量的人工神經元聯結進行計算。大多數情況下人工神經網絡能在外界信息的基礎上改變內部結構,是一種自適應系統。現代神經網絡是一種非線性統計性數據建模工具,常用來對輸入和輸出間複雜的關係進行建模,或用來探索數據的模式

神經網絡是一種運算模型,由大量的節點(或稱“神經元”,或“單元”)和之間相互聯接構成。每個節點代表一種特定的輸出函數,稱爲激勵函數。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之爲權重,這相當於人工神經網絡的記憶。網絡的輸出則依網絡的連接方式,權重值和激勵函數的不同而不同。而網絡自身通常都是對自然界某種算法或者函數的逼近,也可能是對一種邏輯策略的表達。

AlphaGo的神奇全靠它,詳解人工神經網絡! 第2張

例如,用於手寫識別的一個神經網絡是被可由一個輸入圖像的像素被激活的一組輸入神經元所定義的。在通過函數(由網絡的設計者確定)進行加權和變換之後,這些神經元被激活然後被傳遞到其他神經元。重複這一過程,直到最後一個輸出神經元被激活。這樣決定了被讀取的字。

它的構築理念是受到人或其他動物神經網絡功能的運作啓發而產生的。人工神經網絡通常是通過一個基於數學統計學類型的學習方法得以優化,所以人工神經網絡也是數學統計學方法的一種實際應用,通過統計學的標準數學方法我們能夠得到大量的可以用函數來表達的局部結構空間,另一方面在人工智能學的人工感知領域,我們通過數學統計學的應用可以來做人工感知方面的決定問題(也就是說通過統計學的方法,人工神經網絡能夠類似人一樣具有簡單的決定能力和簡單的判斷能力),這種方法比起正式的邏輯學推理演算更具有優勢。

人工神經網絡是一個能夠學習,能夠總結歸納的系統,也就是說它能夠通過已知數據的實驗運用來學習和歸納總結。人工神經網絡通過對局部情況的對照比較(而這些比較是基於不同情況下的自動學習和要實際解決問題的複雜性所決定的),它能夠推理產生一個可以自動識別的系統。與之不同的基於符號系統下的學習方法,它們也具有推理功能,只是它們是建立在邏輯算法的基礎上,也就是說它們之所以能夠推理,基礎是需要有一個推理算法則的集合。

2AlphaGo的原理回頂部

AlphaGo的原理

首先,AlphaGo同優秀的選手進行了150000場比賽,通過人工神經網絡找到這些比賽的模式。然後通過總結,它會預測選手在任何位置高概率進行的一切可能。AlphaGo的設計師通過讓其反覆的和早期版本的自己對戰來提高神經網絡,使其逐步提高獲勝的機會。

AlphaGo的神奇全靠它,詳解人工神經網絡! 第3張

從廣義上講,神經網絡是一個非常複雜的數學模型,通過對其高達數百萬參數的調整來改變的它的行爲。神經網絡學習的意思是,電腦一直持續對其參數進行微小的調整,來嘗試使其不斷進行微小的改進。在學習的第一階段,神經網絡提高模仿選手下棋的概率。在第二階段,它增加自我發揮,贏得比賽的概率。反覆對極其複雜的功能進行微小的調整,聽起來十分瘋狂,但是如果有足夠長的時間,足夠快的計算能力,非常好的網絡實施起來並不苦難。並且這些調整都是自動進行的。

經過這兩個階段的訓練,神經網絡就可以同圍棋業餘愛好者下一盤不錯的棋了。但對於職業來講,它還有很長的路要走。在某種意義上,它並不思考每一手之後的幾步棋,而是通過對未來結果的推算來決定下在哪裏。爲了達到職業級別,AlphaGp需要一種新的估算方法。

爲了克服這一障礙,研究人員採取的辦法是讓它反覆的和自己進行對戰,以此來使其不斷其對於勝利的估算能力。儘可能的提高每一步的獲勝概率。(在實踐中,AlphaGo對這個想法進行了稍微複雜的調整。)然後,AlphaGo再結合多線程來使用這一方法進行下棋。

我們可以看到,AlphaGo的評估系統並沒有基於太多的圍棋知識,通過分析現有的無數場比賽的棋譜,以及無數次的自我對戰練習,AlphaGo的神經網絡進行了數以十億計的微小調整,即便每次只是一個很小的增量改進。這些調整幫助AlphaGp建立了一個估值系統,這和那些出色圍棋選手的直覺相似,對於棋盤上的每一步棋都瞭如指掌。

此外AlphaGo也使用搜索和優化的思想,再加上神經網絡的學習功能,這兩者有助於找到棋盤上更好的位置。這也是目前AlphaGo能夠高水平發揮的原因。

3神經網絡的延伸和限制回頂部

神經網絡的延伸和限制

神經網絡的這種能力也可以被用在其他方面,比如讓神經網絡學習一種藝術風格,然後再將這種風格應用到其他圖像上。這種想法很簡單:首先讓神經網絡接觸到大量的圖像,然後來確認這些圖像的風格,接着將新的圖像帶入這種風格。

AlphaGo的神奇全靠它,詳解人工神經網絡! 第4張

這雖然不是偉大的藝術,但它仍然是一個顯著的利用神經網絡來捕捉直覺並且應用在其他地方的例子。

在過去的幾年中,神經網絡在許多領域被用來捕捉直覺和模式識別。許多項目使用神經這些網絡,涉及的任務如識別藝術風格或好的視頻遊戲的發展戰略。但也有非常不同的網絡模擬的直覺驚人的例子,比如語音和自然語言。

由於這種多樣性,我看到AlphaGo本身不是一個革命性的突破,而是作爲一個極其重要的發展前沿:建立系統,可以捕捉的直覺和學會識別模式的能力。此前計算機科學家們已經做了幾十年,沒有取得長足的進展。但現在,神經網絡的成功已經大大擴大,我們可以利用電腦攻擊範圍內的潛在問題。

事實上,目前現有的神經網絡的理解能力是非常差的。神經網絡很容易被愚弄。用神經網絡識別圖像是一個不錯的手段。但是實驗證明,通過對圖像進行細微的改動,就可以愚弄圖像。例如,下面的圖像左邊的圖是原始圖,研究人員對中間的圖像進行了微小的調整後,神經網絡就無法區分了,就將原圖顯示了出來。

AlphaGo的神奇全靠它,詳解人工神經網絡! 第5張

另一個限制是,現有的系統往往需要許多模型來學習。例如,AlphaGo從150000場對戰來學習。這是一個很龐大額度數字!很多情況下,顯然無法提供如此龐大的模型案例。