您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“開發(fā)者怎么挑選最合適的機(jī)器學(xué)習(xí)框架”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
選擇機(jī)器學(xué)習(xí)框架之前需要考慮的三個(gè)問題!
根據(jù)Forrester Research 的AI方向副總裁兼首席分析師Mike Gualtieri的說法,研發(fā)人員在選擇機(jī)器學(xué)習(xí)框架時(shí)需要思考如下三個(gè)問題:
1、該框架用于深度學(xué)習(xí)還是經(jīng)典的機(jī)器學(xué)習(xí)?
2、在開發(fā)AI模型時(shí),首選的編程語(yǔ)言是什么?
3、開發(fā)過程使用哪些硬件、軟件和云服務(wù)進(jìn)行擴(kuò)展?
選擇深度學(xué)習(xí)還是經(jīng)典的機(jī)器學(xué)習(xí)?
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)分支,在算法層面,經(jīng)典的機(jī)器學(xué)習(xí)算法未必不能實(shí)現(xiàn)深度學(xué)習(xí)的功能,很多機(jī)器學(xué)習(xí)算法在應(yīng)用程序中都可以完美的完成各項(xiàng)深度學(xué)習(xí)任務(wù),雖然有些框架在某種程度上支持這兩種算法,但機(jī)器學(xué)習(xí)框架往往表現(xiàn)更好。
從差異性的角度來說,深度學(xué)習(xí)框架更加偏重神經(jīng)網(wǎng)絡(luò)方向,尤以TensorFlow最為知名,其他在深度學(xué)習(xí)中表現(xiàn)良好的機(jī)器學(xué)習(xí)框架還有MXNet和Caffe,這些框架支持編寫用于圖像標(biāo)記和高級(jí)自然語(yǔ)言處理的算法以及其他應(yīng)用程序。
深度學(xué)習(xí)和機(jī)器學(xué)習(xí)框架最大的不同在于所處理的數(shù)據(jù)結(jié)構(gòu)有所差異,深度學(xué)習(xí)框架可以被訓(xùn)練用于處理結(jié)構(gòu)化數(shù)據(jù),但是機(jī)器學(xué)習(xí)框架不適用于非結(jié)構(gòu)化數(shù)據(jù)。在選擇框架前,你一定要了解企業(yè)的數(shù)據(jù)類型以及要構(gòu)建的應(yīng)用程序類型。
經(jīng)典的機(jī)器學(xué)習(xí)算法適用于各種優(yōu)化和統(tǒng)計(jì)分析,最受歡迎的機(jī)器學(xué)習(xí)框架是Scikit-learn。Scikit-learn適合在Python中編寫,但Comprehensive R Archive Network(也稱為CRAN)可能更適合在R中編寫應(yīng)用程序。其他流行的軟件包有Apache Spark MLlib和H2O.ai等,H2O.ai有一套開源機(jī)器學(xué)習(xí)算法并且運(yùn)行良好。
開發(fā)AI模型,首選的編程語(yǔ)言是什么?
就編程語(yǔ)言而言,Python和R是機(jī)器學(xué)習(xí)開發(fā)者普遍的選擇。當(dāng)然,你可以使用其他語(yǔ)言,比如C、Java和Scala。Gualtieri表示,目前的大多數(shù)機(jī)器學(xué)習(xí)應(yīng)用都是用Python編寫的,因?yàn)镽語(yǔ)言是由統(tǒng)計(jì)學(xué)家設(shè)計(jì)的,并不是最優(yōu)雅的編程語(yǔ)言。相比較而言,Python是一種更加現(xiàn)代化的編程語(yǔ)言,并且Caffe和TensorFlow也是開發(fā)機(jī)器學(xué)習(xí)模型的Python編碼器的主流選擇。
測(cè)試環(huán)境與實(shí)際生產(chǎn)環(huán)境的差異
在開發(fā)的早期階段,數(shù)據(jù)科學(xué)家可能會(huì)針對(duì)不同的數(shù)據(jù)集選擇模型或算法,但是,如果你決定對(duì)生產(chǎn)環(huán)境中的所有數(shù)據(jù)集運(yùn)行同一個(gè)模型,那么你可以查看一些支持分布式體系結(jié)構(gòu)的框架,比如Apache Spark的MLlib或H20,因?yàn)榭蓴U(kuò)展性是一個(gè)很實(shí)際且很重要的問題。
在深度學(xué)習(xí)中有很多類似的場(chǎng)景,比如,AI開發(fā)人員想要對(duì)圖像進(jìn)行標(biāo)注,他們可以下載TensorFlow并在桌面運(yùn)行以訓(xùn)練算法和試驗(yàn)不同的模型,一旦他們整理出了一個(gè)可行的模型,往往會(huì)迫不及待得丟到整個(gè)生產(chǎn)環(huán)境,但這個(gè)模型不一定適合整個(gè)生產(chǎn)開發(fā)環(huán)境,因?yàn)闇y(cè)試環(huán)境與其有著很大差異,并且也需要考慮硬件條件和云服務(wù)支持。
在AI算法的訓(xùn)練階段,可擴(kuò)展性是指可以分析的數(shù)據(jù)量以及數(shù)據(jù)分析速度,使用分布式算法和分布式處理可以顯著提高性能。在實(shí)際部署階段,可擴(kuò)展性更多得與可立即命中模型的并發(fā)用戶或應(yīng)用程序的數(shù)量有關(guān)。很多AI項(xiàng)目出現(xiàn)問題的原因在于訓(xùn)練環(huán)境和生產(chǎn)環(huán)境千差萬別,數(shù)據(jù)科學(xué)家卻只使用一套工具。
參數(shù)優(yōu)化
選擇機(jī)器學(xué)習(xí)框架的另一個(gè)關(guān)鍵因素是參數(shù)優(yōu)化,每種算法都采用不同的方法來分析訓(xùn)練數(shù)據(jù)并將其學(xué)習(xí)的內(nèi)容應(yīng)用于新的示例。每個(gè)參數(shù)都可以通過旋鈕和刻度盤的不同組合來調(diào)節(jié),通過調(diào)整不同變量的權(quán)重和異常值以列舉一些可能的組合。在選擇機(jī)器學(xué)習(xí)框架時(shí),重要的是考慮這些參數(shù)是希望自動(dòng)調(diào)整還是手動(dòng)調(diào)整,需要調(diào)整的旋鈕和表盤越多,找到合適的組合就越困難。
機(jī)器學(xué)習(xí)框架是否是解決特定問題的最佳選擇,這是企業(yè)要考慮的最后一個(gè)問題,我們可以將機(jī)器學(xué)習(xí)開發(fā)工具分為三類:notebook-based, multi-modal和automated。
notebook-based - 使用基于Python的Jupyter等工具,提供對(duì)機(jī)器學(xué)習(xí)模型定制的所有方面的復(fù)雜控制,機(jī)器學(xué)習(xí)框架使用此概念來減少自定義的繁重工作。
multi-modal(多模式)本質(zhì)上是一種將數(shù)據(jù)科學(xué)與專用工具(如Salesforce Einstein)相結(jié)合的低質(zhì)量代碼編寫方式,使開發(fā)人員能夠?qū)⒑诵腁I模型擴(kuò)展到特定用例。
Automated(自動(dòng)化方法)使用工具自動(dòng)為給定的輸入數(shù)據(jù)集嘗試各種可能的算法,直到確定特定用例的最佳備選者。這些工具包括Google AutoML,DataRobot和H20.ai等產(chǎn)品。
自動(dòng)化確實(shí)很有吸引力,因?yàn)閿?shù)據(jù)科學(xué)家的技術(shù)水平未必很高,尤其是現(xiàn)在社會(huì)整體人才稀缺的情況下,并且通過自動(dòng)化工具的支持,統(tǒng)計(jì)學(xué)家有時(shí)也可以完成一些數(shù)據(jù)科學(xué)家的工作,當(dāng)然,不要期待這些自動(dòng)化工具完全替代人工。
開源機(jī)器學(xué)習(xí)框架提供了豐富的社區(qū)支持
Teradata營(yíng)銷副總裁Chad Meley表示,盡管供應(yīng)商正在努力開發(fā)機(jī)器學(xué)習(xí)工具和框架,但開源框架將繼續(xù)在該領(lǐng)域占據(jù)主導(dǎo)地位,因?yàn)檫@些框架集合了世界各地相關(guān)領(lǐng)域?qū)<业闹腔邸?/p>
很多比較大的云供應(yīng)商也在積極提供自己的框架,比如谷歌、亞馬遜等,根據(jù)企業(yè)IT戰(zhàn)略展示,CIO可能更希望與特定的云供應(yīng)商保持一致,或者強(qiáng)調(diào)跨多個(gè)云和本地部署的可移植性。目前,谷歌支持的TensorFlow框架在市場(chǎng)中擁有最高份額,緊隨其后的是Caffe、Keras、MXNet、CNTK和PyTorch。
此外,Spark提供的MLlib也是一個(gè)不錯(cuò)的選擇,它還提供了SQL、圖形處理和流處理等功能。Spark本身易于使用且擁有龐大的用戶群體,這確保了技術(shù)的穩(wěn)步提升,并且生命力十分頑強(qiáng),可以確保在未來的很長(zhǎng)一段時(shí)間內(nèi)依舊存活。
“開發(fā)者怎么挑選最合適的機(jī)器學(xué)習(xí)框架”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。