早期的AI主要用在運行原始Lisp運算的專用硬件上,由Lisp(LISt處理器)編程語言提供支持。Lisp是最早的語言之一,在處理項目列表方面非常高效。隨后通用機(jī)器變得流行,編程模型也跟著流行起來。但是,隨著機(jī)器學(xué)習(xí)(特別是深度學(xué)習(xí))的重新興起,新的方法和工具包又優(yōu)化了這些數(shù)據(jù)流。本文將探討機(jī)器學(xué)習(xí)與軟件平臺的融合。
早期的AI歷程
人工智能與Lisp不可避免地交織在一起,因為它們是由同一個人提出來的,他就是約翰·麥卡錫 (1927-2011)。人工智能的最早形式比今天占主導(dǎo)地位的數(shù)字方法更看重搜索和符號處理。Lisp能簡單自然地表示復(fù)雜數(shù)據(jù),并且其對遞歸的使用(用于迭代和搜索)使其非常適合解決當(dāng)時的很多問題。通過其交互式解釋器(即REPL或讀入-求值-打印-循環(huán)),Lisp使探索性編程變得更加容易,這非常適合用于解決尚未完全理解的問題。
但是Lisp的優(yōu)勢也是它最大的缺點,它的函數(shù)編程風(fēng)格很難,同時為新的編程語言范式打開了大門。而且,盡管如今仍在使用函數(shù)編程,但更常見的是命令式、面向?qū)ο蠛投喾独Z言。
現(xiàn)代AI語言
雖然可以使用任意編程語言來開發(fā)AI應(yīng)用程序,但其中也有優(yōu)劣之分。無論是語言本身還是語言支持,某些語言都大大簡化了AI開發(fā)。
邏輯編程
1972年引入的Prolog語言以一階邏輯為基礎(chǔ),其程序由事實和規(guī)則定義。程序可接受查詢,以便將規(guī)則應(yīng)用于事實并產(chǎn)生結(jié)果。目前,Prolog仍然廣泛使用于專家系統(tǒng)、自動規(guī)劃系統(tǒng)等應(yīng)用中。Prolog最初設(shè)計用于自然語言處理,目前仍在這方面有所應(yīng)用。
通用語言
在引入Prolog二十年后,出現(xiàn)了一種名叫Python的通用語言,其設(shè)計的核心是代碼可讀性。盡管早期引起人們興趣的是Python作為用于編程教學(xué)的教育語言,但現(xiàn)在它已成為各個領(lǐng)域廣泛使用的語言,其中就包括人工智能和機(jī)器學(xué)習(xí)。Python的主要優(yōu)點之一是其龐大的庫集和工具包,有了這些庫集和工具包,構(gòu)建應(yīng)用程序更加簡便。例如,在構(gòu)建深度學(xué)習(xí)應(yīng)用程序時,Python可與TensorFlow開源工具包配套使用。在希望部署深度學(xué)習(xí),而又不想開發(fā)所需的詳細(xì)深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)時,這就非常有優(yōu)勢。
統(tǒng)計計算
R語言使用了類似的模型,它既是一種語言,又是一種使用圖形表示進(jìn)行統(tǒng)計計算的環(huán)境。R是一種高度可擴(kuò)展語言,可通過軟件包集成進(jìn)行擴(kuò)展。軟件包可匯集某個具體應(yīng)用程序的功能和數(shù)據(jù),然后將這些功能和數(shù)據(jù)用于統(tǒng)計函數(shù)等R程序或整個深度學(xué)習(xí)工具包。截至2020年,已有超過1.5萬個數(shù)據(jù)包可供R語言使用。
新函數(shù)方法
盡管Lisp在當(dāng)今機(jī)器學(xué)習(xí)中主要充當(dāng)注腳,但它的函數(shù)根已經(jīng)催生了遵循該范例的新語言。Haskell語言是一種純函數(shù)語言,具有強(qiáng)大的類型系統(tǒng),這種系統(tǒng)可產(chǎn)生更安全的代碼;在考慮機(jī)器學(xué)習(xí)和物聯(lián)網(wǎng)設(shè)備爆炸式增長時,這是一個非常有用的特性。Haskell盡管缺少適用于Python和R的廣泛庫集,但它包含用于機(jī)器學(xué)習(xí)工具包的綁定,因此能夠輕松構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用程序。
工具包
在開發(fā)機(jī)器學(xué)習(xí)應(yīng)用程序的過程中,隨著語言的發(fā)展,工具包和庫也在發(fā)展。這些工具包(例如TensorFlow)為語言提供了構(gòu)建復(fù)雜機(jī)器學(xué)習(xí)應(yīng)用程序的能力,而無需從頭構(gòu)建這些功能。TensorFlow提供了與Python、Haskell和R等多種語言的接口,便于構(gòu)建和部署深度學(xué)習(xí)應(yīng)用程序。
總結(jié)
AI概念及其數(shù)字后代機(jī)器學(xué)習(xí)的形成,推動了語言與工具包的共同發(fā)展。語言提供用于構(gòu)建各種應(yīng)用程序的通用功能,而工具包則通過特定的機(jī)器學(xué)習(xí)能力來擴(kuò)展這些語言。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19329瀏覽量
230132 -
AI
+關(guān)注
關(guān)注
87文章
31024瀏覽量
269363 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8423瀏覽量
132744
發(fā)布評論請先 登錄
相關(guān)推薦
評論