人工智能的發(fā)展曾經(jīng)經(jīng)歷過(guò)幾次起起伏伏,近來(lái)在深度學(xué)習(xí)技術(shù)的推動(dòng)下又迎來(lái)了一波新的前所未有的高潮。近日,IBM 官網(wǎng)發(fā)表了一篇概述文章,對(duì)人工智能技術(shù)的發(fā)展過(guò)程進(jìn)行了簡(jiǎn)單梳理,同時(shí)還圖文并茂地介紹了感知器、聚類算法、基于規(guī)則的系統(tǒng)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)等技術(shù)的概念和原理。
人類對(duì)如何創(chuàng)造智能機(jī)器的思考從來(lái)沒(méi)有中斷過(guò)。期間,人工智能的發(fā)展起起伏伏,有成功,也有失敗,以及其中暗藏的潛力。今天,有太多的新聞報(bào)道是關(guān)于機(jī)器學(xué)習(xí)算法的應(yīng)用問(wèn)題,從癌癥檢查預(yù)測(cè)到圖像理解、自然語(yǔ)言處理,人工智能正在賦能并改變著這個(gè)世界。
現(xiàn)代人工智能的歷史具備成為一部偉大戲劇的所有元素。在最開(kāi)始的 1950 年代,人工智能的發(fā)展緊緊圍繞著思考機(jī)器和焦點(diǎn)人物比如艾倫·圖靈、馮·諾伊曼,迎來(lái)了其第一次春天。經(jīng)過(guò)數(shù)十年的繁榮與衰敗,以及難以置信的高期望,人工智能及其先驅(qū)們?cè)俅螖y手來(lái)到一個(gè)新境界?,F(xiàn)在,人工智能正展現(xiàn)著其真正的潛力,深度學(xué)習(xí)、認(rèn)知計(jì)算等新技術(shù)不斷涌現(xiàn),且不乏應(yīng)用指向。
本文探討了人工智能及其子領(lǐng)域的一些重要方面。下面就先從人工智能發(fā)展的時(shí)間線開(kāi)始,并逐個(gè)剖析其中的所有元素。
現(xiàn)代人工智能的時(shí)間線
1950 年代初期,人工智能聚焦在所謂的強(qiáng)人工智能,希望機(jī)器可以像人一樣完成任何智力任務(wù)。強(qiáng)人工智能的發(fā)展止步不前,導(dǎo)致了弱人工智能的出現(xiàn),即把人工智能技術(shù)應(yīng)用于更窄領(lǐng)域的問(wèn)題。1980 年代之前,人工智能的研究一直被這兩種范式分割著,兩營(yíng)相對(duì)。但是,1980 年左右,機(jī)器學(xué)習(xí)開(kāi)始成為主流,它的目的是讓計(jì)算機(jī)具備學(xué)習(xí)和構(gòu)建模型的能力,從而它們可在特定領(lǐng)域做出預(yù)測(cè)等行為。
圖 1:現(xiàn)代人工智能發(fā)展的時(shí)間線
在人工智能和機(jī)器學(xué)習(xí)研究的基礎(chǔ)之上,深度學(xué)習(xí)在 2000 年左右應(yīng)運(yùn)而生。計(jì)算機(jī)科學(xué)家在多層神經(jīng)網(wǎng)絡(luò)之中使用了新的拓?fù)鋵W(xué)和學(xué)習(xí)方法。最終,神經(jīng)網(wǎng)絡(luò)的進(jìn)化成功解決了多個(gè)領(lǐng)域的棘手問(wèn)題。
在過(guò)去的十年中,認(rèn)知計(jì)算(Cognitive computing)也出現(xiàn)了,其目標(biāo)是打造可以學(xué)習(xí)并與人類自然交互的系統(tǒng)。通過(guò)成功地?fù)魯?Jeopardy 游戲的世界級(jí)選手,IBM Watson 證明了認(rèn)知計(jì)算的價(jià)值。
在本文中,我將逐一探索上述的所有領(lǐng)域,并對(duì)一些關(guān)鍵算法作出解釋。
基礎(chǔ)性人工智能
1950 年之前的研究提出了大腦是由電脈沖網(wǎng)絡(luò)組成的想法,正是脈沖之間的交互產(chǎn)生了人類思想與意識(shí)。艾倫·圖靈表明一切計(jì)算皆是數(shù)字,那么,打造一臺(tái)能夠模擬人腦的機(jī)器也就并非遙不可及。
上文說(shuō)過(guò),早期的研究很多是強(qiáng)人工智能,但是也提出了一些基本概念,被機(jī)器學(xué)習(xí)和深度學(xué)習(xí)沿用至今。
圖 2:1950 - 1980 年間人工智能方法的時(shí)間線
人工智能搜索引擎
人工智能中的很多問(wèn)題可以通過(guò)強(qiáng)力搜索(brute-force search)得到解決。然而,考慮到中等問(wèn)題的搜索空間,基本搜索很快就受影響。人工智能搜索的最早期例子之一是跳棋程序的開(kāi)發(fā)。亞瑟·塞繆爾(Arthur Samuel)在 IBM 701 電子數(shù)據(jù)處理機(jī)器上打造了第一款跳棋程序,實(shí)現(xiàn)了對(duì)搜索樹(shù)(alpha-beta 剪枝)的優(yōu)化;這個(gè)程序也記錄并獎(jiǎng)勵(lì)具體行動(dòng),允許應(yīng)用學(xué)習(xí)每一個(gè)玩過(guò)的游戲(這是首個(gè)自我學(xué)習(xí)的程序)。為了提升程序的學(xué)習(xí)率,塞繆爾將其編程為自我游戲,以提升其游戲和學(xué)習(xí)的能力。
盡管你可以成功地把搜索應(yīng)用到很多簡(jiǎn)單問(wèn)題上,但是當(dāng)選擇的數(shù)量增加時(shí),這一方法很快就會(huì)失效。以簡(jiǎn)單的一字棋游戲?yàn)槔?,游戲一開(kāi)始,有 9 步可能的走棋,每 1 個(gè)走棋有 8 個(gè)可能的相反走棋,依次類推。一字棋的完整走棋樹(shù)包含 362,880 個(gè)節(jié)點(diǎn)。如果你繼續(xù)將這一想法擴(kuò)展到國(guó)際象棋或者圍棋,很快你就會(huì)發(fā)展搜索的劣勢(shì)。
感知器
感知器是單層神經(jīng)網(wǎng)絡(luò)的一個(gè)早期監(jiān)督學(xué)習(xí)算法。給定一個(gè)輸入特征向量,感知器可對(duì)輸入進(jìn)行具體分類。通過(guò)使用訓(xùn)練集,網(wǎng)絡(luò)的權(quán)重和偏差可為線性分類而更新。感知器的首次實(shí)現(xiàn)是 IBM 704,接著在自定義硬件上用于圖像識(shí)別。
圖 3:感知器與線性分類
作為一個(gè)線性分類器,感知器有能力解決線性分離問(wèn)題。感知器局限性的典型實(shí)例是它無(wú)法學(xué)習(xí)專屬的 OR (XOR) 函數(shù)。多層感知器解決了這一問(wèn)題,并為更復(fù)雜的算法、網(wǎng)絡(luò)拓?fù)鋵W(xué)、深度學(xué)習(xí)奠定了基礎(chǔ)。
聚類算法
使用感知器的方法是有監(jiān)督的。用戶提供數(shù)據(jù)來(lái)訓(xùn)練網(wǎng)絡(luò),然后在新數(shù)據(jù)上對(duì)該網(wǎng)絡(luò)進(jìn)行測(cè)試。聚類算法則是一種無(wú)監(jiān)督學(xué)習(xí)(unsupervised learning)方法。在這種模型中,算法會(huì)根據(jù)數(shù)據(jù)的一個(gè)或多個(gè)屬性將一組特征向量組織成聚類。
圖 4:在一個(gè)二維特征空間中的聚類
你可以使用少量代碼就能實(shí)現(xiàn)的最簡(jiǎn)單的聚類算法是 k-均值(k-means)。其中,k 表示你為樣本分配的聚類的數(shù)量。你可以使用一個(gè)隨機(jī)特征向量來(lái)對(duì)一個(gè)聚類進(jìn)行初始化,然后將其它樣本添加到其最近鄰的聚類(假定每個(gè)樣本都能表示一個(gè)特征向量,并且可以使用 Euclidean distance 來(lái)確定「距離」)。隨著你往一個(gè)聚類添加的樣本越來(lái)越多,其形心(centroid,即聚類的中心)就會(huì)重新計(jì)算。然后該算法會(huì)重新檢查一次樣本,以確保它們都在最近鄰的聚類中,最后直到?jīng)]有樣本需要改變所屬聚類。
盡管 k-均值聚類相對(duì)有效,但你必須事先確定 k 的大小。根據(jù)數(shù)據(jù)的不同,其它方法可能會(huì)更加有效,比如分層聚類(hierarchical clustering)或基于分布的聚類(distribution-based clustering)。
決策樹(shù)
決策樹(shù)和聚類很相近。決策樹(shù)是一種關(guān)于觀察(observation)的預(yù)測(cè)模型,可以得到一些結(jié)論。結(jié)論在決策樹(shù)上被表示成樹(shù)葉,而節(jié)點(diǎn)則是觀察分叉的決策點(diǎn)。決策樹(shù)來(lái)自決策樹(shù)學(xué)習(xí)算法,其中數(shù)據(jù)集會(huì)根據(jù)屬性值測(cè)試(attribute value tests)而被分成不同的子集,這個(gè)分割過(guò)程被稱為遞歸分區(qū)(recursive partitioning)。
考慮下圖中的示例。在這個(gè)數(shù)據(jù)集中,我可以基于三個(gè)因素觀察到某人是否有生產(chǎn)力。使用一個(gè)決策樹(shù)學(xué)習(xí)算法,我可以通過(guò)一個(gè)指標(biāo)來(lái)識(shí)別屬性(其中一個(gè)例子是信息增益)。在這個(gè)例子中,心情(mood)是生產(chǎn)力的主要影響因素,所以我根據(jù) Good Mood 一項(xiàng)是 Yes 或 No 而對(duì)這個(gè)數(shù)據(jù)集進(jìn)行了分割。但是,在 Yes 這邊,還需要我根據(jù)其它兩個(gè)屬性再次對(duì)該數(shù)據(jù)集進(jìn)行切分。表中不同的顏色對(duì)應(yīng)右側(cè)中不同顏色的葉節(jié)點(diǎn)。
圖 5:一個(gè)簡(jiǎn)單的數(shù)據(jù)集及其得到的決策樹(shù)
決策樹(shù)的一個(gè)重要性質(zhì)在于它們的內(nèi)在的組織能力,這能讓你輕松地(圖形化地)解釋你分類一個(gè)項(xiàng)的方式。流行的決策樹(shù)學(xué)習(xí)算法包括 C4.5 以及分類與回歸樹(shù)(Classification and Regression Tree)。
基于規(guī)則的系統(tǒng)
最早的基于規(guī)則和推理的系統(tǒng)是 Dendral,于 1965 年被開(kāi)發(fā)出來(lái),但直到 1970 年代,所謂的專家系統(tǒng)(expert systems)才開(kāi)始大行其道?;谝?guī)則的系統(tǒng)會(huì)同時(shí)存有所需的知識(shí)的規(guī)則,并會(huì)使用一個(gè)推理系統(tǒng)(reasoning system)來(lái)得出結(jié)論。
基于規(guī)則的系統(tǒng)通常由一個(gè)規(guī)則集合、一個(gè)知識(shí)庫(kù)、一個(gè)推理引擎(使用前向或反向規(guī)則鏈)和一個(gè)用戶接口組成。下圖中,我使用了知識(shí)「蘇格拉底是人」、規(guī)則「如果是人,就會(huì)死」以及一個(gè)交互「誰(shuí)會(huì)死?」
圖 6:基于規(guī)則的系統(tǒng)
基于規(guī)則的系統(tǒng)已經(jīng)在語(yǔ)音識(shí)別、規(guī)劃和控制以及疾病識(shí)別等領(lǐng)域得到了應(yīng)用。上世紀(jì) 90 年代人們開(kāi)發(fā)的一個(gè)監(jiān)控和診斷大壩穩(wěn)定性的系統(tǒng) Kaleidos 至今仍在使用。
機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)是人工智能和計(jì)算機(jī)科學(xué)的一個(gè)子領(lǐng)域,也有統(tǒng)計(jì)學(xué)和數(shù)學(xué)優(yōu)化方面的根基。機(jī)器學(xué)習(xí)涵蓋了有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)領(lǐng)域的技術(shù),可用于預(yù)測(cè)、分析和數(shù)據(jù)挖掘。機(jī)器學(xué)習(xí)不限于深度學(xué)習(xí)這一種。但在這一節(jié),我會(huì)介紹幾種使得深度學(xué)習(xí)變得如此高效的算法。
圖 7:機(jī)器學(xué)習(xí)方法的時(shí)間線
反向傳播
神經(jīng)網(wǎng)絡(luò)的強(qiáng)大力量源于其多層的結(jié)構(gòu)。單層感知器的訓(xùn)練是很直接的,但得到的網(wǎng)絡(luò)并不強(qiáng)大。那問(wèn)題就來(lái)了:我們?nèi)绾斡?xùn)練多層網(wǎng)絡(luò)呢?這就是反向傳播的用武之地。
反向傳播是一種用于訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)的算法。它的工作過(guò)程分為兩個(gè)階段。第一階段是將輸入傳播通過(guò)整個(gè)神經(jīng)網(wǎng)絡(luò)直到最后一層(稱為前饋)。第二階段,該算法會(huì)計(jì)算一個(gè)誤差,然后從最后一層到第一層反向傳播該誤差(調(diào)整權(quán)重)。
圖 8:反向傳播示意圖
在訓(xùn)練過(guò)程中,該網(wǎng)絡(luò)的中間層會(huì)自己進(jìn)行組織,將輸入空間的部分映射到輸出空間。反向傳播,使用監(jiān)督學(xué)習(xí),可以識(shí)別出輸入到輸出映射的誤差,然后可以據(jù)此調(diào)整權(quán)重(使用一個(gè)學(xué)習(xí)率)來(lái)矯正這個(gè)誤差。反向傳播現(xiàn)在仍然是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的一個(gè)重要方面。隨著計(jì)算資源越來(lái)越快、越來(lái)越便宜,它還將繼續(xù)在更大和更密集的網(wǎng)絡(luò)中得到應(yīng)用。
卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是受動(dòng)物視覺(jué)皮層啟發(fā)的多層神經(jīng)網(wǎng)絡(luò)。這種架構(gòu)在包括圖像處理的很多應(yīng)用中都有用。第一個(gè) CNN 是由 Yann LeCun 創(chuàng)建的,當(dāng)時(shí) CNN 架構(gòu)主要用于手寫字符識(shí)別任務(wù),例如讀取郵政編碼。
LeNet CNN 由好幾層能夠分別實(shí)現(xiàn)特征提取和分類的神經(jīng)網(wǎng)絡(luò)組成。圖像被分為多個(gè)可以被接受的區(qū)域,這些子區(qū)域進(jìn)入到一個(gè)能夠從輸入圖像提取特征的卷積層。下一步就是池化,這個(gè)過(guò)程降低了卷積層提取到的特征的維度(通過(guò)下采樣的方法),同時(shí)保留了最重要的信息(通常通過(guò)最大池化的方法)。然后這個(gè)算法又執(zhí)行另一次卷積和池化,池化之后便進(jìn)入一個(gè)全連接的多層感知器。卷積神經(jīng)網(wǎng)絡(luò)的最終輸出是一組能夠識(shí)別圖像特征的節(jié)點(diǎn)(在這個(gè)例子中,每個(gè)被識(shí)別的數(shù)字都是一個(gè)節(jié)點(diǎn))。使用者可以通過(guò)反向傳播的方法來(lái)訓(xùn)練網(wǎng)絡(luò)。
圖 9.LeNet 卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)
對(duì)深層處理、卷積、池化以及全連接分類層的使用打開(kāi)了神經(jīng)網(wǎng)絡(luò)的各種新型應(yīng)用的大門。除了圖像處理之外,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被成功地應(yīng)用在了視頻識(shí)別以及自然語(yǔ)言處理等多種任務(wù)中。卷積神經(jīng)網(wǎng)絡(luò)也已經(jīng)在 GPU 上被有效地實(shí)現(xiàn),這極大地提升了卷積神經(jīng)網(wǎng)絡(luò)的性能。
長(zhǎng)短期記憶(LSTM)
記得前面反向傳播中的討論嗎?網(wǎng)絡(luò)是前饋式的訓(xùn)練的。在這種架構(gòu)中,我們將輸入送到網(wǎng)絡(luò)并且通過(guò)隱藏層將它們向前傳播到輸出層。但是,還存在其他的拓?fù)浣Y(jié)構(gòu)。我在這里要研究的一個(gè)架構(gòu)允許節(jié)點(diǎn)之間形成直接的回路。這些神經(jīng)網(wǎng)絡(luò)被稱為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它們可以向前面的層或者同一層的后續(xù)節(jié)點(diǎn)饋送內(nèi)容。這一特性使得這些網(wǎng)絡(luò)對(duì)時(shí)序數(shù)據(jù)而言是理想化的。
在 1997 年,一種叫做長(zhǎng)短期記憶(LSTM)的特殊的循環(huán)網(wǎng)絡(luò)被發(fā)明了。LSTM 包含網(wǎng)絡(luò)中能夠長(zhǎng)時(shí)間或者短時(shí)間記憶數(shù)值的記憶單元。
圖 10. 長(zhǎng)短期記憶網(wǎng)絡(luò)和記憶單元
記憶單元包含了能夠控制信息流入或者流出該單元的一些門。輸入門(input gate)控制什么時(shí)候新的信息可以流入記憶單元。遺忘門(forget gate)控制一段信息在記憶單元中存留的時(shí)間。最后,輸出門(output gate)控制輸出何時(shí)使用記憶單元中包含的信息。記憶單元還包括控制每一個(gè)門的權(quán)重。訓(xùn)練算法(通常是通過(guò)時(shí)間的反向傳播(backpropagation-through-time),反向傳播算法的一種變體)基于所得到的誤差來(lái)優(yōu)化這些權(quán)重。
LSTM 已經(jīng)被應(yīng)用在語(yǔ)音識(shí)別、手寫識(shí)別、語(yǔ)音合成、圖像描述等各種任務(wù)中。下面我還會(huì)談到 LSTM。
深度學(xué)習(xí)
深度學(xué)習(xí)是一組相對(duì)新穎的方法集合,它們從根本上改變了機(jī)器學(xué)習(xí)。深度學(xué)習(xí)本身不是一種算法,但是它是一系列可以用無(wú)監(jiān)督學(xué)習(xí)實(shí)現(xiàn)深度網(wǎng)絡(luò)的算法。這些網(wǎng)絡(luò)是非常深層的,所以需要新的計(jì)算方法來(lái)構(gòu)建它們,例如 GPU,除此之外還有計(jì)算機(jī)集群。
本文目前已經(jīng)介紹了兩種深度學(xué)習(xí)的算法:卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短期記憶網(wǎng)絡(luò)。這些算法已經(jīng)被結(jié)合起來(lái)實(shí)現(xiàn)了一些令人驚訝的智能任務(wù)。如下圖所示,卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短期記憶已經(jīng)被用來(lái)識(shí)別并用自然語(yǔ)言描述圖片或者視頻中的物體。
圖 11. 結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短期記憶來(lái)進(jìn)行圖像描述
深度學(xué)習(xí)算法也已經(jīng)被用在了人臉識(shí)別中,也能夠以 96% 的準(zhǔn)確率來(lái)識(shí)別結(jié)核病,還被用在自動(dòng)駕駛和其他復(fù)雜的問(wèn)題中。
然而,盡管運(yùn)用深度學(xué)習(xí)算法有著很多結(jié)果,但是仍然存在問(wèn)題需要我們?nèi)ソ鉀Q。一個(gè)最近的將深度學(xué)習(xí)用于皮膚癌檢測(cè)的應(yīng)用發(fā)現(xiàn),這個(gè)算法比經(jīng)過(guò)認(rèn)證的皮膚科醫(yī)生具有更高的準(zhǔn)確率。但是,醫(yī)生可以列舉出導(dǎo)致其診斷結(jié)果的因素,卻沒(méi)有辦法知道深度學(xué)習(xí)程序在分類的時(shí)候所用的因素。這被稱為深度學(xué)習(xí)的黑箱問(wèn)題。
另一個(gè)被稱為 Deep Patient 的應(yīng)用,在提供病人的病例時(shí)能夠成功地預(yù)測(cè)疾病。該應(yīng)用被證明在疾病預(yù)測(cè)方面比醫(yī)生還做得好——即使是眾所周知的難以預(yù)測(cè)的精神分裂癥。所以,即便模型效果良好,也沒(méi)人能夠深入到這些大型神經(jīng)網(wǎng)絡(luò)去找到原因。
認(rèn)知計(jì)算
人工智能和機(jī)器學(xué)習(xí)充滿了生物啟示的案例。盡管早期的人工智能專注于建立模仿人腦的機(jī)器這一宏偉目標(biāo),而現(xiàn)在,是認(rèn)知計(jì)算正在朝著這個(gè)目標(biāo)邁進(jìn)。
認(rèn)知計(jì)算建立在神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)之上,運(yùn)用認(rèn)知科學(xué)中的知識(shí)來(lái)構(gòu)建能夠模擬人類思維過(guò)程的系統(tǒng)。然而,認(rèn)知計(jì)算覆蓋了好多學(xué)科,例如機(jī)器學(xué)習(xí)、自然語(yǔ)言處理、視覺(jué)以及人機(jī)交互,而不僅僅是聚焦于某個(gè)單獨(dú)的技術(shù)。
認(rèn)知學(xué)習(xí)的一個(gè)例子就是 IBM 的 Waston,它在 Jeopardy 上展示了當(dāng)時(shí)最先進(jìn)的問(wèn)答交互。IBM 已經(jīng)將其擴(kuò)展在了一系列的 web 服務(wù)上了。這些服務(wù)提供了用于一些列應(yīng)用的編程接口來(lái)構(gòu)建強(qiáng)大的虛擬代理,這些接口有:視覺(jué)識(shí)別、語(yǔ)音文本轉(zhuǎn)換(語(yǔ)音識(shí)別)、文本語(yǔ)音轉(zhuǎn)換(語(yǔ)音合成)、語(yǔ)言理解和翻譯、以及對(duì)話引擎。
繼續(xù)前進(jìn)
本文僅僅涵蓋了關(guān)于人工智能歷史以及最新的神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)方法的一小部分。盡管人工智能和機(jī)器學(xué)習(xí)經(jīng)歷了很多起起伏伏,但是像深度學(xué)習(xí)和認(rèn)知計(jì)算這樣的新方法已經(jīng)明顯地提升了這些學(xué)科的水平。雖然可能還無(wú)法實(shí)現(xiàn)一個(gè)具有意識(shí)的機(jī)器,但是今天確實(shí)有著能夠改善人類生活的人工智能系統(tǒng)。
-
AI
+關(guān)注
關(guān)注
87文章
29819瀏覽量
268111 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8353瀏覽量
132315
原文標(biāo)題:深度 | IBM長(zhǎng)文解讀人工智能、機(jī)器學(xué)習(xí)和認(rèn)知計(jì)算
文章出處:【微信號(hào):AItists,微信公眾號(hào):人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論