04.20 尚學堂筆記:開源的機器學習框架應當如何選擇?

為何要選擇機器學習框架呢?使用開源工具的好處不僅僅在於其可用性。通常來說,如此級別的項目均有大量的數據工程師和數據科學家願意去分享數據集和前期訓練模型。比如,你可以使用分類模型訓練來自於ImageNet的數據,而非利用scratch建立圖形感知。開源的機器學習工具還能夠讓你進行遷移學習,這意味著可以通過運用其他方面的知識解決機器學習的問題。所以,你可以把一些能力形成一種模型,這些模型可以學會識別汽車或者能夠幫助我們完成其他的任務。

根據你所需要處理的問題,預先訓練的模型和開放的數據集可能並不會像定製的那樣準確,但開源框架不需要你收集數據集,這能夠為你節省大量的時間和精力。尚學堂•百戰程序員陳老師指出,根據前百度首席數據科學家、斯坦福大學教授Andrew Ng所說,使用開源模型和數據集將會成為繼監督學習後驅動商業成功的第二大動因。

在眾多活躍但不那麼流行的開源工具中,我們將選取5個進行深度探討,以便幫助你找到適合你的一款工具並且開始你的數據科學探索道路。接下來,我們進入正題。

1.TensorFlow

TensorFlow最初是僅供Google內部使用的,2015年在Apache 2.0 源碼開始開源發佈。Google的聲譽和構建模型時出色的流程圖吸引了一大群的TensorFlow擁護者。

TensorFlow對於深度神經網絡研究和複雜的數學計算來說都是一個很好的python工具,它甚至能夠支持強化學習。TensorFlow的獨特之處還在於數據流圖-結構,包含節點(數學運算)和邊緣(數值數組或張量)。

1.1數據集和模型

TensorFlow的靈活之處體現在基於它進行研究或者重複機器學習任務的可能性。因此,你可以使用名為TensorFlow Core的低級API。你可以通過它控制模型並且使用你自己的數據集對它們進行訓練。但也有公共的預訓練模型,用於在TensorFlow Core之上構建更高級的API。你可以使用的目前比較流行的模式有MNIST,一個幫助識別圖片上的手寫數字的傳統數據集,或者Medicare Data,一個來自於Google幫助預測醫療服務收費的數據集。

1.2受眾及學習曲線

對於第一次探索機器學習的人來說,TensorFlow功能的多樣化會顯得有些複雜。一些人甚至認為,該庫並未加速機器學習的學習曲線,反而讓其更加陡峭。TensorFlow是一種級別較低的庫,但它需要編寫大量的代碼以及對數據科學細節的良好理解,這才能更好的使用其進行項目開發。因此,如果你的數據科學團隊是以IT為中心的,那麼它或許不是你的最佳選擇,我們將會討論更加簡單的替換方案。

1.3用例

考慮到TensorFlow的複雜性,其用例主要包含大型公司的解決方案,這些公司擁有機器學習領域的專家。例如,英國在線超市Ocado運用TensorFlow來優先處理他們聯繫中心的有限,並改善了需求預測。同時,全球保險公司Axa使用該庫預測他們的用戶將可能涉及的大型汽車事故。

尚學堂筆記:開源的機器學習框架應當如何選擇?

2.Theano:具有擴展性能的成熟庫

Theano是一種級別較低的庫,它基於Python語言,用於科學計算,並且其通常將定義、優化、求值數學表達式作為深度學習的目標。儘管它具有非常優秀的計算性能,但其複雜性還是讓很多用戶無法進行。基於這個原因,Theano主要被用於底層的包裝器,例如Keras,Lasagne以及Blocks這三種旨在快速原型化和模型測試的高級別框架。

2.1數據集及模型

Theano有公共模型,但是使用率較高的框架都有大量的教程和與訓練的數據集可供選擇。例如,Keras在其文檔中存儲了可用的模型以及詳細的使用教程。

2.2受眾及學習曲線

如果你使用Lasagne或Keras作為頂部的高級包裝器,你將有大量的教程和預先訓練的數據集。此外,Keras被認為是最容易從早期深度學習探索階段開始的庫。

由於TensorFlow的設計是為了取代Theano,讓它失去了大量的粉絲。但是,許多數據科學家發現,有很多優勢足以讓他們使用過時的版本。

2.3用例

考慮到深度學習研究和發展的工業標準,Theano最初是用來對最為前沿的深度學習算法作為補充。然而,考慮到你也許並不會直接使用Theano,你可以將其眾多功能作為使用其他庫的基礎如:數字及圖片識別,對象本地化,甚至與機器人聊天。

關於開源的機器學習框架應當如何選擇的問題,在下一節中還會繼續講到關於腳本語言驅動,受眾曲線等內容。

小編也為大家準備了關於人工智能與機器學習的資料,需要的同學私信小編即可!

尚學堂筆記:開源的機器學習框架應當如何選擇?


分享到:


相關文章: