早些時(shí)候,當(dāng)谷歌 DeepMind 團(tuán)隊(duì)的 AlphaGo 打敗了李世石時(shí),媒體就用人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)這三個(gè)術(shù)語(yǔ)來(lái)描述 DeepMind 是如何取得勝利的。這三個(gè)名詞都是 AlphaGo 大勝李世石的原因中的一部分,但是它們并不相同。下面我們就來(lái)解釋一下。
理解三者之間關(guān)系的最簡(jiǎn)便方法就是將它們視覺(jué)化為一組同心圓——首先是最大的部分人工智能——然后是后來(lái)興旺的機(jī)器學(xué)習(xí)——最后是促使當(dāng)下人工智能大爆發(fā)的深度學(xué)習(xí)——在最里層。
從蕭條到繁榮
自從 1956 年幾個(gè)計(jì)算機(jī)科學(xué)家在達(dá)特茅斯會(huì)議上聚集并開(kāi)辟了人工智能這一領(lǐng)域,人工智能就進(jìn)入了我們的想象,并在實(shí)驗(yàn)研究中進(jìn)行著醞釀。在過(guò)去的幾十年里,人工智能以及輪番被譽(yù)為人類文明取得最美好未來(lái)的關(guān)鍵,或者是作為一個(gè)頭腦發(fā)燒的輕率概念被扔進(jìn)了科技垃圾堆中。坦白說(shuō)直到 2012 年,它就這樣在二者之間交雜。
過(guò)去的幾年里,尤其從 2015 年開(kāi)始,人工智能開(kāi)始爆發(fā)了。這很大程度上與 GPU 的廣泛應(yīng)用有關(guān),為了使并行處理更快、更便宜、更強(qiáng)大。這也與近乎無(wú)限的存儲(chǔ)能力和各類數(shù)據(jù)洪流(所有的大數(shù)據(jù)運(yùn)動(dòng))——圖像、文本、交易、測(cè)繪數(shù)據(jù),只要你說(shuō)得出來(lái)——一道進(jìn)行。
讓我們梳理一遍計(jì)算機(jī)科學(xué)家是如何從蕭條——直到 2012 年——到繁榮,開(kāi)發(fā)出每天由成千上百萬(wàn)的人使用的應(yīng)用。
人工智能——機(jī)器詮釋的人類智能
King me:下西洋跳棋的計(jì)算機(jī)程序是上世紀(jì) 50 年代造成過(guò)一陣轟動(dòng)的一些早期人工智能案例
回到 1956 年夏天的那場(chǎng)會(huì)議,人工智能先驅(qū)們的夢(mèng)想是借由新興計(jì)算機(jī)構(gòu)建具有人類智力特征的復(fù)雜機(jī)器。這就是所謂的「通用人工智能(General AI)」的概念——擁有人類的所有感覺(jué)(甚至可能更多)、所有理智,像人類一樣思考的神奇機(jī)器。
你已經(jīng)在電影中無(wú)休止地看到過(guò)這些被我們當(dāng)做朋友的機(jī)器,比如《星球大戰(zhàn)》中的 C-3PO 以及成為人類敵人的機(jī)器——終結(jié)者。通用人工智能機(jī)器向來(lái)有充足的理由出現(xiàn)在電影和科幻小說(shuō)中;我們不能阻止,至少現(xiàn)在還不行。
我們能做什么?這就到了「狹義人工智能(Narrow AI)」的概念。指的是能夠?qū)⑻厥馊蝿?wù)處理得同人類一樣好,或者更好的技術(shù)。狹義人工智能的相關(guān)案例比如有 Pinterest 上的圖像分類、Facebook 中的人臉識(shí)別。
這些是狹義人工智能在實(shí)踐中的例子。這些技術(shù)展示了人類智能的一些方面。但是如何做到的呢?那個(gè)智能來(lái)自哪里?所以接下來(lái)看第二個(gè)同心圓,機(jī)器學(xué)習(xí)。
機(jī)器學(xué)習(xí)——實(shí)現(xiàn)人工智能的一種方式
Spam free diet:機(jī)器學(xué)習(xí)幫你清理收件箱中的(大部分)垃圾郵件。
機(jī)器學(xué)習(xí)最基礎(chǔ)的是運(yùn)用算法來(lái)分析數(shù)據(jù)、從中學(xué)習(xí)、測(cè)定或預(yù)測(cè)現(xiàn)實(shí)世界某些事。所以不是手動(dòng)編碼帶有特定指令設(shè)定的軟件程序來(lái)完成某個(gè)特殊任務(wù),而是使用大量的數(shù)據(jù)和算法來(lái)「訓(xùn)練」機(jī)器,賦予它學(xué)習(xí)如何執(zhí)行任務(wù)的能力。
機(jī)器學(xué)習(xí)直接源自早期那幫人工智能群體,演化多年的算法包括了決策樹(shù)學(xué)習(xí)(decision tree learning)、歸納邏輯編程(inductive logic programming)。其他的也有聚類(clustering)、強(qiáng)化學(xué)習(xí)(reinforcement learning)和貝葉斯網(wǎng)絡(luò)(Bayesian networks)等。我們知道,這些早期機(jī)器學(xué)習(xí)方法都沒(méi)有實(shí)現(xiàn)通用人工智能的最終目標(biāo),甚至沒(méi)有實(shí)現(xiàn)狹義人工智能的一小部分目標(biāo)。
事實(shí)證明,多年來(lái)機(jī)器學(xué)習(xí)的最佳應(yīng)用領(lǐng)域之一是計(jì)算機(jī)視覺(jué),盡管它仍然需要大量的手工編碼來(lái)完成工作。人們會(huì)去寫(xiě)一些手寫(xiě)分類器,像是邊緣檢測(cè)過(guò)濾器(edge detection filters)使得程序可以識(shí)別對(duì)象的啟止位置;形狀檢測(cè)(shape detection)以確定它是否有八條邊;一個(gè)用來(lái)識(shí)別單詞「S-T-O-P」的分類器。從這些手寫(xiě)分類器中他們開(kāi)發(fā)出能夠理解圖像的算法,「學(xué)習(xí)」判定它是否是一個(gè)停止標(biāo)志。
這很好,但還不夠好。特別是有霧天氣標(biāo)志不完全可見(jiàn)的情況下,或者被樹(shù)遮住了一部分。計(jì)算機(jī)視覺(jué)和圖像檢測(cè)直到目前都不能與人類相媲美,是因?yàn)樗^(guò)脆弱,太容易出錯(cuò)了。
是時(shí)間和正確的學(xué)習(xí)算法改變了這一切。
深度學(xué)習(xí)——一種實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)
Herding cats:從 YouTube 視頻中挑選貓咪圖片,是深度學(xué)習(xí)的第一次突破性表現(xiàn)之一
源自最早進(jìn)行機(jī)器學(xué)習(xí)那群人的另一種算法是人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks),它已有幾十年的歷史。神經(jīng)網(wǎng)絡(luò)的靈感來(lái)自于我們對(duì)大腦生物學(xué)的理解——所有神經(jīng)元之間的相互連接。但是不像生物大腦中的任何神經(jīng)元,可以在一定的物理距離內(nèi)連接到任何其他神經(jīng)元,這些人工神經(jīng)網(wǎng)絡(luò)的層、連接和數(shù)據(jù)傳播方向是離散的。
比如你可以把一個(gè)圖像切成一堆碎片并輸入到神經(jīng)網(wǎng)絡(luò)的第一層中。然后第一層的單個(gè)神經(jīng)元們將數(shù)據(jù)傳遞給第二層。第二層神經(jīng)元將數(shù)據(jù)傳給第三層,如此一直傳到最后一層并輸出最終結(jié)果。
每個(gè)神經(jīng)元分配一個(gè)權(quán)重到它的輸入——評(píng)估所執(zhí)行的任務(wù)的準(zhǔn)確或不準(zhǔn)確。然后最終的輸出由所有這些權(quán)重來(lái)確定。所以想想那個(gè)停止標(biāo)志的例子。一個(gè)停止標(biāo)志圖像的特征被切碎并由神經(jīng)元來(lái)「檢查」——它的形狀、它的消防紅色彩、它的獨(dú)特字母、它的交通標(biāo)志尺寸以及和它的運(yùn)動(dòng)或由此帶來(lái)的缺失。神經(jīng)網(wǎng)絡(luò)的任務(wù)是判定它是否為一個(gè)停止標(biāo)志。這提出了一個(gè)「概率向量」,它真是一個(gè)基于權(quán)重的高度受訓(xùn)的猜測(cè)。在我們的例子中,系統(tǒng)可能有 86% 的把握認(rèn)為圖像是一個(gè)停止標(biāo)志,7% 的把握認(rèn)為這是一個(gè)限速標(biāo)志,5% 的把握認(rèn)為這是一只被卡在樹(shù)上的風(fēng)箏,等等——然后網(wǎng)絡(luò)架構(gòu)告訴神經(jīng)網(wǎng)絡(luò)結(jié)果的正確與否。
甚至這個(gè)例子都有些超前了,因?yàn)橹钡浆F(xiàn)在,神經(jīng)網(wǎng)絡(luò)都被人工智能研究社區(qū)避開(kāi)了。自從最早的人工智能起,他們一直在做這方面研究,而「智能」成果收效甚微。問(wèn)題很簡(jiǎn)單,即最基本的神經(jīng)網(wǎng)絡(luò)屬于計(jì)算密集型,這并不是一個(gè)實(shí)用的方法。不過(guò),由多倫多大學(xué)的 Geoffrey Hinton 帶領(lǐng)的異端研究小組一直在繼續(xù)相關(guān)研究工作,最終在超級(jí)計(jì)算機(jī)上運(yùn)行并行算法證明了這個(gè)概念,但這是直到 GPU 被部署之后才兌現(xiàn)的諾言。
如果我們?cè)倩氐酵V箻?biāo)志的例子,當(dāng)網(wǎng)絡(luò)正在進(jìn)行調(diào)整或者「訓(xùn)練」時(shí),出現(xiàn)大量的錯(cuò)誤答案,這個(gè)機(jī)會(huì)是非常好的。它需要的就是訓(xùn)練。它需要看到成千上萬(wàn),甚至數(shù)以百萬(wàn)計(jì)的圖像,直到神經(jīng)元的輸入權(quán)重被精確調(diào)整,從而幾乎每一次都能得到正確答案——無(wú)論有霧沒(méi)霧,晴天還是雨天。在這一點(diǎn)上,神經(jīng)網(wǎng)絡(luò)已經(jīng)教會(huì)了自己停止標(biāo)志看起來(lái)會(huì)是什么樣的;或者在 Facebook 例子中就是識(shí)別媽媽的臉;或者吳恩達(dá) 2012 年在谷歌所做的貓的圖片。
吳恩達(dá)的突破在于從根本上使用這些神經(jīng)網(wǎng)絡(luò) 并將它們變得龐大,增加了層數(shù)和神經(jīng)元的數(shù)量,然后通過(guò)系統(tǒng)運(yùn)行大量的數(shù)據(jù)來(lái)訓(xùn)練它。吳恩達(dá)使用了 1000 萬(wàn)個(gè) YouTube 視頻的圖像。他將「深度」運(yùn)用在深度學(xué)習(xí)中,這就描述了這些神經(jīng)網(wǎng)絡(luò)的所有層。
如今,在一些場(chǎng)景中通過(guò)深度學(xué)習(xí)訓(xùn)練機(jī)器識(shí)別圖像,做得比人類好,從識(shí)別貓咪到確定血液中的癌癥指標(biāo)和磁共振成像掃描中的腫瘤指標(biāo)。谷歌的 AlphaGo 學(xué)會(huì)了游戲,并被訓(xùn)練用于 Go 比賽。通過(guò)反復(fù)與自己對(duì)抗來(lái)調(diào)整自己的神經(jīng)網(wǎng)絡(luò)。
感謝深度學(xué)習(xí),讓人工智能有一個(gè)光明的未來(lái)。
深度學(xué)習(xí) 已經(jīng)實(shí)現(xiàn)了許多機(jī)器學(xué)習(xí)方面的實(shí)際應(yīng)用和人工智能領(lǐng)域的全面推廣。深度學(xué)習(xí)解決了許多任務(wù)讓各種機(jī)器助手看起來(lái)有可能實(shí)現(xiàn)。無(wú)人駕駛機(jī)車、更好的預(yù)防醫(yī)療,甚至是更好的電影推薦,如今都已實(shí)現(xiàn)或即將實(shí)現(xiàn)。人工智能在當(dāng)下和未來(lái)。有了深度學(xué)習(xí),人工智能甚至可以達(dá)到我們長(zhǎng)期所想象的科幻小說(shuō)中呈現(xiàn)的狀態(tài)。我拿走你的 C-3PO,你可以留著終結(jié)者。