# 機器學習與深度學習之差異 ###### tags: `Machine Learning`、`Deep Learning`、`Artificial Intelligence` ## 人工智慧(Artificial Intelligence) - 建立於機器上的類似大腦智慧的一種判斷機制 - 其目的以編寫程式的方式,模擬出人類大腦中的決策,並模仿、理解、學習等等特性,而形成類似人類的「智慧」 - 其中利用大量的硬體設備作為資訊來源作為訊息的接收,舉例以鏡頭串流影像作為人眼、以麥克風收集聲音作為耳朵等等。 - 人工智慧隸屬於大範疇,包含了機器學習(Machine Learning) 與深度學習(Deep Learning)。如下圖所示: ![](https://i.imgur.com/UImntwa.png) ## 機器學習(Machine Learning) - 透過演算法設計,讓機器去尋求最佳化的一種學科 - 能幫助人們探討一些複雜的問題 - e.g. 從一大堆數據資料判斷貓與狗時,從前人們必須利用過往的實驗經驗反覆找出判斷規則或是最佳的判斷機制。 - 而透過機器學習方式則提供許多有效率的演算法,幫助人們分析資料,比如說資料群聚分布,資料的回歸模型等等 - 機器學習主要可分類成下面三類: 1. 監督式學習(supervised learning): - 需將每筆資料標記上一個「**標籤**」,簡單來說就是希望輸出什麼,比如說是或非、狗或貓、蘋果或橘子 - 利用大量已知標籤資訊與資料訓練的方式建立出一個分類器(Classifier)或稱模型(Model) - 除了資料分類,監督式學習亦包含迴歸分析(Regression)算法 - 最具代表的算法有 Adaboost、SVM、Decision Tree、Neural Network 等等。 2. 非監督式學習(unsupervised learning): - 不需對每筆資料標記標籤,常以資料的分布狀況去建立一個分類器 - 除了聚類分類(clustering),非監督式學習亦包含降低維度(dimensionality reduce)以及關聯規則(association rule)等演算法 - 最具代表的算法有 Kmean、PCA 等等。 3. 強化式學習(reinforcement learning): - 不需給機器任何資料,讓機器不斷從互動中學習,並利用**獎懲**與成效評估的機制,不斷嘗試與修正至最佳化的模型。 - 最具代表的算法有 Q-Learning、SARSA 等等。 ## 深度學習(Deep Learning) ### 歷史背景 在介紹深度學習前,來說一點它的歷史。要從機器學習中一個分支叫[類神經網路](https://hackmd.io/@JimmyLiu0530/S1RErq2ov)(Neural Network)說起... 起源1943年於 沃倫·麥卡洛克 和 沃爾特·皮茨 為一種閾值邏輯的演算法。因為利用數個節點進行判斷,很像人類的神經元故以神經網路而命名。 1986 年,Rumelhar 和 Hinton 等學者提出了反向傳播算法(Back Propagation),解決了神經網路所需要的複雜計算量問題,從而帶動了神經網路的研究熱潮。 然而過了不久就發現反向傳播法遇到了瓶頸──反向傳播的優化(找出誤差的最小值)會發生梯度消失問題,使得神經網路只要超過 3 層以上就幾乎沒有效果。且當時支撐向量機(SVM)正受到學界關注,故類神經網路不受青睞。 直到2006年,Hinton 提出限制玻爾茲曼機(RBM)模型成功訓練多層神經網路。Hinton 決定把多層的神經網路(Deep Neural Network)重命名為深度學習(Deep Learning)。 ### 介紹 對於有效的特徵數據一直都是機器學習中一個較深論的課題,近年來深度學習出現簡化這項問題,直接打破上述這些思維。 深度學習與機器學習最大的差異,就是輸入端的特徵提取(feature extraction),而深度學習將會透過卷積(Convolution) 的方式,取代了以人類知識作特徵提取這個環節,如下圖說明機器學習與深度學習的主要差異。 ![](https://i.imgur.com/1lXM7Cd.png) 其中具代表性的深度學習算法之一 - 卷積神經網路(Convolutional Neural Network, CNN) 是由類神經網路演化而來。 此算法透過卷積的方式,對圖片進行特徵提取,其中卷積的遮罩係數則是隨機產生的。透過卷積濾波器產生的特徵,送至分類器(Classification)進行分類即為卷積神經網路。 ![](https://i.imgur.com/ewHf8Ji.png) 卷積神經網路(CNN)主要可分為三層: 1. 卷積層(convolution layer):利用隨機產生的遮罩進行特徵提取。 2. 池化層(pooling layer):對不同位置的特徵進行統計,並取平均值或最大值作為最佳參考點,以減少資料特徵維度。 3. 全連接層(fully connected layer):是將之前的卷積與池化後之結果進行平坦化,並接到最基本的神經網絡。 如下圖所示為最典型的CNN架構。 ![](https://i.imgur.com/CO3qnDu.png) 參考資料: - [探討機器學習與深度學習之差異](https://www.wpgdadatong.com/tw/blog/detail?BID=B0286) - [從人工智慧、機器學習到深度學習,你不容錯過的人工智慧簡史](https://www.inside.com.tw/feature/ai/9854-ai-history)