人工智能和大數(shù)據(jù)

機(jī)氣林商城智能科技2019提供自動化零件,工控產(chǎn)品,工業(yè)機(jī)器人,以及機(jī)器人零部件。

  機(jī)氣林電商有話說:

人工智能的發(fā)展曾經(jīng)經(jīng)歷過幾次起起伏伏,近來在深度學(xué)習(xí)技術(shù)的推動下又迎來了一波新的前所未有的高潮。近日,IBM 官網(wǎng)發(fā)表了一篇概述文章,對人工智能技術(shù)的發(fā)展過程進(jìn)行了簡單梳理,同時還圖文并茂地介紹了感知器、聚類算法、基于規(guī)則的系統(tǒng)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)等技術(shù)的概念和原理。

 

人類對如何創(chuàng)造智能機(jī)器的思考從來沒有中斷過。期間,人工智能的發(fā)展起起伏伏,有成功,也有失敗,以及其中暗藏的潛力。今天,有太多的新聞報道是關(guān)于機(jī)器學(xué)習(xí)算法的應(yīng)用問題,從癌癥檢查預(yù)測到圖像理解、自然語言處理,人工智能正在賦能并改變著這個世界。

 

現(xiàn)代人工智能的歷史具備成為一部偉大戲劇的所有元素。在最開始的 1950 年代,人工智能的發(fā)展緊緊圍繞著思考機(jī)器和焦點(diǎn)人物比如艾倫·圖靈、馮·諾伊曼,迎來了其第一次春天。經(jīng)過數(shù)十年的繁榮與衰敗,以及難以置信的高期望,人工智能及其先驅(qū)們再次攜手來到一個新境界?,F(xiàn)在,人工智能正展現(xiàn)著其真正的潛力,深度學(xué)習(xí)、認(rèn)知計(jì)算等新技術(shù)不斷涌現(xiàn),且不乏應(yīng)用指向。

 

本文探討了人工智能及其子領(lǐng)域的一些重要方面。下面就先從人工智能發(fā)展的時間線開始,并逐個剖析其中的所有元素。

 

現(xiàn)代人工智能的時間線

 

1950 年代初期,人工智能聚焦在所謂的強(qiáng)人工智能,希望機(jī)器可以像人一樣完成任何智力任務(wù)。強(qiáng)人工智能的發(fā)展止步不前,導(dǎo)致了弱人工智能的出現(xiàn),即把人工智能技術(shù)應(yīng)用于更窄領(lǐng)域的問題。1980 年代之前,人工智能的研究一直被這兩種范式分割著,兩營相對。但是,1980 年左右,機(jī)器學(xué)習(xí)開始成為主流,它的目的是讓計(jì)算機(jī)具備學(xué)習(xí)和構(gòu)建模型的能力,從而它們可在特定領(lǐng)域做出預(yù)測等行為。

 

 

 

 1:現(xiàn)代人工智能發(fā)展的時間線

 

在人工智能和機(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)化成功解決了多個領(lǐng)域的棘手問題。

 

在過去的十年中,認(rèn)知計(jì)算(Cognitive computing)也出現(xiàn)了,其目標(biāo)是打造可以學(xué)習(xí)并與人類自然交互的系統(tǒng)。通過成功地?fù)魯?Jeopardy 游戲的世界級選手,IBM Watson 證明了認(rèn)知計(jì)算的價值。

 

在本文中,我將逐一探索上述的所有領(lǐng)域,并對一些關(guān)鍵算法作出解釋。

 

基礎(chǔ)性人工智能

 

1950 年之前的研究提出了大腦是由電脈沖網(wǎng)絡(luò)組成的想法,正是脈沖之間的交互產(chǎn)生了人類思想與意識。艾倫·圖靈表明一切計(jì)算皆是數(shù)字,那么,打造一臺能夠模擬人腦的機(jī)器也就并非遙不可及。

 

上文說過,早期的研究很多是強(qiáng)人工智能,但是也提出了一些基本概念,被機(jī)器學(xué)習(xí)和深度學(xué)習(xí)沿用至今。

 

 

 

 2:1950 - 1980 年間人工智能方法的時間線

 

人工智能搜索引擎

 

人工智能中的很多問題可以通過強(qiáng)力搜索(brute-force search)得到解決。然而,考慮到中等問題的搜索空間,基本搜索很快就受影響。人工智能搜索的最早期例子之一是跳棋程序的開發(fā)。亞瑟·塞繆爾(Arthur Samuel)在 IBM 701 電子數(shù)據(jù)處理機(jī)器上打造了第一款跳棋程序,實(shí)現(xiàn)了對搜索樹(alpha-beta 剪枝)的優(yōu)化;這個程序也記錄并獎勵具體行動,允許應(yīng)用學(xué)習(xí)每一個玩過的游戲(這是首個自我學(xué)習(xí)的程序)。為了提升程序的學(xué)習(xí)率,塞繆爾將其編程為自我游戲,以提升其游戲和學(xué)習(xí)的能力。

 

盡管你可以成功地把搜索應(yīng)用到很多簡單問題上,但是當(dāng)選擇的數(shù)量增加時,這一方法很快就會失效。以簡單的一字棋游戲?yàn)槔?,游戲一開始,有 9 步可能的走棋,每 1 個走棋有 8 個可能的相反走棋,依次類推。一字棋的完整走棋樹包含 362,880 個節(jié)點(diǎn)。如果你繼續(xù)將這一想法擴(kuò)展到國際象棋或者圍棋,很快你就會發(fā)展搜索的劣勢。

 

感知器

 

感知器是單層神經(jīng)網(wǎng)絡(luò)的一個早期監(jiān)督學(xué)習(xí)算法。給定一個輸入特征向量,感知器可對輸入進(jìn)行具體分類。通過使用訓(xùn)練集,網(wǎng)絡(luò)的權(quán)重和偏差可為線性分類而更新。感知器的首次實(shí)現(xiàn)是 IBM 704,接著在自定義硬件上用于圖像識別。

 

 

 

 3:感知器與線性分類

 

作為一個線性分類器,感知器有能力解決線性分離問題。感知器局限性的典型實(shí)例是它無法學(xué)習(xí)專屬的 OR (XOR) 函數(shù)。多層感知器解決了這一問題,并為更復(fù)雜的算法、網(wǎng)絡(luò)拓?fù)鋵W(xué)、深度學(xué)習(xí)奠定了基礎(chǔ)。

 

聚類算法

 

使用感知器的方法是有監(jiān)督的。用戶提供數(shù)據(jù)來訓(xùn)練網(wǎng)絡(luò),然后在新數(shù)據(jù)上對該網(wǎng)絡(luò)進(jìn)行測試。聚類算法則是一種無監(jiān)督學(xué)習(xí)(unsupervised learning)方法。在這種模型中,算法會根據(jù)數(shù)據(jù)的一個或多個屬性將一組特征向量組織成聚類。

 

 

 

 4:在一個二維特征空間中的聚類

 

你可以使用少量代碼就能實(shí)現(xiàn)的最簡單的聚類算法是 k-均值(k-means)。其中,k 表示你為樣本分配的聚類的數(shù)量。你可以使用一個隨機(jī)特征向量來對一個聚類進(jìn)行初始化,然后將其它樣本添加到其最近鄰的聚類(假定每個樣本都能表示一個特征向量,并且可以使用 Euclidean distance 來確定「距離」)。隨著你往一個聚類添加的樣本越來越多,其形心(centroid,即聚類的中心)就會重新計(jì)算。然后該算法會重新檢查一次樣本,以確保它們都在最近鄰的聚類中,最后直到?jīng)]有樣本需要改變所屬聚類。

 

盡管 k-均值聚類相對有效,但你必須事先確定 k 的大小。根據(jù)數(shù)據(jù)的不同,其它方法可能會更加有效,比如分層聚類(hierarchical clustering)或基于分布的聚類(distribution-based clustering)。

 

決策樹

 

決策樹和聚類很相近。決策樹是一種關(guān)于觀察(observation)的預(yù)測模型,可以得到一些結(jié)論。結(jié)論在決策樹上被表示成樹葉,而節(jié)點(diǎn)則是觀察分叉的決策點(diǎn)。決策樹來自決策樹學(xué)習(xí)算法,其中數(shù)據(jù)集會根據(jù)屬性值測試(attribute value tests)而被分成不同的子集,這個分割過程被稱為遞歸分區(qū)(recursive partitioning)。

 

考慮下圖中的示例。在這個數(shù)據(jù)集中,我可以基于三個因素觀察到某人是否有生產(chǎn)力。使用一個決策樹學(xué)習(xí)算法,我可以通過一個指標(biāo)來識別屬性(其中一個例子是信息增益)。在這個例子中,心情(mood)是生產(chǎn)力的主要影響因素,所以我根據(jù) Good Mood 一項(xiàng)是 Yes 或 No 而對這個數(shù)據(jù)集進(jìn)行了分割。但是,在 Yes 這邊,還需要我根據(jù)其它兩個屬性再次對該數(shù)據(jù)集進(jìn)行切分。表中不同的顏色對應(yīng)右側(cè)中不同顏色的葉節(jié)點(diǎn)。

 

 

 

 5:一個簡單的數(shù)據(jù)集及其得到的決策樹

 

決策樹的一個重要性質(zhì)在于它們的內(nèi)在的組織能力,這能讓你輕松地(圖形化地)解釋你分類一個項(xiàng)的方式。流行的決策樹學(xué)習(xí)算法包括 C4.5 以及分類與回歸樹(Classification and Regression Tree)。

 

基于規(guī)則的系統(tǒng)

 

最早的基于規(guī)則和推理的系統(tǒng)是 Dendral,于 1965 年被開發(fā)出來,但直到 1970 年代,所謂的專家系統(tǒng)(expert systems)才開始大行其道。基于規(guī)則的系統(tǒng)會同時存有所需的知識的規(guī)則,并會使用一個推理系統(tǒng)(reasoning system)來得出結(jié)論。

 

基于規(guī)則的系統(tǒng)通常由一個規(guī)則集合、一個知識庫、一個推理引擎(使用前向或反向規(guī)則鏈)和一個用戶接口組成。下圖中,我使用了知識「蘇格拉底是人」、規(guī)則「如果是人,就會死」以及一個交互「誰會死?」

 

 

 

 6:基于規(guī)則的系統(tǒng)

 

基于規(guī)則的系統(tǒng)已經(jīng)在語音識別、規(guī)劃和控制以及疾病識別等領(lǐng)域得到了應(yīng)用。上世紀(jì) 90 年代人們開發(fā)的一個監(jiān)控和診斷大壩穩(wěn)定性的系統(tǒng) Kaleidos 至今仍在使用。

 

機(jī)器學(xué)習(xí)

 

機(jī)器學(xué)習(xí)是人工智能和計(jì)算機(jī)科學(xué)的一個子領(lǐng)域,也有統(tǒng)計(jì)學(xué)和數(shù)學(xué)優(yōu)化方面的根基。機(jī)器學(xué)習(xí)涵蓋了有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)領(lǐng)域的技術(shù),可用于預(yù)測、分析和數(shù)據(jù)挖掘。機(jī)器學(xué)習(xí)不限于深度學(xué)習(xí)這一種。但在這一節(jié),我會介紹幾種使得深度學(xué)習(xí)變得如此高效的算法。

 

 

 

 7:機(jī)器學(xué)習(xí)方法的時間線

 

反向傳播

 

神經(jīng)網(wǎng)絡(luò)的強(qiáng)大力量源于其多層的結(jié)構(gòu)。單層感知器的訓(xùn)練是很直接的,但得到的網(wǎng)絡(luò)并不強(qiáng)大。那問題就來了:我們?nèi)绾斡?xùn)練多層網(wǎng)絡(luò)呢?這就是反向傳播的用武之地。

 

反向傳播是一種用于訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)的算法。它的工作過程分為兩個階段。第一階段是將輸入傳播通過整個神經(jīng)網(wǎng)絡(luò)直到最后一層(稱為前饋)。第二階段,該算法會計(jì)算一個誤差,然后從最后一層到第一層反向傳播該誤差(調(diào)整權(quán)重)。

 

 

 

 8:反向傳播示意圖

 

在訓(xùn)練過程中,該網(wǎng)絡(luò)的中間層會自己進(jìn)行組織,將輸入空間的部分映射到輸出空間。反向傳播,使用監(jiān)督學(xué)習(xí),可以識別出輸入到輸出映射的誤差,然后可以據(jù)此調(diào)整權(quán)重(使用一個學(xué)習(xí)率)來矯正這個誤差。反向傳播現(xiàn)在仍然是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的一個重要方面。隨著計(jì)算資源越來越快、越來越便宜,它還將繼續(xù)在更大和更密集的網(wǎng)絡(luò)中得到應(yīng)用。

 

卷積神經(jīng)網(wǎng)絡(luò)

 

卷積神經(jīng)網(wǎng)絡(luò)(CNN)是受動物視覺皮層啟發(fā)的多層神經(jīng)網(wǎng)絡(luò)。這種架構(gòu)在包括圖像處理的很多應(yīng)用中都有用。第一個 CNN 是由 Yann LeCun 創(chuàng)建的,當(dāng)時 CNN 架構(gòu)主要用于手寫字符識別任務(wù),例如讀取郵政編碼。

 

LeNet CNN 由好幾層能夠分別實(shí)現(xiàn)特征提取和分類的神經(jīng)網(wǎng)絡(luò)組成。圖像被分為多個可以被接受的區(qū)域,這些子區(qū)域進(jìn)入到一個能夠從輸入圖像提取特征的卷積層。下一步就是池化,這個過程降低了卷積層提取到的特征的維度(通過下采樣的方法),同時保留了最重要的信息(通常通過最大池化的方法)。然后這個算法又執(zhí)行另一次卷積和池化,池化之后便進(jìn)入一個全連接的多層感知器。卷積神經(jīng)網(wǎng)絡(luò)的最終輸出是一組能夠識別圖像特征的節(jié)點(diǎn)(在這個例子中,每個被識別的數(shù)字都是一個節(jié)點(diǎn))。使用者可以通過反向傳播的方法來訓(xùn)練網(wǎng)絡(luò)。

 

 

 

 9.LeNet 卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)

 

對深層處理、卷積、池化以及全連接分類層的使用打開了神經(jīng)網(wǎng)絡(luò)的各種新型應(yīng)用的大門。除了圖像處理之外,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被成功地應(yīng)用在了視頻識別以及自然語言處理等多種任務(wù)中。卷積神經(jīng)網(wǎng)絡(luò)也已經(jīng)在 GPU 上被有效地實(shí)現(xiàn),這極大地提升了卷積神經(jīng)網(wǎng)絡(luò)的性能。

 

長短期記憶(LSTM)

 

記得前面反向傳播中的討論嗎?網(wǎng)絡(luò)是前饋式的訓(xùn)練的。在這種架構(gòu)中,我們將輸入送到網(wǎng)絡(luò)并且通過隱藏層將它們向前傳播到輸出層。但是,還存在其他的拓?fù)浣Y(jié)構(gòu)。我在這里要研究的一個架構(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ò)對時序數(shù)據(jù)而言是理想化的。

 

 1997 年,一種叫做長短期記憶(LSTM)的特殊的循環(huán)網(wǎng)絡(luò)被發(fā)明了。LSTM 包含網(wǎng)絡(luò)中能夠長時間或者短時間記憶數(shù)值的記憶單元。

 

 

 

 10. 長短期記憶網(wǎng)絡(luò)和記憶單元

 

記憶單元包含了能夠控制信息流入或者流出該單元的一些門。輸入門(input gate)控制什么時候新的信息可以流入記憶單元。遺忘門(forget gate)控制一段信息在記憶單元中存留的時間。最后,輸出門(output gate)控制輸出何時使用記憶單元中包含的信息。記憶單元還包括控制每一個門的權(quán)重。訓(xùn)練算法(通常是通過時間的反向傳播(backpropagation-through-time),反向傳播算法的一種變體)基于所得到的誤差來優(yōu)化這些權(quán)重。

 

LSTM 已經(jīng)被應(yīng)用在語音識別、手寫識別、語音合成、圖像描述等各種任務(wù)中。下面我還會談到 LSTM。

 

深度學(xué)習(xí)

 

深度學(xué)習(xí)是一組相對新穎的方法集合,它們從根本上改變了機(jī)器學(xué)習(xí)。深度學(xué)習(xí)本身不是一種算法,但是它是一系列可以用無監(jiān)督學(xué)習(xí)實(shí)現(xiàn)深度網(wǎng)絡(luò)的算法。這些網(wǎng)絡(luò)是非常深層的,所以需要新的計(jì)算方法來構(gòu)建它們,例如 GPU,除此之外還有計(jì)算機(jī)集群。

 

本文目前已經(jīng)介紹了兩種深度學(xué)習(xí)的算法:卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)。這些算法已經(jīng)被結(jié)合起來實(shí)現(xiàn)了一些令人驚訝的智能任務(wù)。卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶已經(jīng)被用來識別并用自然語言描述圖片或者視頻中的物體。

 

深度學(xué)習(xí)算法也已經(jīng)被用在了人臉識別中,也能夠以 96% 的準(zhǔn)確率來識別結(jié)核病,還被用在自動駕駛和其他復(fù)雜的問題中。

 

然而,盡管運(yùn)用深度學(xué)習(xí)算法有著很多結(jié)果,但是仍然存在問題需要我們?nèi)ソ鉀Q。一個最近的將深度學(xué)習(xí)用于皮膚癌檢測的應(yīng)用發(fā)現(xiàn),這個算法比經(jīng)過認(rèn)證的皮膚科醫(yī)生具有更高的準(zhǔn)確率。但是,醫(yī)生可以列舉出導(dǎo)致其診斷結(jié)果的因素,卻沒有辦法知道深度學(xué)習(xí)程序在分類的時候所用的因素。這被稱為深度學(xué)習(xí)的黑箱問題。

 

另一個被稱為 Deep Patient 的應(yīng)用,在提供病人的病例時能夠成功地預(yù)測疾病。該應(yīng)用被證明在疾病預(yù)測方面比醫(yī)生還做得好——即使是眾所周知的難以預(yù)測的精神分裂癥。所以,即便模型效果良好,也沒人能夠深入到這些大型神經(jīng)網(wǎng)絡(luò)去找到原因。

 

認(rèn)知計(jì)算

 

人工智能和機(jī)器學(xué)習(xí)充滿了生物啟示的案例。盡管早期的人工智能專注于建立模仿人腦的機(jī)器這一宏偉目標(biāo),而現(xiàn)在,是認(rèn)知計(jì)算正在朝著這個目標(biāo)邁進(jìn)。

 

認(rèn)知計(jì)算建立在神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)之上,運(yùn)用認(rèn)知科學(xué)中的知識來構(gòu)建能夠模擬人類思維過程的系統(tǒng)。然而,認(rèn)知計(jì)算覆蓋了好多學(xué)科,例如機(jī)器學(xué)習(xí)、自然語言處理、視覺以及人機(jī)交互,而不僅僅是聚焦于某個單獨(dú)的技術(shù)。

 

認(rèn)知學(xué)習(xí)的一個例子就是 IBM 的 Waston,它在 Jeopardy 上展示了當(dāng)時最先進(jìn)的問答交互。IBM 已經(jīng)將其擴(kuò)展在了一系列的 web 服務(wù)上了。這些服務(wù)提供了用于一些列應(yīng)用的編程接口來構(gòu)建強(qiáng)大的虛擬代理,這些接口有:視覺識別、語音文本轉(zhuǎn)換(語音識別)、文本語音轉(zhuǎn)換(語音合成)、語言理解和翻譯、以及對話引擎。

 

繼續(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é)科的水平。雖然可能還無法實(shí)現(xiàn)一個具有意識的機(jī)器,但是今天確實(shí)有著能夠改善人類生活的人工智能系統(tǒng)。