干貨分享:五大最適合學習AI開發的編程語言


AI(人工智能)為應用開發者開創了一個全新的可能性。通過利用機器學習或深度學習,您可以生成更好的用戶配置文件、個性化設置和推薦,或者整合更智能的搜索、語音界面或智能助手,或者以其他數種方式改進您的應用。你甚至可以構建看得懂、聽得懂,並與人類互動的應用。准備學習AI的你,知不知道選擇哪種編程語言合適呢?以下列舉的五種編程語言,被認為是最適合用來學習AI。大家可以參考一下。

 

1. PYTHON
第一名毫無疑問是 Python。盡管 Python 有些特性令人不爽(whitespace、Python 2.x 和 Python 3.x 之間的巨大差異、五種不同的包機制都在不同程度上有缺陷)但如果你正在從事 AI 工作,你幾乎肯定會在某些時候用到 Python。


Python 中可用庫的數量是其他語言所無法企及的。NumPy 已經變得如此普遍,以至於幾乎成為了張量運算的標准 API,Pandas 將 R 的強大而靈活的數據幀帶入 Python。對於自然語言處理(NLP),您可以使用久負盛名的 NLTK 和快如閃電的 SpaCy。對於機器學習,有經過實戰檢驗的 Scikit-learn。當談到深度學習時,當前所有的庫(TensorFlowPyTorchChainerApache MXNetTheano 等)都是在 Python 上首先實現的項目。

(在LiveEdu上,一位德國的AI開發者教大家如何使用Python開發兩個簡單的機器學習模型)

 

如果您正在閱讀關於 arXiv 的頂尖深度學習研究,那么幾乎可以肯定您會在 Python 中找到源代碼。 此外,Python 生態系統中還有其他部分。雖然 IPython 已經改名為 Jupyter Notebook,看上去不再以 Python 為中心,但您仍然會發現絕大多數 Jupyter Notebook 用戶以及大多數在線共享筆記本都使用 Python。


Python 是人工智能研究的前沿語言,這是擁有最多機器學習和深度學習框架的語言,也是 AI 研究者幾乎都掌握的語言。由於這些原因,盡管筆者每天都要咒罵一次 whitespace 問題,Python 仍然是人工智能編程語言之王,您沒法繞過它。


2. JAVA 和相關語言

JVM 系列語言(Java,Scala,Kotlin,Clojure 等)也是 AI 應用開發的絕佳選擇。無論是自然語言處理(CoreNLP)、張量運算(ND4J)還是完整的 GPU 加速深度學習堆棧(DL4J),您都可以使用大量的庫來管理流水線的各個部分。另外,您還可以輕松訪問 Apache SparkApache Hadoop 等大數據平台。


Java 是大多數企業的通用語言,在 Java 8 和 Java 9 中提供了新的語言結構,這使得編寫 Java 代碼的體驗不再像我們過去所記得的那樣糟糕。使用 Java 編寫人工智能應用可能會讓人覺得無聊,但它確實能完成工作,並且您可以使用所有現成的 Java 基礎架構來開發、部署和監視。


3. C/C++
在開發 AI 應用時,C / C ++ 不太可能成為您的首選,但如果您在嵌入式環境中工作,並且無法承受 Java 虛擬機或 Python 解釋器的開銷,那么 C / C ++ 就是最好的解決方案。當你需要榨干系統的每一滴性能時,你就得面對可怕的指針世界。


幸運的是,現代 C / C ++ 寫起來體驗還不錯(實話實說!)。您可以從下列方法中選擇一個最適合的:您可以一頭扎進堆棧底部,使用 CUDA 等庫來編寫自己的代碼,這些代碼將直接在 GPU 上運行;您也可以使用 TensorFlow 或 Caffe 以訪問靈活的高級 API。后者還允許您導入數據科學家用 Python 寫的模型,然后以 C / C ++ 級別的速度在生產環境中運行它們。

 

在未來一年中,請密切留意 Rust 在 AI 領域的一些動作。結合 C / C ++ 級別的速度與類型和數據安全性,Rust 是實現產品級性能卻不會造成安全問題的最佳選擇。並且它現在已經可以與 TensorFlow 綁定了。


4. JAVASCRIPT
蛤?!JavaScript?我沒聽錯吧?其實,谷歌最近發布了 TensorFlow.js,這是一個 WebGL 加速庫,允許您在 Web 瀏覽器中訓練和運行機器學習模型。它還包括 Keras API 以及加載和使用在常規 TensorFlow 中訓練過的模型的功能。這可能會吸引大量的 JS 開發者涌入 AI 領域。雖然 JavaScript 目前能夠訪問的機器學習庫與其他語言相比有所局限,但在不久的將來,開發者在網頁中添加神經網絡就和添加 React 組件或 CSS 屬性一樣簡單。這聽上去既強大又恐怖。

 

TensorFlow.js 仍處於早期階段。目前它可在瀏覽器中運行,但不適用於 Node.js。它還沒有實現完整的 TensorFlow API。不過,我預計到 2018 年底,這兩個問題都將基本得到解決,並且JavaScript 將在不久之后大舉進軍 AI 界。

5. R
R 在這份榜單中排名最末,並且看上去將會越來越沒落。R 是數據科學家喜歡的語言。但是,其他程序員在第一次接觸 R 時會感到有些困惑,因為它采用了以數據幀為中心的方法。如果您有一組專門的 R 開發者,那么將 R 與 TensorFlowKerasH2O 搭配使用,進行研究、原型設計和實驗是有意義的。但基於性能和操作方面的考慮,我不願意推薦將 R 用於生產。雖然您可以寫出能在生產服務器上部署的高性能 R 代碼,但將這種用 R 語言編寫的原型重新編碼為 Java 或 Python 肯定會更容易。

 

本文為轉載,原文出處:《AI 開發,究竟哪種語言強?》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM