和傳統模式說再見,看機器學習如何走向深度學習?
主流的科技公司已在積極地把自己定位成AI或者機器學習公司:谷歌把「AI先行」作為公司戰略,Uber自帶機器學習的血統,而各種AI研究實驗室更是層出不窮。
這些公司都在想盡辦法說服世界,「機器智能的革命時代正在到來」。它們尤其強調深度學習,因為這些都在推動自駕汽車、虛擬助手等概念的發展。
儘管現在這些概念很流行,然而當下的實踐卻沒那麼樂觀。
現在,軟體工程師和數據科學家仍在使用許多幾年前的演算法和工具。
這也意味著,傳統的機器學習模式仍在支撐著大多數AI的應用,而不是深度神經網路。工程師仍然用傳統工具來處理機器學習,但是這並不起作用:採用數據建模的流水線最終由零散、不兼容的片段構成。這種情況在逐漸變化,因為大型科技公司正在研發具有端到端功能的特定機器學習平台。
機器學習「三明治」中夾了什麼?
機器學習構建有三個階段——數據處理階段、模型建構階段、部署及監控階段。在中間階段是最美味的,就像三明治中夾的肉,這也是機器學習演算法是怎麼學習預測輸入數據的。
這個模型同樣是「深度學習」的模型。深度學習是機器學習演算法的一個子類別,它使用多層神經網路來學習輸入和輸出之間的複雜關係。神經網路中的層次越多,其複雜性就越高。
傳統的數據式機器學習演算法(即那些不用深度神經網路的演算法)僅能有限地捕捉信息和訓練數據。大多應用僅採用更基本的機器學習演算法就可以有效的運作,相比之下深度學習的複雜性往往顯得是多餘。所以我們仍然看到軟體工程師在大規模地使用這些傳統模式,即使是在深度學習領域。
但是這個「三明治」流程也能將機器學習訓練前後的結果連接在一起。
第一階段把涉及到清理和格式化之前的大量數據放入模型。最後一個階段是對模型進行仔細的部署和監控。我們發現大部分AI的工作時間並未放在構建機器學習模型上,而是在準備和監控這些模型。
· 機器學習「三明治」里的肉:避免異國風味
儘管現在大型科技公司AI研究實驗室的焦點都是深度學習,大多數機器學習的應用卻並不依賴深度神經網路,而仍採用傳統機器學習的模式。最常見的包括線性/邏輯回歸模型,組合樹演算法和增強決策樹模型。這些模型背後,蘊含著其他科技公司的應用、朋友的建議、市場定位、用戶興趣預測,需求/供應模型和搜索結果排名等。
而工程師訓練這些模型的工具也十分老舊。最常用的機器學習庫是十年前發行的scikit-learn(儘管谷歌TensorFlow的使用者越來越多)。
人們用更簡單的模型而非採用深度學習是有原因的。因為深度神經網路很難訓練,他們需要大量的時間和計算能力(通常需要不同的硬體,特別是GPU)。想讓深度學習起作用是很難的——它仍然需要大量的人工調整、直覺、實驗以及試錯。
在傳統的機器學習模型中,工程師用於訓練和調整的時間相對較短,往往只有幾個小時。最後,就算深度學習精準度的小幅提高,用於拓展和開發所花費的時間也遠超過精準度提高的價值。
· 怎麼把三明治粘在一起?從數據到部署的工具?
所以當人們想培養機器學習模式的時候,傳統的方式很有效。但是這不適用於機器學習的基礎設施,傳統方式不能將機器學習三部分粘合起來,很容易埋下犯錯的隱患。
數據收集和處理解釋了機器學習的第一階段。大公司一定有大量數據,數據分析師和工程師必須處理數據並利用數據,從而能驗證和鞏固多源的副本,將演算法標準化,設計並證明各種功能。
大多數公司內,工程師使用SQL或Hive queires和Python腳本來聚集和格式化多源數據。這往往要耗費大量的人力。由於很多大公司的數據科學家或者工程師常常使用各種本地化的腳本或者Jupyter Notebook來工作,使過程分散化,導致重複性工作出現。
此外,哪怕大型高科技公司也會犯錯誤,必須生產過程中仔細地部署和監測模型。正如一名工程師所說:「在大型公司,80%的機器學習都由基礎建設組成。」
然而,傳統的單元測試,也算傳統軟體測試的主幹,並不適合機器學習模式,因為事先並不知道機器學習模型的正確輸出。畢竟,機器學習的目的是讓模型學習從數據中進行預測,而不需要工程師專門編寫任何規則。因此,工程師採用較少的結構化方式來代替單元測試,他們可以手動監控儀錶盤,並為新模型提供報警程序。
而實時數據的轉變可能會讓訓練有素的模型出現偏差,所以工程師會根據不同應用,每天或每月寫入新數據來校準模型。但是,現有的工程基礎設施缺乏特定機器學習的支持,可能會導致開發時的模型與生產時的模型之間斷開連接,因為一般代碼的更新頻率更低。
很多工程師仍然依賴於原始的設計模型和產品生產的方式,例如工程師有時候需要重建原型,而有些數據是用其他語言或結構展現的,所以他們只能使用基礎結構來開發產品。從數據整理階段到訓練階段再到部署產品結構階段,任何機器學習發展階段中的不兼容都能產生錯誤。
· 如何呈現?前進的道路?
為了解決這些問題,擁有定製化資源的幾家大公司,一直在努力創造屬於自己的機器學習工具。他們的目標是有一個無縫銜接、終端對終端的機器學習平台,能夠與計算機完全兼容。
Facebook的FBLearner Flow和Uber的Michelangelo的內部機器學習平台都做到了這些。他們允許工程師在一個原始用戶界面構造機器訓練和驗證數據集,從而能減少該階段的開發時間。然後,工程師們只要點擊一下滑鼠,就可以訓練學習模式。最終,他們可以輕鬆地監控和升級產品模式。
像Azure 的機器學習和Amazon的機器學習服務都公開發表過可選擇的方案,提供類似端對端的功能,但只能和Amazon或微軟的服務平台兼容。
儘管這些大公司都在使用機器學習來提升自己的產品,但多數仍然面臨巨大挑戰,並且效率低下。他們仍想用傳統機器學習模式而不是更先進的深層學習模式,而且仍依賴於傳統基礎工具來匹配機器學習。
幸運的是,現在AI是這些公司的研究焦點,他們也在努力讓機器學習變得更有效。有了這些內部工具,或者其它第三方機器學習平台的參與,能夠讓大家認識到AI的潛力。
作者:Catherine Dong
編譯:鯨媒體 Ariel
關注鯨媒體,回復藍皮書了解購買《中國中小學創客教育行業藍皮書(2016-2017)》
點擊展開全文
※京東率先應用TensorFlow框架 用機器學習推動人工智慧應用
※邦盛科技機器學習賦能銀行新未來
※大數據和機器學習揭示人類的天賦究竟從何而來?
※機器學習簡介 GAIR大講堂
※Google在北京成立人工智慧研究團隊推動機器學習應用技術
TAG:機器學習 |