近年來,深度學習已成為大多數(shù)AI問題的首選技術,使得經(jīng)典機器學習相形見絀。原因很明顯,深度學習在語音、自然語言、視覺和游戲等許多任務上都表現(xiàn)出卓越的性能。然而,盡管深度學習具有如此好的性能,經(jīng)典機器學習方法仍有一些優(yōu)勢,而且在一些特定情況下最好使用經(jīng)典機器學習方法,例如線性回歸或決策樹,而不是使用一個大型深度網(wǎng)絡。
本文將對比深度學習和經(jīng)典機器學習,分別介紹這兩種技術的優(yōu)缺點以及它們在哪些問題/如何得到最佳使用。
深度學習優(yōu)于經(jīng)典機器學習
一流的性能:在許多領域,深度網(wǎng)絡已經(jīng)取得了遠遠超過經(jīng)典ML方法的精度,包括語音、自然語言、視覺、游戲等。在許多任務中,經(jīng)典的ML方法甚至無法與深度學習比較。例如,下圖顯示了ImageNet數(shù)據(jù)集上不同方法的圖像分類精度;藍色表示經(jīng)典ML方法,紅色表示深度卷積神經(jīng)網(wǎng)絡(CNN)方法。深度學習方法的分類錯誤率遠遠低于經(jīng)典ML方法。
用數(shù)據(jù)進行有效的擴展:與經(jīng)典ML算法相比,如果有更多的數(shù)據(jù),深度網(wǎng)絡可以更好地擴展。下圖是一個簡單的例子。很多時候,用深度網(wǎng)絡來提高準確性的最佳建議就是使用更多的數(shù)據(jù)!但使用經(jīng)典ML算法時,這種快速簡單的方法幾乎沒有效果,通常需要更復雜的方法來提高精度。
不需要特征工程:經(jīng)典的ML算法通常需要復雜的特性工程。通常,需要先在數(shù)據(jù)集上執(zhí)行探索性數(shù)據(jù)分析。然后,可以降低維度以便于處理。最后,必須仔細選擇最佳的特征,以傳遞給ML算法。在使用深度學習時,不需要這樣的特征工程,因為只需將數(shù)據(jù)直接傳遞給網(wǎng)絡,通常就可以立即實現(xiàn)良好的性能。這完全消除了整個過程中繁重而且很有挑戰(zhàn)性的特征工程階段。
適應性強,易于遷移:與經(jīng)典的ML算法相比,深度學習技術可以更容易地適應不同的領域和應用。首先,遷移學習可以使預訓練的深度網(wǎng)絡對同一領域的不同應用生效。例如,在計算機視覺中,預訓練的圖像分類網(wǎng)絡通常用作目標檢測和分割網(wǎng)絡的特征提取前端。將這些預訓練的網(wǎng)絡作為前端,可以簡化整個模型的訓練,并且通常有助于在更短的時間內(nèi)實現(xiàn)更高的性能。
此外,不同領域使用深度學習的基本思想和技術往往是可以轉(zhuǎn)移的。例如,一旦了解了語音識別領域的深度學習基礎理論,那么學習如何將深度網(wǎng)絡應用于自然語言處理就不太困難了,因為兩者所需的基礎知識非常相似。但對于經(jīng)典ML來說,情況并非如此,因為構建高性能ML模型需要特定領域和特定應用的ML技術和特征工程。對于不同的領域和應用,經(jīng)典ML的知識基礎是非常不同的,并且往往需要在每個單獨的領域進行廣泛的專門研究。
經(jīng)典機器學習優(yōu)于深度學習
在小數(shù)據(jù)上能更好地工作:為了實現(xiàn)高性能,深度學習需要非常大的數(shù)據(jù)集。之前提到的預訓練的網(wǎng)絡在120萬張圖像上進行了訓練。對于許多應用來說,這樣大的數(shù)據(jù)集是不容易獲得的,花費昂貴而且耗時。對于較小的數(shù)據(jù)集,經(jīng)典的ML算法通常優(yōu)于深度學習。
財務和計算上都更便宜:有大量的數(shù)據(jù),又需要在合理時間內(nèi)訓練完,深度學習要求使用高端GPU。這些GPU非常昂貴,但是如果沒有它們,就很難實現(xiàn)高性能的深度網(wǎng)絡。要有效地使用這樣的高端GPU,還需要一個快速的CPU、SSD存儲、快速而且容量大的RAM。經(jīng)典的ML算法只需要一個像樣的CPU就可以訓練得很好,并不需要最好的硬件。因為它們的計算成本不高,因此可以在較短的時間里更快地迭代,并嘗試多種不同的技術。
更容易解釋:由于經(jīng)典ML涉及直接的特征工程,這些算法很容易解釋和理解。此外,由于我們對數(shù)據(jù)和底層算法有了更深入的了解,調(diào)參和更改模型設計也更簡單。另一方面,深層學習是一個“黑盒子”,即使是現(xiàn)在,研究人員也不能完全了解深層網(wǎng)絡的“內(nèi)部”。由于缺乏理論基礎,超參數(shù)和網(wǎng)絡設計也是一個很大的挑戰(zhàn)。