在發(fā)布1.0版本后,Julia團隊現(xiàn)在希望讓它成為機器學(xué)習(xí)領(lǐng)域的首選語言。同時,Python和R語言通常在機器學(xué)習(xí)中占主導(dǎo)地位,在開發(fā)人員普及方面,Python仍然是增長最快的編程語言。
Julia成為2018年發(fā)展最快的編程語言之一,因為它結(jié)合了幾種主要語言的優(yōu)勢而備受推崇。
同時,Python依然在使用范圍方面占據(jù)著巨大優(yōu)勢,并且熱度一直保持著上升趨勢。
那么,哪種編程語言將在2019年統(tǒng)治機器學(xué)習(xí)?來看下分析吧。
Julia風(fēng)頭正勁,適合制作可微分算法
首先來看看風(fēng)頭正勁的Julia。
Julia于2012年發(fā)布,由麻省理工學(xué)院(MIT)的計算機科學(xué)和人工智能實驗室(CSAIL)開發(fā)和孵化,是一種免費的開源語言。
目前,Julia已經(jīng)推出1.0版本,Julia現(xiàn)在有希望成為機器學(xué)習(xí)(ML)領(lǐng)域的首選語言。麻省理工學(xué)院教授Alan Edelman說:“Julia 1.0的發(fā)布標志著Julia現(xiàn)在已經(jīng)準備好通過將Python和R語言的高效率和易用性與C ++的閃電般速度相結(jié)合來改變技術(shù)世界?!?/p>
能幫助Julia實現(xiàn)這一目標的是Flux,這是一款面向Julia的機器學(xué)習(xí)軟件庫,旨在使ML代碼更易于編寫,同時簡化訓(xùn)練流程,并且與競爭框架相比,能提供在GPU和Google TPU等硬件加速器上的某些性能優(yōu)勢。
Julia背后的團隊表示,他們的語言非常適合制作可微分算法——這是一種程序性的、數(shù)據(jù)驅(qū)動的代碼,可用于構(gòu)建機器學(xué)習(xí)中使用的神經(jīng)網(wǎng)絡(luò)。
Julia團隊在博客文章中寫道:
我們需要一種語言來編寫可區(qū)分的算法,而Flux將幫助Julia成為滿足這類需求的語言。
Julia非常適合用于數(shù)學(xué)和數(shù)值計算,并且非常適合表達ML算法。同時,它融合了現(xiàn)代設(shè)計和編譯器中的新思想,可以更容易滿足前沿的高性能需求。
根據(jù)Julia團隊的博客文章,F(xiàn)lux庫使用各種專注ML工具擴展了Julia的編譯器,從而支持一流梯度,在性能和開發(fā)人員控制之間取得更好的平衡;為GPU及時進行CUDA內(nèi)核編譯,在訓(xùn)練期間進行自動批量處理,以減少開銷;在Google TPU上進行優(yōu)化運行。
該團隊表示,F(xiàn)lux支撐下的Julia,以及即將推出的可分辨編程語言Myia和最近的Swift for Tensorflow,可能很快就會挑戰(zhàn)既定的機器學(xué)習(xí)框架和方法。
在Julia今年早些時候發(fā)布1.0版后,該語言的用戶對于它的進展情況總體上是持樂觀態(tài)度的,盡管有些人仍然擔心它會發(fā)生錯誤的處理狀態(tài),或者產(chǎn)生無用文檔。
好上手的Python仍是王者,使用范圍上占據(jù)絕對優(yōu)勢
但Julia任重而道遠。
如今,Python和R語言通常在機器學(xué)習(xí)中占主導(dǎo)地位,在開發(fā)人員普及方面,Python仍然是增長最快的編程語言,這在很大程度上取決于其機器學(xué)習(xí)框架和庫的優(yōu)勢。相比之下,只有相對較小比例的開發(fā)人員使用剛剛起步的Julia。
Python在使用范圍方面的確占據(jù)著絕對優(yōu)勢。
當前的機器學(xué)習(xí)熱潮推動了學(xué)習(xí)Python的開發(fā)人員數(shù)量急劇增加。除了在大數(shù)據(jù)分析中使用該語言外,Python的多功能性在其使用范圍內(nèi)的優(yōu)勢也很明顯,從Web和桌面應(yīng)用程序到編排系統(tǒng)操作。
軟件質(zhì)量評估公司TIOBE的數(shù)據(jù)顯示,2018年12月,Python超越C++成為TIOBE索引排行的第三名,這對于Guido van Rossum的腳本語言來說是歷史最高水平。
TIOBE網(wǎng)站12月編輯語言索引數(shù)據(jù)
TIOBE還強調(diào)了Python在教學(xué)中日益增長的用途:2014年,Python成為70%美國大學(xué)的入門編程課程。
Python的確有很多優(yōu)勢:Python代碼相對易于閱讀和理解,支持多種編程范例,具有可以放入代碼的各類軟件庫,并且能擴展到大型應(yīng)用程序。網(wǎng)上還有很多高質(zhì)量的免費教程、課程和視頻,這很有利于傳播。
Python一直被認為是最容易學(xué)習(xí)的編程語言之一,并且以其高可靠性和簡單的語法而聞名,特別是新編碼器。
“我認為,Python是最接近'即時滿足語言'的語言,意思是代碼非常少,即使你是一名新手程序員也能學(xué)會,”IEEE研究員兼研究生工程院院長Karen Panetta說“這是因為Python讀起來像英語,這使得它更有利于廣大用戶受眾學(xué)習(xí)?!?/p>
新語言層出不窮,支撐機器學(xué)習(xí)發(fā)展
Julia團隊表示編程語言的發(fā)展絕對不會止步于此,并且語言的發(fā)展會對機器學(xué)習(xí)起著重要的作用。
我們相信機器學(xué)習(xí)的未來取決于語言和編譯器技術(shù),特別是在擴展新的或現(xiàn)有的語言以滿足機器學(xué)習(xí)研究的高要求時。
支持差異化、矢量化、不同硬件和文化差異的語言將推動科學(xué)的大幅進步。
Julia團隊說:“比起那些新一代的工具 Myia、Swift/TF和Flux,TensorFlow、PyTorch和KNET是為現(xiàn)有框架所準備的。”
不過,將來那些新一代的工具很有可能派上用場。“如果你在ML中取得新的突破,他們可能是你最好的選擇。給他們一個機會,看看機器學(xué)習(xí)的未來是什么樣的。”
據(jù)LinkedIn稱,機器學(xué)習(xí)工程師是從2017年起的五年內(nèi)發(fā)展最快的工作類別,并且有越來越多的免費課程可供想要專攻該領(lǐng)域的開發(fā)人員使用。
身為開發(fā)者的你,更看好哪種語言呢?
-
編程語言
+關(guān)注
關(guān)注
10文章
1916瀏覽量
34379 -
人工智能
+關(guān)注
關(guān)注
1787文章
46061瀏覽量
235030 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8306瀏覽量
131846
原文標題:Julia 對決Python:誰能在2019年稱霸機器學(xué)習(xí)編程?
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論