深度學習和機器學習已經變得無處不在,那它們之間到底有什么區別呢?本文我們為大家總結了深度學習VS機器學習的六大本質區別。
一、數據相關性
深度學習與傳統機器學習最重要的區別是,隨著數據量的增加,其性能也隨之提高。當數據很小的時候,深度學習算法并不能很好地執行,這是因為深度學習算法需要大量的數據才能完全理解它。
下圖便能很好的說明這個事實:
從上圖我們可以看到,隨著數據量的增大,深度學習的性能會越來越好,而傳統機器學習方法性能表現卻趨于平緩;但傳統的機器學習算法在數據量較小的情況下,比深度學習有著更好的表現。
二、硬件依賴性
深度學習算法在很大程度上依賴于高端機器,而傳統的機器學習算法可以在低端機器上工作。這是因為深度學習算法對GPU有較高的要求,GPU是其工作的一個組成部分。因為深度學習算法要固有地執行大量的矩陣乘法運,而使用GPU可以有效地優化這些操作,這就免不了對GPU的依賴。而相比之下,機器學習算法對硬件配置沒有很高的要求。
三、特征工程
特征工程是將領域知識應用到特征抽取的創建過程,以降低數據的復雜性為目的。但這一過程在訓練時間和如何提取特征方面十分地困難。
在機器學習中,大多數應用的特征需要由專家識別,然后根據域和數據類型手工編碼。
例如,特征可以是像素值、形狀、紋理、位置和方向,大多數機器學習算法的性能取決于特征識別和提取的準確程度。
而深度學習算法則試圖從數據中學習更高級的特性。這是深度學習一個非常獨特的部分,也是有別于傳統機器學習的一部分。因此,深度學習減少了為每個問題開發新的特征抽取的任務,而是像卷積神經網絡(CNN)這樣嘗試學習低層次的特征,如:早期層次的邊緣和線條,然后是人臉的一部分,最后才是人臉的高層次表示。這樣的方式相較于機器學習,在訓練時間和成本上有較高的提升。
四、解決問題方法
在使用傳統的機器學習算法解決問題時,通常的做法是將問題分解成不同的部分,然后單獨解決,最后結合起來得到結果。相比之下,深度學習更提倡端到端地解決問題。讓我們舉個例子來理解這一點。
如圖所示是一個多對象檢測任務,我們的目標是喲啊確定對象是什么以及它在圖像中的位置。
在典型的機器學習方法中,我們會將問題分為兩個步驟:對象檢測和對象識別。首先,我們將使用一個邊界檢測算法,如:GrabCut,來瀏覽圖像并找到圖像中所有可能的對象;然后,在所有已識別的對象中,我們再使用對象識別算法(如:SVM)來識別相關對象,最后再判斷對象的位置。
不同于傳統機器學習算法,在深度學習的方法中,我們將進行端到端的學習過程。例如,使用YOLO算法(一種深度學習算法)。我們往YOLO網絡中傳入一張圖像,它將給出對象的具體位置和名稱。是不是方便了很多呢?
五、執行時間
通常,深度學習算法需要很長的時間來訓練,這是因為在深度學習算法中有太多的參數,所以訓練這些參數的時間比平時要長。即使比較先進的深度學習算法Resnet,從零開始完全訓練也需要大約兩周的時間。相比之下,機器學習所需的訓練時間要少得多,從幾秒鐘到幾個小時不等。
相較于訓練時間,測試時間就要短很多。在測試時,深度學習算法的運行時間要短得多。但是,如果將其與k近鄰機器學習算法進行比較,測試時間會隨著數據大小的增加而增加。但這并不適用于所有機器學習算法,因為其中一些算法的測試時間也很短。
六、可解釋性
最后,我們將可解釋性作為比較機器學習和深度學習的一個因素。這一因素也是深度學習難以在工業中取得大規模應用的主要原因。
我們舉個例子:假設我們使用深度學習為論文自動評分,它在得分方面的表現相當出色,接近于人類的表現。但有一個問題:深度學習并沒有揭示它為什么會給出那個分數。事實上,從數學中我們可以發現深度神經網絡的哪些節點被激活,但是我們不知道神經元應該做什模型以及這些神經元層共同在做什么,所以我們無法對結果進解釋。
而相較于深度學習,類似于決策樹這樣的機器學習算法為我們提供了清晰的規則,告訴我們什么是它的選擇以及為什么選擇了它,很容易解釋算法背后的推理。因此,決策樹和線性/邏輯回歸等機器學習算法主要用于工業中需要可解釋性的場景。
-
機器學習
+關注
關注
66文章
8418瀏覽量
132635 -
深度學習
+關注
關注
73文章
5503瀏覽量
121162
發布評論請先 登錄
相關推薦
評論