02.25 如何學習編寫人工智能軟件?

M子姐姐


我是學軟件開發專業的,方向基本也就確定了,要麼前端,要麼後端,或者大數據。

首先,編程這個問題問的領域比較大,為什麼說大?如我上述,學軟件開發,要麼前端,要麼後端,也是編程,大數據,也是編程,人工智能一樣也是編程……

所以,沒有明確一個具體的方向。

編程世界,有一門古老的語言叫做C語言,它是C++和JAVA的祖先,一切語言的基礎都來自它,所以,你不妨與它先認識。

但是,現在因為人工智能的火起來的python語言,就有很多人學習它,也有很多人說它語法簡單,易學易上手,這個說法沒錯。也有人說它是新手學習最好的語言。確實,沒有嚴謹的語法,可以說是“為所欲為”。JAVA寫100行代碼,它可能只需要寫20行。

只不過,我還是說說我想說的主角吧!它是C語言,為什麼是它的,因為你只有學會它,再學C++和JAVA就容易得多,可以說很快帶你成為一名程序員。當然,不是絕對的。

而學習python也並非不可,只是它不同與C/C++和JAVA。學會以後,再回頭看C,感覺不是一個世界的。

現在大學都是以C語言為專業基礎語言,你不妨可以先從它下手。

希望這份答案能對你有幫助。


雲攝夢影


首先問題就有理解偏差,人工智能不是軟件,而是一項功能,或者說是能力。你要做的軟件是通過人工智能的技術能力在一個特定的場景下完成某項任務。

 

至於如何學習,首先要掌握基礎編程語言,以下任選其一要熟練掌握:

Python:被認為是所有AI開發語言列表中的第一位。Python相對簡單易學,可以很容易地學習。此外python有很多AI相關的庫,便於在機器學習等方面快速上手。

C++:已經非常成熟了,而且是最快的計算機語言,如果你的項目開發時間有限,那麼C++是很好的選擇,它提供更快的執行時間和更快的響應時間,老司機優勢顯現無疑,遊戲開發大部分都是用C++語言。

C ++適用於機器學習和神經網絡。

Java:也是計算機語言的老司機之一,雖然褒貶不一,但是在各種項目的開發中,Java都是常用語言之一,它不僅適用於NLP(自然語言處理)和搜索算法,還適用於神經網絡。

Lisp:相當古老的語言,差不多是在人工智能火起來之後才又回到眾人眼中。有人認為Lisp是最好的人工智能編程語言,因為它為開發人員提供了自由。在人工智能中使用Lisp,因其靈活性可以快速進行原型設計和實驗,當然這也反過來促進Lisp在AI開發中的發展,例如,Lisp有一個獨特的宏系統,有助於開發和實現不同級別的智能。

但同時也因為它的古老,掌握的人不是大多數。

 

Python的課程是現在最火爆的,很多網課,從零開始學到高級課程全都有。對自學沒有信心的話也可以參加社會上的線下培訓班。一定要堅持下去。但總體來說市場上的課程還是有些亂,要邊學便自己梳理知識體系。

 

其次要找好方向:

計算機視覺CV、自然語言處理NLP、機器學習ML這三個方向是最火的,但其中也涉及了很多更深的知識,比如神經網絡、深度學習、強化學習等。

所以要有一定的數學基礎:微積分、概論、線性代數;

其次是算法與模型,這也是重中之重,算法模型學不好以後會很痛苦,甚至有些方面完全不能理解。

 

此外,還要深入瞭解一些框架:

谷歌的Tensorflow:

TensorFlow是一個開源軟件庫,可以描述一幅數據計算的數據流圖(data flow graph),用於各種感知和語言理解任務的機器學習。當前被50個團隊用於研究和生產許多Google商業產品,如語音識別、Gmail、Google 相冊和搜索。

Facebook 的 PyTorch:

與TensorFlow抗衡的學習框架,由 Facebook 的團隊開發,並於 2017 年在 GitHub 上開源。

TensorFlow 和PyTorch的關鍵差異是它們執行代碼的方式。這兩個框架都基於基礎數據類型張量(tensor)而工作。TensorFlow更像是一種語言,而PyTorch與Python結合的更緊密。

TensorFlow 是一種非常強大和成熟的深度學習庫,具有很強的可視化功能和多個用於高級模型開發的選項。它有面向生產部署的選項,並且支持移動平臺。另一方面,PyTorch 框架還很年輕,擁有更強的社區動員,而且它對 Python 友好。

所以如果你想更快速地開發和構建 AI 相關產品,TensorFlow 是很好的選擇。建議研究型開發者使用 PyTorch,因為它支持快速和動態的訓練。

兩者還有很多差異,各有優缺點,可以在實踐中慢慢摸索。


大王小王聊什麼


人工智能系統是一個相對複雜的智能化系統,一個具有特定任務的智能化系統通常由若干個子系統組成,同時又是一個多領域、多專業、多團隊或人員相互協作的系統工程。單就軟件系統建設而言,以編程為例,一個智能化系統的軟件系統,除了要有控制整個系統協調工作的系統程序外(如操作系統,數據庫系統等),還需要對相關的硬件(如機械手,或流水線等邏輯部件或設備)實施控制程序編程,通常是一些實現某個特殊功能的專用控制程序。作為一個智能化系統的團隊成員之一,掌握一門或兩門計算機軟件的基礎理論和編程技巧是必須的。如果你能熟練掌握ASM和C(例如C++),想必你就能成為一個智能化系統建設團隊中的中梁砥柱。祝你成功!


哲理見聞


首先你得會一門編程語言,C語言或者Java都行。


分享到:


相關文章: