深度學習 VS 傳統的機器學習

原文地址:http://blog.csdn.net/u010167269/article/details/52642562


由於和筆者的想法比較相同,特轉載,以作記錄,也供跟多人討論



自從 MIT Technology Review(麻省理工科技評論) 將 深度學習 列爲 2013 年十大科技突破之首。加上今年 Google 的 AlphaGo 與 李世石九段 驚天動地的大戰,AlphaGo 以絕對優勢完勝李世石九段。人工智能機器學習、深度學習、強化學習,成爲了這幾年計算機行業、互聯網行業最火的技術名詞。

其中,深度學習在圖像處理、語音識別領域掀起了前所未有的一場革命。我本人是做圖像處理相關的,以 2016 年計算機視覺三大會之一的 Conference on Computer Vision and Pattern Recognition(CVPR) 爲例,在 Accept Papers 中,以 “Convolution” 關鍵詞做搜索,就有 44 篇文章。以 “Deep” 爲關鍵詞搜索,有 96 篇文章:

這裏寫圖片描述

可以說,以 卷積神經網絡(CNN)爲代表的方法在圖像處理領域已經取得了統治地位。同樣的,以 遞歸神經網絡(RNN) 在語音處理方面也大放異彩。

但是在深度學習獨領風騷的同時,傳統的機器學習算法,如 SVM 慢慢不像十多年前那麼火熱了,甚至受冷落了,如在上面 CVPR 2016 年 Accept Papers 頁面中,搜索 “SVM”,僅僅有 4 篇文章:

這裏寫圖片描述



所以,不禁很多人又這樣的疑問,傳統的機器學習算法難道就此沒落了嗎?還有必要去學習嗎?

作爲一個小碩,入門了這麼長時間,我也想發表自己的看法:傳統的機器學習算法不會沒落,非常有必要去學。

從南大周志華老師的暢銷書《機器學習》的目錄來看:

第三章:線性模型
第四章:決策樹
第五章:神經網絡
第六章:支持向量機
第七章:貝葉斯分類器
第八章:集成學習
第九章:聚類
第十章:降維與度量學習
第十一章:特徵選擇與稀疏學習
第十二章:計算學習理論
第十三章:半監督學習
第十四章:概率圖模型
第十五章:規則學習
第十六章:強化學習

深度學習屬於神經網絡那一章,只佔機器學習領域很小的一塊。

機器學習發展了二十多年來,已經滲透到很多領域,如 Robotics, Genome data, Financial markets。

而目前,深度學習佔據統治地位的多數是在計算機視覺領域、自然語言處理領域。而且深度學習是 data driven 的,需要大量的數據,數據是其燃料,沒了燃料,深度學習也巧婦難爲無米之炊。如圖像分類任務中,就需要大量的標註數據,因爲有了 ImageNet 這樣 百萬量級,並帶有標註 的數據,CNN 才能大顯神威。

但是事實上,在實際的問題中,我們可能並不會有海量級別的、帶有標註的數據。如暑假我在廣州參加 CCF ADL70 機器學習研討班的時候,碰到北京的一個藥廠的學友,他們想用機器學習來預測藥物對人的影響。但問題是,他們沒有那麼多的數據,僅僅就幾十例,最多上百例的監督數據。據他們跟我介紹,他們就用的是 MCMC(Markov chain Monte Carlo) 的方法。

又比如說,我在研究我們老師的 正頜手術術後面型三維預測模擬及仿真分析 這個項目的時候,也是樣本數量非常少,需要用這麼少的數據來預測病人在做過正頜手術後面部的變形情況。

以上兩種情況是非常常見的,這時候深度學習算法就無能爲力,因爲小數據下深度學習十分的容易 Overfitting

通過上面的兩個例子,我想說的是,在小數據集上,深度學習還取代不了諸如 非線性和線性核 SVM貝葉斯分類器 方法。實際操作來看,SVM 只需要很小的數據就能找到數據之間分類的 超平面,得到很不錯的分類結果。

所以,既然能用 Linear regression、Logistic regression 能解決的問題,那這時候還幹嘛一定要用深度學習算法呢?況且,機器學習算法中,常常繞不開的 overfitting 問題,所以根據 奧卡姆剃刀原則如無必要,勿增實體。這時候,能用簡單的模型解決的問題,就不要用複雜的模型。

同樣的,南大周志華老師也認爲:即便是大數據,在無需另構特徵的任務上也取代不了其他分類器。本質上,將它看作特徵學習器比較合適。

所以,雖然深度學習發展如火如荼,但是其他機器學習算法並不會因此而沒落。甚至我認爲,結合深度學習,其他機器學習算法因此還可能獲得新生。我瞭解的,清華大學的朱軍老師 正在開發一個結合貝葉斯方法和深度學習方法的機器學習平臺:ZhuSuan(珠算) Project,詳情如下:

這裏寫圖片描述



So,該做一個總結了。深度學習算法與傳統的機器學習算法,各有利弊,大致如下:

  • 深度學習是 data driven 的,需要大量的數據,而傳統的機器學習算法通暢不需要;

  • 深度學習本質上可以看作一個特徵學習器,在無需另構特徵情況下,傳統的機器學習算法已經能夠勝任日常的任務;

  • 如無必要,勿增實體。能夠簡單的模型解決的,不必要上深度學習算法,殺雞焉用牛刀?

以我非常認同 OpenAITomasz Malisiewicz 大神說的一句話來結束吧:

Dont think about it as Machine Learning vs Deep Learning, just realize that each term emphasizes something a little bit different. But the search continues. Go ahead and explore. Break something.

We will continue building smarter software and our algorithms will continue to learn, but we have only begun to explore the kinds of architectures that can truly rule-them-all.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章