入門級攻略:機器學習 VS. 深度學習

2021-02-15 大數據分析和人工智慧

本文由北郵@愛可可-愛生活 老師推薦,阿里云云棲社區組織翻譯。
文章原標題《Deep Learning vs. Machine Learning – the essential differences you need to know!》,作者:Faizan Shaikh,譯者:李烽,審校:段志成-海棠

摘要: 本文以淺顯易懂的語言介紹了機器學習和深度學習的定義及應用,以及在源數據要求,硬體支持,特徵工程、問題解決方式、執行時間及可解釋性等方面的區別,對於新手入門有很大啟示意義。

楔子:

機器學習和深度學習現在很火,你會發現突然間很多人都在談論它們。如下圖所示,機器學習和深度學習的趨勢對比(來自Google trend,縱軸表示搜索熱度):

本文將會以簡單易懂的語言及示例為大家詳細解釋深度學習和機器學習的區別,並介紹相關用途。

機器學習和深度學習簡介機器學習

Tom Mitchell 關於機器學習的定義被廣泛引用,如下所示:

對於某類任務T和性能度量P,如果一個電腦程式在T上以P衡量的性能隨著經驗E而不斷自我完善,那麼我們稱這個電腦程式在從經驗E學習。

「A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E 」

上面的抽象定義可能使你感到困惑,相信下面幾個簡單的示例會讓你恍然大悟。

【例1 根據身高預測體重】

假設你要創建一個根據人的身高預測體重的系統。第一步是收集數據,收集完之後畫出數據分布圖如下所示。圖中的每個點都代表一條數據,橫坐標表示身高,縱坐標表示體重。

我們可以畫一條簡單的直線來根據身高預測體重,比如:

Weight (in kg) = Height (in cm) – 100

如果這條直線預測身高很準確,那怎樣來衡量它的性能呢?比如以預測值和真實值之間的差值來衡量預測模型的性能。當然,源數據越多,模型效果就越好。如果效果不好,那麼可以使用其他方法來提升模型性能,如增加變量(如性別)或者改變預測直線。

【例2 風暴預測系統】

假定要構建一個風暴預測系統,你手頭上有過去發生的風暴數據以及這些風暴發生前三個月的天氣數據。那麼怎樣構建一個風暴預測系統呢?

首先要做的是清洗數據並找到數據中的隱藏模式,比如導致風暴產生的條件。我們可以對一些條件建模,比如溫度是否大於40攝氏度,溼度是否介於80到100之間,然後將這些特徵輸入模型。

你要做的就是充分利用歷史數據,然後預測是否會產生風暴。在這個例子中,評價的指標是正確預測風暴發生的次數。我們可以重複預測過程多次,然後將性能結果返回系統。

回到最初機器學習的定義,我們將風暴預測系統定義如下:任務T是找到造成風暴的大氣條件,性能P是在模型參數學習好之後,正確預測的次數,經驗E是系統的迭代過程。

深度學習

深度學習其實很早之前就出現了,隨著近幾年的炒作,又逐漸火起來了。

深度學習是一種特殊的機器學習,它將現實世界表示為嵌套的層次概念體系(由較簡單概念間的聯繫定義複雜概念,從一般抽象概括到高級抽象表示),從而獲得強大的性能與靈活性。

Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.

【例1 圖形檢測】

假設我們要將矩形和其他圖形區別開。人眼首先是檢測這個圖形是否有4條邊(簡單概念)。如果有4條邊,在檢測它們是否相連,閉合且垂直,以及是否相等(嵌套層次概念)。事實上,我們將一個複雜的任務(矩形識別)分解成一些簡單低抽象層次的任務。深度學習本質上是在更大的範圍內做這件事。

【例2 貓還是狗】

這個案例是構建一個能夠識別圖片中動物是貓或者狗的系統。

如果使用機器學習解決這個問題,首先要定義一些特徵,比如該動物是否有鬍鬚、耳朵;如果有耳朵,那麼耳朵是否是尖的。簡單地說,我們要定義面部特徵,然後讓系統識別出在動物分類中哪些是重要特徵。而深度學習會一次性完成這些任務,深度學習會自動找到對分類任務重要的特徵,而機器學習不得不人工指定。

深入學習工作流程如下:

1. 首先在圖片中找到和貓或者狗最相關的邊界;

2. 然後找到形狀和邊界的組合,如是否能找到鬍鬚和耳朵;

3. 在複雜概念的連續分層識別後,就能夠確定哪些特徵對識別貓狗起重要作用。

機器學習和深度學習的對比數據依賴

深度學習和傳統機器學習最重要的區別是它的性能隨著數據量的增加而增強。如果數據很少,深度學習算法性能並不好,這是因為深度學習算法需要大量數據才能很好理解其中蘊含的模式。這種情況下,使用人工指定規則的傳統機器學習佔據上風。如下圖所示:

硬體支持

深度學習算法嚴重依賴於高端機,而傳統機器學習在低端機上就可以運行。因為深度學習需要進行大量矩陣乘法操作,而GPU可以有效優化這些操作,所以GPU成為其中必不可少的一部分。

特徵工程

特徵工程將領域知識輸入特徵提取器,降低數據複雜度,使數據中的模式對學習算法更加明顯,得到更優秀的結果。從時間和專業性方面講,這個過程開銷很高。機器學習中,大部分使用的特徵都是由專家指定或根據先驗知識確定每個數據域和數據類型。比如,特徵可以是像素值,形狀,紋理,位置,方向。大多數機器學習方法的性能依賴於識別和抽取這些特徵的準確度。

深度學習算法試圖從數據中學習高層特徵,這是深度學習與眾不同的一部分,同時也是超越傳統機器學習的重要一步。深度學習將每個問題歸結為開發新特徵提取器,如卷積神經網絡在底層學習如邊和直線種種低層特徵,然後是面部部分特徵,最後是人臉的高層特徵。

問題解決方案

當使用傳統機器學習方法解決問題時,經常採取化整為零,分別解決,再合併結果求解的策略。而深度學習主張end-to-end模型,輸入訓練數據,直接輸出最終結果,讓網絡自己學習如何提取關鍵特徵。

比如說你要進行目標檢測,需要識別出目標的類別並指出在圖中的位置。

典型機器學習方法將這個問題分為兩步:目標檢測與目標識別。首先,使用邊框檢測技術,如grabcut,掃描全圖找到所有可能的對象,對這些對象使用目標識別算法,如HOG/SVM,識別出相關物體。

深度學習方法按照end-to-end方式處理這個問題,比如YOLO net通過卷積神經網絡,就能夠實現目標的定位與識別。也就是原始圖像輸入到卷積神經網絡中,直接輸出圖像中目標的位置和類別。

執行時間

通常,深度學習需要很長時間訓練,因為深度學習中很多參數都需要遠超正常水平的時間訓練。ResNet大概需要兩周時間從零開始完成訓練,而機器學習只需要從幾秒到幾小時不等的訓練時間。測試所需要的時間就完全相反,深度學習算法運行需要很少的時間。然而,和KNN(K近鄰,一種機器學習算法)相比,測試時間會隨著測試數據量的增加而增加。不過並非所有的機器學習算法都需要很長時間,某些也只需要很少的測試時間。

可解釋性

假定使用深度學習給文章自動評分,你會發現性能會很不錯,並且接近人類評分水準。但它不能解釋為什麼給出這樣的分數。在運行過程中,你可以發現深度神經網絡的哪些節點被激活,但你不知道這些神經元是對什麼進行建模以及這每層在幹什麼,所以無法解釋結果。

另一方面,機器學習算法如決策樹按照規則明確解釋每一步做出選擇的原因,因此像決策樹和線性/邏輯斯蒂回歸這類算法由於可解釋性良好,在工業界應用很廣泛。

機器學習和深度學習應用場景

Wiki上面介紹了一些機器學習的應用領域:

1. 計算機視覺:如車牌號識別,人臉識別;

2. 信息檢索:如搜尋引擎,文本檢索,圖像檢索;

3. 營銷:自動郵件營銷,目標識別;

4. 醫療診斷:癌症診斷,異常檢測;

5. 自然語言處理:語義分析,照片標記;

6. 在線廣告等等。

下圖總結了機器學習的應用領域,總的來說應用範圍十分廣泛。

谷歌是業內有名的使用機器學習/深度學習的公司,如下圖所示,谷歌將深度學習應用到不同的產品。

即時測試

為了評估你是否真正理解了機器學習和深度學習的區別,這裡將會有一個快速測試,可以在這裡提交答案。你要做的就是分別使用機器學習和深度學習解決下面的問題,並決定哪個方法更好。

【場景1】 假設你要開發一個無人駕駛汽車系統,該系統以相機拍攝的原始數據作為輸入,然後預測方向盤轉動的方向及角度。

【場景2】給定一個人的信用憑證和背景信息,評估是否可以給他發放貸款。

【場景3】創建一個將俄語文本翻譯為印度語的系統。

未來趨勢

前面總結了機器學習和深度學習的區別,本節對二者未來趨勢:

1. 鑑於工業界使用數據科學和機器學習呈增加的趨勢,在業務中使用機器學習對那些想要生存下來的公司變得越發重要。同時,了解更多的基礎知識也十分有必要。

2. 深度學習給人越來越多的驚喜,將來也會一直是這樣。深度學習被證明是已有技術中最先進的最好的技術之一。

3. 深度學習和機器學習和研究還在繼續,不像以前那樣在學術界發展受限。目前機器學習和深度學習在工業界和學術界呈爆炸式發展。並且受到比以前更多的基金支持,很有可能成為人類發展的關鍵點之一。

尾聲

本文將深度學習和機器學習進行了詳細對比,希望能夠激勵大家去學到更多知識。請參考

機器學習路線圖:https://www.analyticsvidhya.com/learning-path-learn-machine-learning/

深度學習路線圖:https://www.analyticsvidhya.com/learning-path-learn-machine-learning/

關注我就是關注數據的一切!    個人微信:datamen


相關焦點

  • 機器學習/深度學習入門資料匯總
    經常被同學和朋友詢問機器學習或深度學習入門,有哪些不錯的參考資料。老實講,這個問題在網上隨便一搜就是一大把的答案。
  • 機器學習 vs 深度學習到底有啥區別,為什麼更多人選擇機器學習
    -2018原文:https://dzone.com/articles/comparison-between-deep-learning-vs-machine-learni機器學習和深度學習有什麼區別?目標本文中,我們將深度學習與機器學習作比較。我們將逐一了解他們。我們還會討論他們在各個方面的不同點。除了深度學習和機器學習的比較,我們還將研究它們未來的趨勢。對比介紹深度學習和機器學習1. 什麼是機器學習?通常,為了實現人工智慧,我們會使用機器學習。
  • 入門者的機器學習/深度學習自學指南
    尤其是深度學習的自學指南。算法導論可謂是算法書中的經典,MIT有幾門配套的課程,對入門學者來說,有些難了。這本書容易一些,偏向入門。3. 機器學習3.1 機器學習基礎Ng教授的公開課的開山之作。深度學習4.1 深度學習基礎Andrew Ng. Neural networks and deep learning. deeplearning.ai, 2017.Andrew Ng.
  • AI | 怎樣快速入門機器學習和深度學習?
    編者按:入門機器學習和深度學習並不是一件容易的事情。需要學習大量的知識,初學者常常會迷茫不知所措。現在我們給你帶來一篇純乾貨,幫助你入門機器學習和深度學習。機器學習算法書籍:《統計學習方法》:李航博士的經典教材。用最精煉的語言描述機器學習算法,轉行AI必讀書籍《機器學習》:周志華教授的西瓜書。統計學習方法涵蓋面太窄,配合西瓜書來擴展寬度。《python機器學習及實現》:適合入門,學習曲線平滑,理論書看累了,就跟著這本書打一遍代碼,對kaggle就會大致的了解。
  • 入門深度學習與機器學習的經驗和學習路徑
    作者:Caliber(清華大學 應用數學博士在讀)連結:https://zhuanlan.zhihu.com/p/150507220最近接觸深度學習與機器學習已經有一段時間了
  • python深度學習---帶你從入門到精通
    深度學習在搜索技術,數據挖掘,機器學習,機器翻譯,自然語言處理,多媒體學習,語音,推薦和個性化技術,以及其他相關領域都取得了很多成果。深度學習使機器模仿視聽和思考等人類的活動,解決了很多複雜的模式識別難題,使得人工智慧相關技術取得了很大進步。
  • 近200篇機器學習&深度學習資料分享
    著重介紹了各種神級網絡算法的分布式實現,做 Distributed Deep Learning 的童鞋可以參考下《「機器學習」是什麼?》介紹:【「機器學習」是什麼?】John Platt 是微軟研究院傑出科學家,17 年來他一直在機器學習領域耕耘。近年來機器學習變得炙手可熱,Platt 和同事們遂決定開設博客,向公眾介紹機器學習的研究進展。機器學習是什麼,被應用在哪裡?
  • GitHub | 機器學習&深度學習&nlp&cv從入門到深入全套資源分享
    深度學習之目標檢測的前世今生(Mask R-CNN)深度學習目標檢測模型全面綜述:Faster R-CNN、R-FCN和SSD從RCNN到SSD,這應該是最全的一份目標檢測算法盤點目標檢測算法綜述三部曲基於深度學習的目標檢測算法綜述(一)基於深度學習的目標檢測算法綜述(二)基於深度學習的目標檢測算法綜述
  • 【乾貨薈萃】機器學習&深度學習知識資料大全集(二)(論文/教程/代碼/書籍/數據/課程等)
    【導讀】轉載來自ty4z2008(GItHub)整理的機器學習&深度學習知識資料大全薈萃,包含各種論文、代碼、視頻、書籍、文章、數據等等。是學習機器學習和深度學習的必備品!  介紹:生產環境(產品級)機器學習的機遇與挑戰.  介紹:神經網絡入門.
  • 深度學習 vs. 概率圖模型 vs. 邏輯學
    文章按時間順序展開,先回顧邏輯學和概率圖方法,然後就人工智慧和機器學習的未來走向做些預測。【編者按】在上個月發表博客文章《深度學習 vs. 機器學習 vs. 模式識別》之後,CMU博士、MIT博士後及vision.ai聯合創始人Tomasz Malisiewicz這一次帶領我們回顧50年來人工智慧領域三大範式(邏輯學、概率方法和深度學習)的演變歷程。
  • 深度學習 vs 機器學習 vs 模式識別(附:機器學習經典教材PRML《模式識別與機器學習》官方開放免費下載了
    以下為正文:本文我們來關注下三個非常相關的概念(深度學習、機器學習和模式識別),以及他們與機器人和人工智慧的聯繫。圖1 人工智慧並非將人放入一臺計算機中(圖片來源於 WorkFusion 的博客)環繞四周,你會發現不缺乏一些初創的高科技公司招聘機器學習專家的崗位。
  • 乾貨分享 | 機器學習、深度學習、nlp、cv從入門到深入全套資源分享
    深度學習之目標檢測的前世今生(Mask R-CNN)深度學習目標檢測模型全面綜述:Faster R-CNN、R-FCN和SSD從RCNN到SSD,這應該是最全的一份目標檢測算法盤點目標檢測算法綜述三部曲基於深度學習的目標檢測算法綜述(一)基於深度學習的目標檢測算法綜述(二)基於深度學習的目標檢測算法綜述
  • 機器學習&深度學習經典資料匯總(續)
    《mllib實踐經驗(1)》介紹:mllib實踐經驗分享《Google Turns To Deep Learning Classification To Fight Web Spam》介紹:Google用Deep Learning做的antispam(反垃圾郵件)《NLP常用信息資源》介紹:NLP常用信息資源* 《NLP常用信息資源》《機器學習速查表
  • 乾貨:深度學習 vs 概率圖模型 vs 邏輯學
    課程連結點擊文末:閱讀原文英文原文:Deep Learning vs Probabilistic Graphical Models vs Logic翻譯:zhyhooo轉自:CSDN在上個月發表博客文章《深度學習 vs 機器學習 vs 模式識別》之後,CMU博士、MIT博士後及vision.ai聯合創始人Tomasz Malisiewicz
  • 機器學習和深度學習有什麼區別?
    除了深度學習和機器學習的比較外,我們還將研究他們未來的趨勢和走向。深度學習 VS 機器學習深度學習與機器學習簡介一、什麼是機器學習?通常,為了實現人工智慧,我們使用機器學習。我們有幾種算法用於機器學習。
  • 我的機器學習入門路線圖
  • 深度學習和機器學習的線性代數入門
    機器學習和深度學習建立在數學原理和概念之上,因此AI學習者需要了解基本數學原理。神經元是深度學習的基本單位,該結構完全基於數學概念,即輸入和權重的乘積和。至於Sigmoid,ReLU等等激活函數也依賴於數學原理。
  • 機器學習入門線路
    ML表示機器學習,DEV表示開發,本專欄旨在為大家分享作為算法工程師的工作,機器學習生態下的有關模型方法和技術,從數據生產到模型部署維護監控全流程,預備知識、理論、技術、經驗等都會涉及,近期內容以入門線路為主,敬請期待!往期回顧:之前寫了有關計算機開發能力和數學能力的入門,在已有一定開發和數學基礎的前提下,大家可以慢慢開展機器學習方面的學習。
  • 資源│機器學習、深度學習、算法工程師等 AI 相關崗位面試需要知識
    資料圖解李金洪的《深度學習之TensorFlow 入門、原理與進階實戰》深度神經網絡實戰技巧深度學習從入門到進階的 12 個經典問題及解答計算機視覺知識點總結https://zhuanlan.zhihu.com/p/58776542圖解人工智慧https://okai.brown.edu
  • 深度學習入門
    那麼深度學習到底是什麼,其與傳統的機器學習之間又有什麼樣的關聯。對於想入坑深度學習的同學,又該從哪些方面入手。這就是本文要回答的問題。深度學習的提出       先從深度學習的提出開始說起,深度學習的概念是由Hinton在2006年提出,他當時首次提出了深度信念網絡(DBN),相比之前,他採用無監督方式逐層訓練深層網絡,在深層網絡訓練中取得了跨越式的進展。