1. 程式人生 > >科普:alphago是什麽

科普:alphago是什麽

全面 是不是 智能 ibm 手機 遊戲 範圍 計算機行業 簡單

鑒於大部分人類對alphago的認識:

1:Alphago有什麽了不起的?不就是算得快嗎。ibm早在20年前就通過象棋戰勝人類了。又是Google的一次營銷。


2:alphago 實現人工智能了,電腦立即要超過人類占據地球了。


這兩種想法哪個才是正確的那?嚴格地說,都不對。

所以我認為非常有必要給非計算機行業的同學們科普一下。由於是一篇科普文。所以我們不討論卷積神經網絡或MCTS這些東西。對原理感興趣的同學能夠:https://deepmind.com/alpha-go.html。

另外。歡迎加微信探討各種問題或指出錯誤:lofocus
要理解什麽才是真正的alphago?

必須弄明確下面幾個問題。


1: 象棋早就被打敗了。圍棋有什麽了不起?

用計算機怎麽才幹達到絕對的勝利?那就是窮舉,就是把每一步每一種落子的可能都算一遍,然後電腦盡可能的往勝利的分支上去走,這樣除非你也能看盡每一步棋。或者運氣極佳,一個失誤都沒有,否則必輸。要做到看盡每一步棋。須要多大的腦容量那?這主要取決於棋盤的大小,簡化一下,不考慮落子的順序和規則,象棋的難度是10的46次方,而圍棋的難度是10的172次方。這麽說對於沒有算法復雜度概念的人可能非常難理解。

10的172次方就是1後面跟172個零,而宇宙中原子總數量大概是1的80次方左右。

還不理解?我們縮小一下範圍,假設象棋的難度是1,就是僅僅有一個格。誰先下誰贏。那麽圍棋就是1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000。沒錯。依舊非常大。

這樣的計算量,眼下電腦的計算能力是遠遠不夠用的。此外。象棋的棋子是有差別的,電腦能夠優先保證車馬炮一類的,然後才去考慮小兵。加上象棋的規則復雜導致計算機不用考慮大量不合理的走法(術語叫剪枝)。所以計算象棋相對就簡單多了。僅僅通過提高計算能力就能夠達到打敗天下無敵手。

圍棋也有非常多不合法的落子方式能夠去掉。去掉之後的難度大概是1的170次方,對。並沒有卵用。

當然。還能夠刨除一些可預知的不合理沒有勝率的規則,可是難度依舊是不可計算的天文數字。通過計算機的計算能力打敗人類圍棋高手,眼下看不到不論什麽希望。這也就是大部分人。包含非常多計算機領域的大牛,集體不看好alphago的原因。




2:圍棋程序不是早就有了嗎?狗狗就是提升了一點而已。

的確,非常早之前電腦就會下圍棋,並且也下的不錯,至少我下只是我的手機。這些軟件是怎麽做到的那?事實上就是用象棋程序的原理(當然有針對性的改善了,比方使用了蒙特卡洛搜索等等),這類程序太依賴計算,所以電腦性能越高,軟件也就越厲害。只是前面說過了,圍棋太復雜無法算盡。

所以這樣的方式始終無法突破瓶頸。在人類高手面前看起來非常像白癡。


3:Google是怎麽實現的?

這個問題討論起來非常復雜,通俗的說。就是預先輸入一大堆人類對戰的棋譜,然後電腦下棋的時候。依據這些棋譜的某些特征去選擇把棋子放在什麽地方(註意。不是全然復制人類之前的下棋方法,而是依據數據分析推斷)。它可能認為非常多地方都值得放棋子。那就把勝利最大的幾個位置都測試一下,分析出一個勝率最高的位置。

怎麽確定哪個位置勝率最高那?就是把棋子放在一個位置,然後用同樣的方法去推斷對手的棋子會放在什麽位置…如此反復,直到下完一整盤棋。看看是輸是贏。這個過程會依據不同的選擇反復非常多次,這樣就找到一個勝率相對最高的位置。然後你會發現,通過這樣的方法狗狗是無法進步的,由於人類沒有那麽多棋譜讓它學習。所以,他會通過自己跟自己下棋來獲得提高,並且他自己會下出什麽奇怪的套路人類非常難預測。
怎麽樣?狗狗的進步方法是不是跟人類非常像?學習上:首先找老師學規則(程序狗寫的),然後看各種名人的作品(輸入人類數據),在然後自己反復練習(機器學習)。

對戰上:縱觀全局。考慮一下因該把棋子放在什麽地方,然後在心裏預演一下放在這裏合不合適。


事實上,狗狗的實現就是對人了思考過程的模擬。


4:電腦要占據地球了?

然而並沒有,先不說狗狗的算法有多通用,至少它全然不是你所理解的擁有了自主意識。它就僅僅會下圍棋。稍做改動或者不用改動(眼下的算法還是須要改動的,看論文他們的算法還是針對圍棋做了非常多特殊的設定)。就能夠下象棋、打遊戲、醫療、基因排序、經濟預測等等等,可是它並不知道什麽是程序員。什麽是單身狗,也不會夢見電子羊。它更像是用統計學上的一些方法。做到了人類憑直覺完畢的事情。

而不是具有了人類胡思亂想的能力。


5:狗狗根本不理解圍棋,所以不是人工智能。大家都被騙了?

這個想法可能源於人類對人工智能以及對自己的認識不足。舉個樣例:人理解騎自行車嗎?人生下來是本不會騎車的,可是通過學習都能夠學會。

從不會到會。差別是什麽。是由於那個人如今理解自行車了嗎?就個人來說,從不斷摔倒,到能夠撒把騎車,並沒有特別的變化,我說不出速度和重心的關系,也談不上理解騎車,但最好還是礙我轉彎避讓,自由穿梭。差別不是理解,而是訓練。通過訓練,得到反饋,做出調整。獲得模式。

下棋也是這樣,通過大量的訓練,能夠做出最好的反應,就可能會贏。




6:這有什麽意義?

要說意義,我個人認為還是非常非常大的,這可能是本世紀最重要的一個事件,也可能是人類歷史上最重要的一個事件。

當前,前提是證明AlphaGo的方法的確可行。
盡管如今的狗狗不是一個通用的神經網絡,想讓下圍棋的狗狗下象棋,是須要人工改動狗狗的邏輯制造一條新狗的。即使這樣。這樣的算法的應用場景依舊十分廣泛,比方醫療、金融、自己主動駕駛、同聲傳譯、甚至在數論、量子場論等非常多領域都實用武之地,如今,一些基層醫生、律師、高級技工等行業也須要開始操心自己的飯碗了。他能解決的不是一個問題,而是一系列問題。他找到的未必是最佳解決方式,但至少超過了人類所能找到的全部解決方式。
的確。如今的狗狗還不具有自由意識。但不能說狗狗不具有自由意識就沒有不論什麽意義,就不叫人工智能。

假設狗狗真的具有獨立思維,那是否應該叫“人類智能”那?況且。假設機器真的具有了自由意識。那對於人類的意義恐怕就不須要我在這寫了。也沒有圍棋比賽了,人類應該考慮是否拿起武器去反抗了。


說究竟狗狗還是程序,還是各種指令的集合。

可是,誰又能說程序和運算不能是智能那?難道智能必須是由碳水化合物組成的肉身嗎?假設人類能夠制造一個絕對理性人,沒有情感。沒有意識,但無所不知無所不曉,智商全面碾壓全部人類小肉蟲,這臺“機器”的發明是否是一件值得我們深思的事情那?當然,狗狗還遠未達到這個程度,但它讓我們看見了一絲希望。一道曙光。


今天,AlphaGo用事實證明了機器能夠部分取代人類思考,讓人腦思維結晶的權威性受到質疑,這絕對是一個嶄新的開始。

。。



昨天,我們不相信計算機能夠解決圍棋問題,今天,我們是非依舊不相信計算機能夠產生自由意誌那?我們還是獨一無二的嗎?


科普:alphago是什麽