翻轉人類未來的 AI 科技:機器學習與深度學習

作者 | 發布日期 2017 年 10 月 05 日 8:00 | 分類 AI 人工智慧 , Google , 科技教育 line share follow us in feedly line share
翻轉人類未來的 AI 科技:機器學習與深度學習


人工智慧(Artificial Intelligence,AI)是指人類製造出來的機器所表現出來的智慧,它從早期是以更聰明的機器手臂取代工廠裡的勞工,到機器學習過濾垃圾郵件,分析我們的行為並且投放相關的廣告,近來年由於深度學習技術的突破,無人車即將取代司機,甚至靠腦力的白領工作都岌岌可危,到底什麼是機器學習?什麼又是深度學習呢?

我們常常聽到的「機器學習」(Machine learning)是屬於人工智慧的一部分,另外「深度學習」(Deep learning)又屬於機器學習的一種,如下圖所示。

▲ 人工智慧、機器學習、深度學習的範圍。(參考:nVidia

機器學習(Machine learning)

顧名思義機器學習就是要讓機器(電腦)像人類一樣具有學習的能力,要了解機器學習,就先回頭看看人類學習的過程,人類是如何學會辨識一隻貓的?大致上可以分為「訓練」(Training)與「預測」(Predict)兩個步驟:

訓練(Training):小時候父母帶著我們看標註了動物名字的圖片,我們看到一隻小動物有四隻腳、尖耳朵、長鬍子等,對照圖片上的文字就知道這是貓,如果我們不小心把老虎的照片當成貓,父母會糾正我們,因此我們就自然地學會辨識貓了,這就是我們學習的過程,也可以說是父母在「訓練」我們。

預測(Predict):等我們學會了辨識貓,下回去動物園看到一隻有四隻腳、尖耳朵、長鬍子的小動物,我們就知道這是貓,如果我們不小心又把老虎當成貓,父母會再次糾正我們,或者我們自己反覆比較發現其實老虎和貓是不同的,即使父母沒有告訴我們,這個是我們判斷的過程,也可以說是我們在「預測」事物。

機器的訓練與預測

要讓機器(電腦)像人類一樣具有學習與判斷的能力,就要把人類大腦學習與判斷的流程轉移到機器(電腦),基本就就是運用數據進行「訓練」與「預測」,包括下列 4 個步驟:

獲取數據:人類的大腦經由眼耳鼻舌皮膚收集大量的數據,才能進行分析與處理,機器學習也必須先收集大量的數據進行訓練。

分析數據:人類的大腦分析收集到的數據找出可能的規則,例如:下雨之後某個溫度與濕度下會出現彩虹,彩虹出現在與太陽相反的方向等。

建立模型:人類的大腦找出可能的規則後,會利用這個規則來建立「模型」(Model),例如:下雨之後某個溫度與濕度、與太陽相反的方向等,就是大腦經由學習而來的經驗,機器學習裡的「模型」有點類似我們所謂的「經驗」(Experience)。

預測未來:等學習完成了,再將新的數據輸入模型就可以預測未來,例如:以後只要下雨,溫度與濕度達到標準,就可以預測與太陽相反的方向就可能會看到彩虹。

機器學習的分類

機器學習和人類學習的過程類似,要先進行「分類」(Classification),才能分析理解並且進行判斷,最後才能採取行動,分類的過程其實就是一種「是非題」(Yes 或 No),例如:這一張照片「是」貓或「非」貓。機器學習是由電腦執行程式自行學習,一邊處理大量資料,一邊自動學會分類方式,就如同人類在學習一樣,因此機器學習就是在進行資料處理。

機器學習的種類

監督式學習(Supervised learning):所有資料都有標準答案,可以提供機器學習在輸出時判斷誤差使用,預測時比較精準,就好像模擬考有提供答案,學生考後可以比對誤差,這樣聯考時成績會比較好。例如:我們任意選出 100 張照片並且「標註」(Label)哪些是貓哪些是狗,輸入電腦後讓電腦學習認識貓與狗的外觀,因為照片已經標註了,因此電腦只要把照片內的「特徵」(Feature)取出來,將來在做預測時只要尋找這個特徵(四肢腳、尖耳朵、長鬍子)就可以辨識貓了!這種方法等於是人工「分類」,對電腦而言最簡單,但是對人類來說最辛苦。

非監督式學習(Un-supervised learning):所有資料都沒有標準答案,無法提供機器學習輸出判斷誤差使用,機器必須自己尋找答案,預測時比較不準,就好像模擬考沒有提供答案,學生考後無法比對誤差,這樣聯考時成績會比較差。例如:我們任意選出 100 張照片但是沒有標註,輸入電腦後讓電腦學習認識貓與狗的外觀,因為照片沒有標註,因此電腦必須自己嘗試把照片內的「特徵」取出來,同時自己進行「分類」,將來在做預測時只要尋找這個特徵(四隻腳、尖耳朵、長鬍子)就可以辨識是「哪類動物」了!這種方法不必人工分類,對人類來說最簡單,但是對電腦來說最辛苦,而且判斷誤差比較大。

半監督式學習(Semi-supervised learning):少部分資料有標準答案,可提供機器學習輸出判斷誤差使用;大部分資料沒有標準答案,機器必須自己尋找答案,等於是結合監督式與非監督式學習的優點。例如:我們任意選出 100 張照片,其中 10 張標註哪些是貓哪些是狗,輸入電腦後讓電腦學習認識貓與狗的外觀,電腦只要把照片內的特徵取出來,再自己嘗試把另外 90 張照片內的特徵取出來,同時自己進行分類。這種方法只需要少量的人工分類,又可以讓預測時比較精準,是目前最常使用的一種方式。

【延伸閱讀】機器學習的種類還有增強式學習與馬可夫決策過程,都是機器學習重要的觀念,有興趣的人可以參考〈知識力專家社群:機器學習(ML:Machine learning)〉

人工神經網路(ANN:Artificial Neural Network)

人工神經網路(ANN)又稱為「類神經網路」,是一種模仿生物神經網路的結構和功能所產生的數學模型,用於對函式進行評估或近似運算,是目前人工智慧最常使用的一種「模型」。科學家模仿人類大腦的神經網路,提出了「赫布理論」(Hebbian theory),用來解釋學習過程中大腦神經元變化的神經科學理論,突觸上一個神經元向突觸下一個神經元持續重複的刺激,可以導致突觸傳遞效能的增加,也就是人工神經網路上的「權重」(Weight)。

人類大腦的「神經元」(Neural),如下圖(a)所示,我們把人類大腦複雜的神經元簡化成一個圓圈和一個箭號,如下圖(b)所示,圓圈內的數字代表這個神經元的神經衝動強度,箭號旁的數字代表這個神經元突觸傳遞效能,也就是「權重」,則大腦內複雜的神經網路就可以簡化成人工神經網路,如下圖二(c)所示,一層層的連結起來,以手寫辨識數字為例,「輸入層」就是我們手寫的數字,「輸出層」就是辨識的結果數字 0~9。

▲ 人工神經網路示意圖。

【延伸閱讀】機器學習的單層感知器(SLP)與神經網路模型的計算方式,都是機器學習重要的觀念,有興趣的人可以參考〈知識力專家社群:人工神經網路(ANN:Artificial Neural Network)〉

符號與意義

如果電腦可以自行分析資料找出特徵值,那就更接近我們想要的人工智慧,也就是人工創造出來可以思考的電腦。這個時候電腦能夠自己分析資料理解「有斑紋的馬」這個特徵,只要人類告訴電腦這個特徵所使用的符號叫「斑馬」,就把符號與它所代表的意義相互連結(接地)了!

符號「貓」或「Cat」,意義是指尖耳朵、尖眼睛、長鬍子很可愛的一種動物,這些就是「特徵值」。人工智慧面臨許多問題就是因為電腦無法自行理解符號的「意義」,而最近發展的「深度學習」已經可以讓電腦自行分析資料找出「特徵值」。

▲ 符號「貓」與「特徵值」示意圖。

深度學習(Deep learning)

深度學習(深度神經網路)是讓電腦可以自行分析資料找出「特徵值」,而不是由人類來決定特徵值,就好像電腦可以有「深度」的「學習」一樣。而深度學習使用多層神經網路,理論上隱藏層愈多自由度與精確度愈高,但是結果相反,因為誤差反向傳播(EBP)很難傳遞回更上一層的神經元,就好像主管經由員工提供的資訊進行判斷,正確的資訊是由下(員工)向上(主管)提供(反向傳播),而修正時由上(主管)向下(員工),當階層太多時效果不佳。因此深度學習不但使用多層神經網路,同時使用「自動編碼器」(Autoencoder)來進行「非監督式學習」(Un-supervised learning)。

Google 貓臉辨識計畫

Google 公司 2012 年做了一個實驗,由 YouTube 的影片中取出 1,000 萬張圖片,使用具有 100 億個神經元的深度學習神經網路,由 1,000 台電腦(16,000 個處理器),運算 3 天才完成。

  • 將 1,000 萬張圖片輸入深度學習神經網路,經由數層神經網路使電腦自行學習找出「特徵值」而能夠辨識「對角斜線」,如下圖(a)所示。
  • 再經由數層神經網路使電腦能夠辨識「人臉」,如下圖(b)所示,以及「貓臉」,如下圖(c)所示,形成抽象度愈高的「特徵值」,最後經由特徵值理解這個東西的「意義」。
  • 此時只要我們告訴電腦具有下圖(b)這個特徵值的東西稱為「人」(符號);具有下圖(c)這個特徵值的東西稱為「貓」(符號),電腦就能夠將符號與意義產生連結了!
  • 未來只要我們輸入其他照片,電腦就能夠自動判斷這個是人,那個是猫,這個學習的過程其實和人類學習過程是類似的。

▲ Google 貓臉辨識計畫深度學習神經網路示意圖。

【延伸閱讀】深度學習的計算過程有些複雜,但是理解之後就會對這個未來深具發展潛力的人工智慧模型很有感覺了,有興趣的人可以參考〈知識力專家社群:深度學習(DL:Deep Learning)〉

(首圖來源:shutterstock)

延伸閱讀: