當前位置:
首頁 > 科技 > 數據科學家、機器學習工程師與普通的軟體工程師有什麼不同

數據科學家、機器學習工程師與普通的軟體工程師有什麼不同

作者丨Ben Lorica and Mike Loukides

譯者丨 何冰心

近十年來,「數據科學」和「數據科學家」備受爭論。對於哪些人可以被稱為是「數據科學家」,爭論不休,我們最後達成一致:只要取得數據科學相關學位、認證的研究數據的,不論是在大學還是從在線課程,我們都稱之為數據科學家。統計數據是枯燥單一的,是非自然的,只有各種各樣的數據才使得世界豐富多彩。那麼,如何去分析多樣的數據呢?數據科學家便應需求而生。

數據科學領域飛速發展,一大波數據專家正在襲來。在企業中,他們被稱為「數據科學家」或「數據科學團隊」,包括:

普通員工:執行臨時的分析或報告任務(包括商業智能和商業分析)

數據分析者:負責統計分析,建模,包括實驗和測試

機器學習建模者:構建模型原型

那麼問題來了。創造出「數據科學家」此概念並且從數據中挖掘出產品的DJ Patil 和Jeff Hammerbacher屬於哪一類呢?他們看似並不屬於以上任何一種。若非要歸類,他們大概更傾向於被看做是機器學習的建模者。他們是研究者,並沒有通過數據進行產出。那麼,究竟如何定義數據科學家呢?我們認為,數據科學家不僅僅是統計學家,他們一般擁有計算機科學領域的博士學位,有著大量的數據實踐經驗,有著很強的編碼能力,精通數據提取、清洗、建模、將原型變成產品、產品設計以及數據基礎建設,等等。實際上,數據科學家更應該被稱作為矽谷的「獨角獸」,稀有且昂貴。

「數據科學」不分領域不分專業,它不只是精算統計、商務智能、數據倉庫等,它打破了已有行業的壁壘,比如軟體、市場、管理、人力等。數據科學的靈魂所在是它涵蓋了數據的方方面面,各個領域。而數據科學家的任務便是收集、使用所有數據,而不是某一領域的數據。

然而,找到這些稀有的「獨角獸」是極其困難的。因此,我們把其職能根據專業性進行劃分,數據工程師便誕生了。數據工程師精通數學和統計學,但他們不只是數學家或統計學家,他們精通軟體開發和編程,但又不只是程序員。數據工程師負責數據棧操作和維護,Hadoop或Spark的構建和維護,以及眾多資料庫(比如HBase和Cassandra)和平台(比如Kafka,Spark Streaming和Apache Flink)等等。他們要知道如何操作雲端,如何使用Amazon Web Services,Microsoft Azure 和Google Compute Engine。

2015年有一篇被廣泛引用的文獻突出強調,真實世界的機器學習系統不只是分析模型。各個公司開始著眼於研發基於數據的產品,並把相關技術投入生產中去。在這眾多項目中,嚴格屬於「機器學習」的部分並不是很多。然後,我們發現越來越多的公司組成了機器學習工程師團隊。這並不難想像,當今機器學習盛行,數據工程師肯定會順應潮流尋求突破。那麼,機器學習工程師與數據工程師有什麼區別呢?

一般來講,機器學習工程師的職責涵蓋軟體工程師(和一些好的數據工程師)的職責。圖中所示是機器學習工程師的重要特徵:

他們擁有比普通數據科學家更強的軟體編碼能力。

由於他們的工作重心是產出數據產品,他們需要通觀全局。

他們監管數據型產品的生產,並了解產品可能會出現的問題。

深度學習的盛行引領一個相關的更專業的職位出現:深度學習工程師。

機器學習工程師不僅僅要了解,更要參與到軟體架構和設計中去。比如,他們了解A/B測試,同時也要知道如何A/B測試。他們了解日誌或安全性問題,同時也要知道如何讓數據工程師能夠有效使用日誌數據。對於機器學習工程師這個頭銜來說,並無新鮮和特殊之處,更多的是深挖而不是改變。

機器學習與數據科學有什麼區別呢?數據科學涵蓋面更廣。最大的區別是深度學習的運作方式。容易想像的是數據科學家如何挖掘數據,比如Tukey的Exploratory Data Analysis中介紹了挖掘並分析大量數據去發現其價值所在。

但是深度學習改變了數據挖掘方式。我們不直接接觸數據,我們只是知道結果,讓程序自己去建模並發現數據的價值。比如,如何構建一個能夠打敗圍棋冠軍的智能機器人,如何準確地標記圖片,如何精準地翻譯。這些問題,需要大量的數據和維度,人力難以實現,而機器學習便是構造一個模型,讓這個模型自主發掘數據。那麼,數據科學家的工作便不再是自己從數據中發掘價值,而是構建一個能夠分析數據併產生結果的機器。實現「平民化」是機器學習領域的夢想,其含義便是任意領域的專家都能構建一個機器學習系統,而非AI博士。比如,我們希望一個圍棋選手便能夠構建下一代AlphaGo,一個西班牙語者便能夠構建一個西班牙語翻譯引擎,而非機器學習專家。

這種轉變影響著機器學習工程師。機器學習模型不是靜態的,會隨著需求變化而成長。應該有專人去監管機器學習系統並在必要時進行重新訓練。

所有從事軟體或IT行業的人都知道安全問題很重要。如今,機器學習系統的安全性上還未出現問題,但依然要防範於未然。那麼,如今的機器學習系統在哪方面容易被攻擊?系統中的數據是否會被感染?是否能夠強迫系統進行非必要的重訓練?由於該系統的自主訓練模式,我們需要重新認知其在安全性上的易攻擊點。

隨著系統日益完善,我們發現更多的數據科學家使之轉變為生產系統。比如,雲端和SaaS使數據科學家得以充分利用數據模型並運用到生產中,一些開源項目像是Clipper和Ground(加州大學伯克利分校的RISELab的新項目)也逐漸開始進行。但是我們依舊需要數據工程師和機器學習工程師:精通數據科學和機器學習,深入理解數據如何進行產出,敢於挑戰創造基於機器學習的產品。他們是「humans in the loop」的終點。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

如何解決機器學習中的數據不平衡問題?
中科院計算所開源Easy ML:讓機器學習應用開發簡單快捷
范德堡大學用機器學習預測自殺,準確率在80%以上
資料 | 機器學習入門書單及下載
讓機器耳濡目染:MIT提出跨模態機器學習模型

TAG:機器學習 |

您可能感興趣

數據工程師和數據科學家有什麼不同
工程師和科學家有什麼區別
同致電子科技招募深度學習演算法工程師
科普:計算機科學和軟體工程有啥區別?
為什麼機器學習工程師嚴重短缺?
生物學家、鋼管舞、全棧工程師,女程序員如何活得漂亮
演算法工程師的危機
在工程領域中,機器學習的數學理論基礎尤為重要
哪個大學材料好?材料科學與工程的學科實力與潛力評估
Python工程師與人工智慧演算法工程師有什麼區別?
機械工程師需要掌握的力學知識:流體力學
優秀的演算法工程師都用深度學習嗎?
普通工程師簡史
廚師——菜品靈魂的工程師
這是機器學習演算法工程師最好的時代!
VR技術創新機械工程學科實踐教學!
科學家還是工程師?宏觀經濟學家的雙重角色
科學家和工程師的子女更易患自閉症!
我從資深軟體工程師學到的避坑大法
谷歌軟體工程師分享編程經驗:有效的流程很關鍵