1. 程式人生 > >Machine learning 和Deep learning的區別

Machine learning 和Deep learning的區別

兩者不是同一個level上的,深度學習是機器學習的一種。

1.機器學習是實現人工智慧的一種方法。機器學習的概念來自早期的人工智慧研究者,已經研究出的演算法包括決策樹學習、歸納邏輯程式設計、增強學習和貝葉斯網路等。簡單來說,機器學習就是使用演算法分析資料,從中學習並做出推斷或預測。與傳統的使用特定指令集手寫軟體不同,我們使用大量資料和演算法來“訓練”機器,由此帶來機器學習如何完成任務。

許多年來,計算機視覺一直是機器學習最佳的領用領域之一,儘管還需要大量的手動編碼才能完成任務。研究者會手動編寫一些分類器(classifier),如邊緣檢測篩選器,幫助程式辨別物體的邊界;圖形檢測分類器,判斷物體是否有八個面;以及識別“S-T-O-P”的分類器。在這些手動編寫的分類器的基礎上,他們再開發用於理解影象的演算法,並學習如何判斷是否有停止標誌。

但是由於計算機視覺和影象檢測技術的滯後,經常容易出錯。

2.深度學習是實現機器學習的一種技術。早期機器學習研究者中還開發了一種叫人工神經網路的演算法,但是發明之後數十年都默默無聞。神經網路是受人類大腦的啟發而來的:神經元之間的相互連線關係。但是,人類大腦中的神經元可以與特定範圍內的任意神經元連線,而人工神經網路中資料傳播要經歷不同的層,傳播方向也不同。

舉個例子,你可以將一張圖片切分為小塊,然後輸入到神經網路的第一層中。在第一層中做初步計算,然後神經元將資料傳至第二層。由第二層神經元執行任務,依次類推,直到最後一層,然後輸出最終的結果。

每個神經元都會給其輸入指定一個權重:相對於執行的任務該神經元的正確和錯誤程度。最終的輸出由這些權重共同決定。因此,我們再來看看上面提到的停止標誌示例。一張停止標誌影象的屬性,被一一細分,然後被神經元“檢查”:形狀、顏色、字元、標誌大小和是否運動。神經網路的任務是判斷這是否是一個停止標誌。它將給出一個“概率向量”(probability vector),這其實是基於權重做出的猜測結果。在本文的示例中,系統可能會有 86% 的把握認定影象是一個停止標誌,7% 的把握認為是一個限速標誌,等等。網路架構然後會告知神經網路其判斷是否正確。

不過,問題在於即使是最基礎的神經網路也要耗費巨大的計算資源,因此當時不算是一個可行的方法。不過,以多倫多大學 Geoffrey Hinton 教授為首的一小批狂熱研究者們堅持採用這種方法,最終讓超級計算機能夠並行執行該演算法,並證明該演算法的作用。如果我們回到停止標誌那個例子,很有可能神經網路受訓練的影響,會經常給出錯誤的答案。這說明還需要不斷的訓練。它需要成千上萬張圖片,甚至數百萬張圖片來訓練,直到神經元輸入的權重調整到非常精確,幾乎每次都能夠給出正確答案。不過值得慶幸的是Facebook 利用神經網路記住了你母親的面孔;吳恩達 2012 年在谷歌實現了可以識別貓的神經網路。

如今,在某些情況下,通過深度學習訓練過的機器在影象識別上表現優於人類,這包括找貓、識別血液中的癌症跡象等。谷歌的 AlphaGo 學會了圍棋,併為比賽進行了大量的訓練:不斷的和自己比賽。

總結

人工智慧的根本在於智慧,而機器學習則是部署支援人工智慧的計算方法。簡單的將,人工智慧是科學,機器學習是讓機器變得更加智慧的演算法,機器學習在某種程度上成就了人工智慧。