未明學院:機器學習vs深度學習,如何規劃學習與就業路徑
自2016年以來,業界掀起一股人工智慧的熱潮。
2017年初,AlphaGo化身網路棋手Master擊敗聶衛平、柯潔、樸廷桓、井山裕太在內的數十位中日韓圍棋高手,在30秒一手的快棋對決中,無一落敗,拿下全勝,在棋界和科技界引發劇震。這使人們認識到AI(Artifical Intelligence)的威力和未來,於是人工智慧忽然之間離我們近在咫尺。
提到人工智慧,我們總是聽到兩個名詞,機器學習和深度學習。想要入門人工智慧的同學,可能對這兩個名詞尚未十分了解。今天,我們就來探討下機器學習與深度學習的區別。
什麼是人工智慧
人工智慧(Artificial Intelligence),英文縮寫為AI。它是研究開發用於模擬、延伸和擴充套件人的智慧的理論、方法、技術及應用系統的一門新的技術科學。
人工智慧是電腦科學的一個分支,它企圖瞭解智慧的實質,並生產出一種新的與人腦相似的方式做出反應的智慧機器。該領域的研究包括機器人、語言識別、影象識別、自然語言處理和專家系統等。
人工智慧從誕生以來,理論和技術日益成熟,應用領域也不斷擴大。
目前人工智慧應用已非常普遍,從智慧手機上的語音識別、房間清掃機器人再到提醒你會議召開的虛擬助手,AI已是資訊、學習、推理、計劃和交流的重要提供者。可以設想,未來人工智慧帶來的科技產品,將會是人類智慧的“容器”。
(圖為人臉識別系統)
什麼是機器學習
機器學習是AI的一個子領域,它通過演算法將AI概念應用於計算系統。計算機識別資料模式並根據資料模式採取行動,隨著時間的推移學習提高其準確性而無需明確的程式設計。
機器學習的背後是預測編碼,聚類和視覺熱圖等分析方法。我們開啟某寶、某東時的購物推薦就是機器學習的一個應用。
機器學習有如下幾種常用演算法:
1. 支援向量機演算法
2. 決策樹演算法
3. 神經網路
機器學習演算法通常分為以下四大類:
1. 監督學習(Supervised Learning)
能夠從有標籤的資料中學到或建立一個模式(learning model),並依此模式猜測新的例項。
舉個監督式學習的例子,我有一套電子郵件資料,我給每一封郵件都打上垃圾郵件或非垃圾郵件的標籤,那麼,這套資料便是資料種子集,程式可以利用這套資料種子集進行訓練,從而得到一個判斷垃圾郵件的模型。
2. 無監督學習(Unsupervised Learning )
資料是無標籤的,機器學習演算法需要先將資料分類,然後對資料結構進行描述,使複雜的資料看起來簡單,以便進行後續分析工作。
再以郵件為例,我有一套電子郵件資料,但是我並沒有人為地給它打標籤,而是直接進行聚類,程式會自動的分出垃圾郵件和非垃圾郵件。
3. 半監督學習(Semi-supervised Learning)
有監督學習和無監督學習的中間帶就是半監督學習(semi-supervised learning)。對於半監督學習,其訓練資料的一部分是有標籤的,另一部分沒有標籤,而沒標籤資料的數量常常遠遠大於有標籤資料數量。
4. 強化學習(Reinforcement Learning)
強化學習是機器學習的一個重要分支,是多學科多領域交叉的一個產物,它的本質是解決decision making 問題,即自動進行決策,並且可以做連續決策。Alpha Go用的就是強化學習,這類很重要,在機器人中也用的很多。
什麼是深度學習
深度學習,又叫人工神經網路(神經網路是受人類大腦的啟發而來的,是神經元之間的相互連線關係),它是實現機器學習的一種技術,和其它所有機器學習一樣都是基於演算法。
然而它並非如機器學習一樣根據任務選擇演算法,而是模仿人類大腦結構與運算過程——識別非結構化輸入的資料,輸出精確的行為和決策。
近期,深度學習摧枯拉朽般地實現了各種任務,使得似乎所有的機器輔助功能都變為可能。無人駕駛汽車,預防性醫療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現。
現在我們可以理順人工智慧、機器學習和深度學習三者的關係了。簡而言之,機器學習是人工智慧的一部分(子集),深度學習是機器學習的一部分(子集)。
深度學習 ⊂ 機器學習 ⊂ AI
這就是三者的關係。雖然“深度學習”已經在很多工上超越了傳統機器學習,在近幾年也有了長足的發展,但是其本身仍然存在一些問題。
一是非常依賴於大量的標記資料。有的場景下,資料的標記成本非常的高,甚至有的場景下注定沒法擁有大量的標記資料,比如風控中的黑樣本。所以很多場景,特別是結構化資料的建模仍然是傳統機器學習的天下。
二是暫時沒有完善的理論做支撐。深度學習不像機器學習(統計學習),它暫時沒有完善的數學理論做支撐,目前,既沒有完整的關於深度學習有效性的理論,也沒有任何一本能超越機器學習實戰經驗的指南或者書, 導致深度學習的發展如同摸著石頭過河。
機器學習VS深度學習
1. 資料依賴方面
深度學習和傳統機器學習最重要的區別在於資料量增長下的表現差異。
當資料量很少的時候,深度學習演算法不會有好的表現,這是因為深度學習演算法需要大量資料來完美地實現。相反,傳統機器學習在這個情況下是佔優勢的。下圖概括了這個事實。
2. 硬體依賴方面
深度學習演算法高度依賴高階機器,而傳統的機器學習演算法可以在低端機器中執行。
這是因為深度學習演算法對圖形處理器(GPU)的依賴是它在工作中的重要部分。深度學習演算法內在需要做大量的矩陣乘法運算,這些運算可以通過圖形處理器實現高效優化, 圖形處理器就是因此而生的。
3. 解決問題方面
傳統機器學習演算法求解問題時,它通常會建議把問題細分成不同的部分,獨立地解決他們,然後進行合併從而獲得最終結果。
深度學習中目標定位裡有兩大類方法,一大類類似為yolo(Joseph Redmon和Ali Farhadi等人於2015年提出的基於單個神經網路的目標檢測系統),稱呼為one stage,主張端對端解決問題,速度很快。另一類稱呼為two stage,不是端對端解決問題,比前者稍慢,但是準確度更高。
4. 執行時間方面
通常神經網路演算法都會訓練很久,因為神經網路演算法中有很多引數,所以訓練它們通常比其他演算法要耗時。即使是深度學習演算法Imagenet資料集訓練,也比較消耗計算資源。
而機器學習相對而言則只需要很短的時間來訓練,大概在幾秒到幾小時不等。
5. 可解釋性方面
最後,我們也把可解釋性作為一個因素來對比一下機器學習和深度學習。
舉個例子,假設我們使用深度學習來給文章自動打分。它打分的表現十分的好並且非常接近人類水平,但是有個問題,它不能告訴我們為什麼它要給出這樣的分數。
實際在數學上,你可以找到一個深度神經網路哪些結點被激活了,但我們不知道這些神經元被模型怎麼利用,而且也不知道這些層在一起做了點什麼事情。所以我們不能根據結果進行合理的解釋。
在另一方面,機器學習演算法例如決策樹,通過清晰的規則告訴我們為什麼它選擇了什麼,所以它是特別容易解釋結果背後的原因。因此,像決策樹和線性/邏輯迴歸一樣的演算法由於可解釋性而廣泛應用於工業界。
其實在許多領域,機器學習和深度學習並非相斥而是互補的關係。
學習規劃和建議
把握技術的發展趨勢
按時間先後排序:科學 快於 技術 快於 資本 快於 媒體 快於 政策
人工智慧(AI)就也符合以上發展趨勢。
▲科學
AI的一些科學理論基礎,實際上已經出現了幾十年,甚至一百年,幾百年。只是那個時候這些數學家並不知道他能有什麼實際的用處而已。
▲技術
之後由這些理論基礎,發展出了AI技術,比如近幾年的發展。但為什麼恰是這幾年,AI技術有了很進一步的發展?因為這些技術的產生和時機以及環境息息相關。
▲資本
當技術稍有成果之後,資本開始蠢蠢欲動,大量進入市場。
▲媒體
當市場取得成功之後,媒體介入,之後則是大量的宣傳,報道。
▲政策
之後在經過了大量的驗證之後,政府在政策上開始對相關技術的企業進行政策扶持。甚至將此方向作為以後大力發展的方向。
機器學習已經在市場上無孔不入了,而深度學習還處於初級階段,商業化程度有限。
定位好學習的境界
作為一個AI演算法工程師(機器學習和深度學習),主要有四種境界。
▲科學家境界
很少很少一部分人能達到的境界,主要是那些從事AI研究的科學家,他們能原創出很多的演算法和理論,解決一些難題。
▲工程師境界
有很強的理論背景和工程實現能力,能獨立復現最新的論文,深刻理解論文的實現原理,並能在上面做一些小創新。
▲應用者境界
是大部分演算法工程師所在的境界,主要就是明白原理,知道如何實現,核心在於知道如何把它應用在一個實際的業務場景之中。
▲知其然境界
知道機器學習和深度學習大概是個什麼東西,不會過分的去神話它,知道它們的優勢,更知道它們的侷限。
不同的境界對應不同的要求,簡單概括是:
工程能力決定你的下界,理論能力與業務理解決定你的天花板。
定位好職業的崗位
目前來說,與機器學習和深度學習相關的主要有以下一些崗位:
>>>>ETL工程師:
主要是做數倉相關的工作,可以粗淺理解為資料處理的一線員工。
>>>>BI分析師:
智慧商務決策分析師,利用大資料工具做一些商業資料分析和資料的視覺化。
>>>>資料分析師:
通過大資料工作做一些資料的分析和視覺化,業務更廣泛。
>>>>資料探勘工程師:
對大資料進行建模工作,完成某些特定的業務場景。
>>>>AI平臺工程師:
主要對機器學習,深度學習的平臺和元件進行開發工作,也包 括模型優化工作(如使用CUDA對模型進行改寫)。
機器學習目前已應用到視覺化、市場營銷、醫療診斷、資訊檢索等多個領域。
與此同時,深度學習每天都給我們每個人製造驚喜,並且在不久的將來也會持續著這個趨勢。這是因為深度學習已經被證明是能實現最先進表現的最佳技術之一。
機器學習和深度學習的研究會持續進行。
但與前些年侷限於學術上的研究有所區別,深度學習和機器學習領域上的研究會在工業界和學術界同時爆發,而且隨著可用資金的增加,它會更可能成為整個人類發展的主題!