未來 3 至 5 年,哪個方向的機器學習人才最缺?

作者 | 發布日期 2017 年 09 月 11 日 8:55 | 分類 AI 人工智慧 , 科技教育 follow us in feedly

本文為整理作者阿薩姆在知乎「未來 3~5 年內,哪個方向的機器學習人才最緊缺?」問題下的回答,對機器學習有興趣的朋友不妨參考看看。




既然身在業界,那麼我就談談業界未來幾年需要什麼樣的機器學習人才。不談學界主要還是因為大部分人最終不會從事研究,而會在應用領域奮鬥。相較而言,業界對人才的需求更保守,這和學界不同。這受限於很多客觀因素,如硬體運算能力、資料安全、演算法穩定性、人力成本開支等。

這個答案可能更適合兩類人:1. 在校學生。2. 工作不久想轉行的朋友

特別厲害的技術大腕建議探索適合自己的路線,而我只能談一談適合大部分人的路線。在回答前,我還是忍不住吐槽那種簡單回答 「深度學習」、「大數據」、「NLP」、「機器視覺」的人。以上領域的小方向多如牛毛,以自然語言處理(NLP)為例,細分有自然語言生成、自然語言理解,還有不同語言的語言模型。任一個方向花幾十年研究也不為過,只給幾個字答案和買彩券有什麼差別……

因此大部分機器學習實踐者還是腳踏實地吧。盲目追逐熱點很容易跌進陷阱,而鞏固基礎、尋找自己擅長的領域和機器學習交叉點,可幫助你在就業市場保持炙手可熱,成為業界最想要的人才。

0. 背景

工業界未來需要什麼樣的機器學習人才?老生常談──能將模型用於專業領域的人,也就是跨領域讓機器學習落地的人。有人會問現在不就需要這樣的人嗎?答案是肯定的,我們需要並也長期需要這樣的人才,現階段機器學習落地還有各種各樣的困難。這種需求不是曇花一現,這就跟 web 開發是同樣道理,從火熱到降溫也過了十年。一個領域的發展有特定週期,機器學習的門檻比 web 開發高且正在日出期,所以大家致力於成為「專精特定領域」的機器學習專家不會過時。

什麼是特定領域的機器學習專家?舉個例子,我以前曾回答 「人工智慧會否取代財務工作者」 時提到,我曾在某個公司研究如何用機器學習自動化一部分稽核工作,但遇到的最大困難是我自己對稽核的了解有限,而其他稽核師對我的工作不是非常支援,導致進展緩慢。所以如果你有足夠的機器學習知識,並對特定領域理解良好,職場供需中你肯定站在優勢方。以一個問題「阿薩姆:反欺詐(Fraud Detection)用到的機器學習模型有哪些?」回答為例,特定領域的知識幫助我們更能解釋機器學習模型的結果,得到老闆和用戶的認可,這才可說是演算法落了地。能寫程式碼、構建模型的人千千萬萬個,但理解自己在做什麼,並結合自己的領域知識,提供商業價值的人少之又少。調侃一句,哪個方向的機器學習人才最缺?答:每個領域都需要專精的機器學習人才,你對特定領域的理解就是你的武器。

當然,給雞湯不給湯匙很不厚道,所以我會再給一些具體建議。再次申明,這裡我僅建議以就業為主的朋友,走研究路線有不同建議,本文不再贅述。

1. 基本功

說到底機器學習還是需要一定的專業知識,這可以透過學校學習或自學完成。但有沒有必要通曉數學,擅長最佳化呢?我的看法是不需要,大前提是要了解基本的數學統計知識即可,更多討論可看我在「阿薩姆:如何看待『機器學習不需要數學,很多算法封裝好了,調個包就行』這種說法?」的答案。最低程度我建議掌握五個小方向,對於現在和未來幾年內的業界夠用了。再次重申,我對演算法的看法是大部分人不要造輪子、不要造輪子、不要造輪子!只要理解自己在做什麼,知道選什麼模型,直接呼叫 API 和現成的工具包就好了。

  • 回歸模型(Regression)。學校課程其實講更多分類,但事實上回歸才是業界最常見的模型。比如產品定價或預測產品的銷量都需要回歸模型。現階段比較流行的回歸方法是以數為模型的 xgboost,預測效果很好,還可以自動排序變數重要性。傳統的線性回歸(一元和多元)也還會繼續流行下去,因為良好的可解釋性和低運算成本。如何掌握回歸模型?建議閱讀《Introduction to Statistical Learning》的 2-7 章,並看一下 R 裡 xgboost 的 package 介紹。
  • 分類模型(Classification)。老生常談,但應該對現在流行並繼續流行下去的模型有深刻了解。舉例,隨機森林(Random Forests)和支援向量機(SVM)都屬於現在業界常用的演算法。可能很多人想不到的是,邏輯回歸(Logistic Regression)這個常見於大街小巷每本教科書的經典老演算法,依然占據業界半壁江山。這個部分建議看李航《統計學習算法》,挑著看相對應的那幾章即可。
  • 神經網路(Neural Networks)。我沒有把神經網路歸結到分類算法還是因為現在太紅了,有必要學習了解一下。隨著硬體能力的持續增長和資料集愈豐富,神經網路在中小企業的發揮之處肯定有。三、五年內,這個可能會發生。但有人會問,神經網路內容那麼多,比如架構,比如正則化,比如權重起始化技巧和觸發函數選擇,我們該學到什麼程度呢?我的建議還是抓住經典,掌握基本的三套網路:a. 普通的 ANN。b. 處理影像的 CNN。c. 處理文字和語音的 RNN(LSTM)。對每個基本網路只要了解經典的處理方式即可,具體可參照《深度學習》的 6~10 章和吳恩達的 Deep Learning 網路課程。
  • 資料壓縮/可視化(Data Compression & Visualization)。業界常見的就是先可視化資料,比如這兩年很紅的流形學習(manifold learning)就和可視化有很大的關係。業界認為做可視化是磨刀不誤砍柴工,把高維資料壓縮到 2 維或 3 維,可很快看到一些有意思的事,能節省大量時間。學習可視化可以使用現成的工具,如 Qlik Sense 和 Tableau,也可用 Python 的 Sklearn 和 Matplotlib。
  • 無監督學習和半監督學習(Unsupervised & Semi-supervised Learning)。業界另一個特點就是大量資料缺失,大部分情況都沒有標籤。以最常見的反詐騙為例,有標籤的資料非常少。所以一般都需要使用大量的無監督或半監督學習,來利用有限的標籤學習。多說一句,強化學習在大部分企業使用基本為 0,估計未來很長一陣子可能都不會有特別廣泛的應用。

基本功的意義是當你面對具體問題時,很清楚可用什麼武器對付。上面介紹的很多工具都有幾十年歷史,依然歷久彌新。所以 3~5 年的跨度來看,這些工具依然非常有用,甚至像 CNN 和 LSTM 之類的深度學習演算法還在繼續發展。無論你還在學校或已工作,掌握這些基本技術,都可以透過自學在幾個月到一兩年內完成。

2. 祕密武器

有了基本功只說明你可以匯出了,怎麼才能使基本功不是屠龍之術?必須結合領域知識。這也是為什麼我一直勸很多朋友不要盲目轉機器學習、從零做起。學生可以多關注自己感興趣的領域,思考如何把機器學習運用在這個領域。比如我對歷史和哲學很感興趣,常在思考機器學習和其他文科間的關聯,也寫過一些開腦洞的文章如《帶你了解機器學習(一):機器學習中的 「哲學」》

已有工作/研究經驗的朋友,要試著利用自己的工作經歷。舉例,不要做機器學習裡最擅長投資的人,而要做金融領域中最擅長機器學習的專家,這才是你的價值主張(value proposition)。最重要的是,機器學習的基本功沒有大家想的那麼高不可攀,沒有必要放棄自己的專業全職轉行,沉沒成本太高。透過跨領域完全可做到曲線救國,化劣勢為優勢,你們可能比只懂機器學習的人有更大的產業價值。

舉幾個我身邊的例子。一個朋友是做傳統軟體工程研究,前年他和我商量如何使用機器學習以 GitHub 上的 commit 歷史來辨識 bug,這就是一個結合領域的好知識。如果你本身是金融出身,在你補足基本功同時,就可以把機器學習交叉用於你擅長的領域,做策略研究,我已經聽說無數個「宣稱」使用機器學習實現交易策略的案例。雖不可盡信,但對特定領域的深刻理解往往就是捅破窗戶的最後一層紙,只理解模型但不了解資料和背後的意義,導致很多機器學習模型只停留在好看卻不實用的階段。

換個角度思考,不同領域的人都理解機器學習更能促進技術落地、打破泡沫傳言。對大眾而言,不再擔心自己會失業,還能找到自己的角度,在這個全民深度學習的時代找到「金飯碗」。所以我建議各行各業的從業者,不必盲目轉行到電腦或機器學習,而應該加深對專業的了解,並自學補充上面提到的基本功,自己成為這個領域的機器學習專家。

3. 彈藥補給

沒有什麼不會改變,這個時代的科技更新速度很快。從深度學習開始發力到現在也不過短短十年,所以沒有人知道下一個紅的是什麼。以深度學習為例,這兩年非常紅的對抗生成網路(GAN)、多目標學習(multi-lable learning)、遷移學習(transfer learning)都還在飛速發展。關於深度學習為什麼有良好泛化能力的理論猜想文章,在最新的 NIPS 聽說也收錄了好幾篇。這都說明了沒什麼產業可以靠吃老本瀟灑下去,我們需要追新的熱點。但機器學習的範圍和領域真的很廣,上面所說的都還是有監督的深度學習,無監督的神經網路和深度強化學習也是現在火熱的研究領域。所以我的建議是盡量關注、學習了解已成熟和已有實例的新熱點,不要凡熱點必追。

如果你有這些基本功和良好的領域結合能力,3、5 年絕不是職業的瓶頸期,甚至十年都還太早。科技時代雖然給我們很大的壓力,但也帶給我們無限可能。技術總會過時,熱點總會過去,但不會過去的是不斷追求新科技的熱情,和對自己的挑戰。

歡迎加入機器學習的世界!

(本文由 雷鋒網 授權轉載;首圖來源:shutterstock)