2006年批幌,加拿大多倫多大學教授杰弗里·辛頓(Geoffrey Hinton)在權威學術期刊《科學》上刊文,提出了深度學習的概念嗓节,極大地發(fā)展了人工神經網絡算法荧缘,為本次人工智能熱潮提供了理論基礎。而移動互聯網的快速發(fā)展赦政,帶動了覆蓋不同行業(yè)的大數據應用胜宇,為深度學習提供了源源不絕的數據燃料。計算機硬件的性能按摩爾定律的飛速提升恢着,為人工智能提供了有力的硬件保障。上面三方面的因素相互推動财破,才最終促進了人工智能的這一輪爆發(fā)掰派。
不過對大多數普通民眾來說,人工智能熱潮就是從阿爾法狗開始的左痢。
2015年靡羡,阿爾法狗(AlphaGo)第一次向人類宣戰(zhàn),它以5∶0橫掃三次斬獲歐洲圍棋冠軍的職業(yè)二段棋手樊麾俊性。樊麾是法國圍棋隊總教練略步,他曾多次獲得法國冠軍,及蟬聯2013年至2015年的三屆歐洲圍棋冠軍定页。2016年底趟薄,樊麾講述了他第一次與AlphaGo比賽的感悟。樊麾當時并非沒有取勝的機會典徊,在第五盤中他本來占據一定優(yōu)勢杭煎,卻因一個低級失誤導致全敗。
2016年3月9日-15日卒落,圍棋人機大戰(zhàn)在韓國首爾舉行羡铲,阿爾法狗向人類現任頂尖職業(yè)棋手李世石發(fā)起挑戰(zhàn),最終以4-1獲勝儡毕,技驚四座也切。
2016年12月29日晚起到2017年1月4日晚,一個代號為Master(大師)的神秘棋手先后現身著名對弈網站弈城和野狐腰湾,在30秒一手的快棋中雷恃,大師依次對戰(zhàn)數十位人類頂尖圍棋高手,取得60勝0負的輝煌戰(zhàn)績檐盟。
2017年5月23日到27日褂萧,在中國烏鎮(zhèn)圍棋峰會上,阿爾法狗(大師)以3-0的總比分戰(zhàn)勝排名世界第一的世界圍棋冠軍柯潔葵萎。
如今导犹,阿爾法狗已經升級到阿爾法零(AlphaGo Zero)版本唱凯。阿爾法零與上一個版本阿爾法狗(大師)的100番棋戰(zhàn)績?yōu)?9勝11負,與去年3月和李世石對弈的阿爾法狗的100番棋戰(zhàn)績?yōu)?00勝0負谎痢。
也許阿爾法狗最讓人們緊張的不在于它的下棋能力磕昼,而在于它進步的腳步。從艱難戰(zhàn)勝職業(yè)二段节猿,到勉強戰(zhàn)勝人類九段票从,花了1年多;再到完勝人類棋手滨嘱,它用了九個月峰鄙;最后到最新版本,它壓根不需要向人類學習太雨,僅僅自我學習了40天吟榴,就完勝自己之前的版本。而人類囊扳,已經沒有資格當它的對手了吩翻。
根據DeepMind公司(阿爾法狗的制造者)在2016年《自然》雜志上發(fā)表的論文,阿爾法狗的成功主要依靠以下幾個方面:1. 策略網絡(Policy Network)锥咸,給定當前局面狭瞎,預測/采樣下一步的走棋。2. 價值網絡(Value Network)搏予,給定當前局面熊锭,估計是白勝還是黑勝。3. 蒙特卡羅樹搜索(Monte Carlo Tree Search缔刹,MCTS)球涛,快速評估棋面位置價值。至于阿爾法零校镐,則使用了完全自我學習的強化學習算法亿扁。這里就不對這些算法展開討論了,非專業(yè)人員只會看得昏昏欲睡鸟廓,有興趣的人可以到網絡上搜索一些深入分析的文章从祝。下面重點講講連接主義學派的獨門秘籍----人工神經網絡和深度學習,它也是上述策略網絡和價值網絡的核心思想引谜。
人工神經網絡牍陌,名字聽起來就非常高大上,似乎是計算機對人腦的完美演繹员咽。但是實際上毒涧,科學家對大腦的研究還遠沒有達到可以重建人腦的地步。人工神經網絡也僅僅是一組數學模型贝室,但是這組數學模型主要借鑒了人類神經系統(tǒng)的架構和功能契讲,因此才被稱為“神經網絡”仿吞。為了簡便起見,現在大家都把人工神經網絡簡稱為“神經網絡”捡偏。至于最近流行的深度學習唤冈,則是通過將神經網絡分層,組合低層特征形成更加抽象的高層表示屬性類別或特征银伟,來理解數據中的復雜模式和關系的領域你虹。簡單地說,當一層神經網絡的輸出成為另一層神經網絡的輸入時彤避,有效地將它們疊加起來,由此產生的神經網絡就是“深度”了忠藤。
斯坦福大學的印度學生PararthShah 在2012年12月22日使用買芒果的例子解釋了神經網絡的作用:如果你想挑選一個最好吃的芒果模孩,一個簡單粗暴的方法是嘗遍所有的芒果,然后總結出個大贮缅、深黃色的比較好吃榨咐,那么以后去買芒果的時候,就可以按上面的標準挑選块茁。機器學習就是讓機器“嘗”一遍所有芒果桂肌,你可以預先告訴它哪些好吃数焊,也可以通過某個規(guī)則讓機器判斷出哪些好吃,然后由機器自己去總結一套規(guī)律(如個大崎场、深黃色)佩耳。具體說來,就是你告訴機器每一個芒果的特征(顏色干厚,大小螃宙,軟硬……),并且將輸出結果(味道如何谆扎,是否好吃)描述給機器,剩下的就等機器自己去學習出一套規(guī)則堂湖。那么問題來了状土,機器是怎么學習到那套規(guī)則(個大饵蒂、深黃色的好吃)的?那就要用到機器學習算法退盯。神經網絡也是一種機器學習算法,它雖然是目前最熱門的機器學習算法慰照,但是不代表它是唯一的琉朽,在很多領域,其它機器學習算法的表現甚至超過神經網絡箱叁。下面還是用個故事來說明神經網絡的運作機制吧。
故事要從2006年講起算色,話說連接主義學派在之前由于神經網絡模型太復雜螟够,在實際使用中效果很差,導致了學派一度式微妓笙。好在江山代有人才出,辛頓在學派低谷期仍然堅持不懈地對神經網絡進行研究寞宫,直到有一天。
明斯基年紀比較大了统锤,他最近最喜歡的事情就是在晴朗的早晨在院子里閑逛炭庙,一邊曬曬太陽,一邊思考問題焕蹄。這天清晨逾雄,他正在院子里閑逛。突然银锻,一只大狗突然撲了過來做鹰,對著他的臉一通亂舔击纬〖佤铮“阿爾法,停下饭尝,快停下!”一邊傳來焦急的呼聲钥平。大狗終于停了下來。明斯基定睛一看知态,原來是只中等大小的哈士奇犬立叛,黑白相間的臉上似乎正在做出討好的表情,搖著尾巴對著他笑。在哈士奇的后面友扰,一個年輕人正在拉著狗繩,一副想笑又想不出來的樣子秽浇。明斯基趕忙整了整衣服甚负,咳嗽了一聲,故作威嚴地說:“辛頓梭域,你怎么又在遛狗啊富玷?還不趕緊去做研究!”辛頓連忙過來說:“老師赎懦,我正在做研究啊±杈ィ”
“那你在研究什么当悔,狗狗嗎?”
“就是它先鱼。老師,通過阿爾法掸读,我對神經網絡的研究有了重大進展宏多。”辛頓開心地說伸但。
“哦,說來聽聽铛铁∪捶粒”明斯基也有了興趣。
“我是從訓練阿爾法識別橘子開始的彪标。先拿一堆的水果,告訴它哪些是橘子薄声,哪些不是题画,這就是‘訓練’。第一次婴程,阿爾法通過形狀判斷抱婉,橢圓球體的是橘子蒸绩,可是檸檬也是這種形狀啊铃肯。那就第二次,聞氣味押逼,阿爾法能聞出橘子的氣味;如果還不行咙冗,就加上嘗味道漂彤、看色澤等等。對應到計算機算法設計中挫望,每次判斷都是經過一層神經元,每層神經元生成的結果是一組數據集桑腮,它們乘以不同的比例參數(權重)輸出給下一層神經元使用蛉幸。經過多層網絡深度學習,阿爾法狗最終就能做出正確的判斷奕纫。”辛頓自信滿滿地說。
“嗯又固,有道理煤率。每層神經元間的傳遞可以認為類似人腦神經通過突觸連接,而比例參數則代表了突觸中腦電波信號的強度蝶糯。越接近正確答案的參數得到了越大的信號強度,人腦就是這樣得到正確答案的识虚。可是這種神經網絡有不可避免的問題担锤,分層太少,往往得不到有效答案铭腕;分層太多多糠,計算量太大導致無法使用。想當年被盈,我也養(yǎng)了一只灰熊寵物來驗證神經網絡模型析蝴。可是你知道它是怎么死的嗎闷畸?笨死的!我才給它弄了三層神經網絡盾沫,它就經常死機殿漠,真是笨死了。哎呀绞幌,我可憐的小熊熊莲蜘。”明斯基開始了長吁短嘆票渠。
眼看著明斯基要開始陷入漫長的回憶,辛頓趕忙插話道:“深度學習確實有這個問題昂秃,所以我研究出了一種反向傳播方法。就是將每次神經網絡計算的輸出層和正確的結果進行比較肠骆,如果不一樣,就讓最后一層神經元進行參數調整郊艘,最后一層神經元不僅自己調整參數唯咬,還會反過來要求連接它的倒數第二層神經元調整,這樣層層往回退著調整狞贱。經過調整的網絡會在樣本上繼續(xù)測試蜀涨,如果輸出還是錯,就繼續(xù)來一輪回退調整厚柳,直到網絡輸出滿意為止。就像阿爾法這條笨狗便监,開始怎么訓練都總是找錯橘子碳想,后來就讓它反過來比較,讓它根據每次判斷出的水果與真橘子比較逊移,倒推回去調整每層神經元的參數龙填。可憐我為了買不同的水果給它訓練岩遗,錢包都快癟了,好在阿爾法終于在把我吃到破產前找到了正確的橘子。你看它窘拯,現在有多肥!”
“嗚嗚涤姊。”阿爾法好像聽懂了壁酬,嗚嗚地表示抗議恨课,似乎在說,“我天天吃這么多水果也很郁悶的好嗎希俩?再吃下去纲辽,我要得糖尿病了⊥虾穑”
“嗯,這種算法確實大幅減少了計算量篙议〖可是計算量仍然偏大,而且算法要求提供非常多的訓練數據吩愧≡鱿裕”明斯基一邊思考一邊說。
?“老師真是慧眼如炬啊糖权≌ㄕ荆”先不著痕跡地拍了拍老師的馬屁,辛頓繼續(xù)道:“這也是我的深度學習在最近才有了很大進步的原因旱易。我發(fā)現現在的GPU(圖形處理器)雖然設計是用來進行圖像處理,但是深度學習上使用的效果也非常好如暖。我在阿爾法狗的腦袋里植入了好多塊,你看它是不是聰明了很多酗洒?”
“嗯唔枷遂。”阿爾法也適時地搖了搖腦袋箫老,似乎對自己的聰明頗為自得黔州。
“另外,最近的互聯網發(fā)展非沉髌蓿快,產生了大量的數據涣达,這也給了深度學習巨大的發(fā)展空間证薇。你看,阿爾法這條蠢狗寇窑,也天天趴在電腦面前跟著我上網箩张,最近還經常把我從電腦前擠開,自己看得不亦樂乎饮笛。我那臺破電腦都快被它搞壞了论熙。”辛頓悻悻地說。
阿爾法把頭扭向明斯基二蓝,裝著什么都沒聽到指厌。
“行了踊跟,我總算聽出來了商玫,你也別抱怨阿爾法了∪”明斯基回過味來,笑著說御铃,“費用不夠了就直接跟我說沈矿。我知道你最近搞深度學習很花錢∷ィ回頭就給你增加預算陵像。深度學習是我們連接派的未來,多少錢都是值得的妻怎⊥济常”
故事只是戲說,神經網絡使用的算法思路雖然復雜疏日,但是有很多大公司和組織的開放代碼可用沟优。只是實際操作時,往往需要大量的數據進行訓練挠阁,還要對每層神經元間的參數進行不斷調整,才能得到比較好的結果锨用。這就需要很多的計算資源和人力投入,這正是人工智能在初期很燒錢的重要原因啄巧。
上圖是個典型的四層神經網絡秩仆,上一級神經元的輸出是下一級神經元的輸入猾封,而且信號在相鄰的兩個神經元之間傳播的時候需要乘上這兩個神經元對應的權值。