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