|

AI來襲!三分鐘看懂人工智慧

   

作者:林敬恆

提到人工智慧(Artificial Intelligence)一詞,大家第一個閃過的印象可能是科幻電影那擁有人類智慧的機器人,或是電影鋼鐵人中的「賈維斯」智慧助理。這些天馬行空的技術的確都屬於人工智慧的範疇,但這其實只是人工智慧其中一小部份的領域,它的應用面充斥在各種產業,早已和我們的生活密不可分。

AI 介紹與簡史

一般稱的 AI 其實是 Artificial Intelligence 的縮寫,而這個名字也清楚地表達了它的涵義。人工智慧的定義其實就是以「人工」編寫的電腦程式,去模擬出人類的「智慧」行為,其中包含模擬人類感官的「聽音辨讀、視覺辨識」、大腦的「推理決策、理解學習」、動作類的「移動、動作控制」等行為。

AI 即是以「人工」編寫的電腦程式,模擬出人類的「智慧」行為(圖片來源:AI FOR PEOPLE

AI 這個詞彙首次出現是在 1950 年,那時離現代電腦的發明也不過幾年的時間,當時的人工智慧做的不過是跑一些寫好的邏輯程式、處理數學定理證明,應用其實並不廣;此外,由於當時電腦體積龐大、性能又有諸多限制,人工智慧發展很快就面臨到瓶頸了。

沉寂一陣子後,在約二、三十年前,因為電腦儲存空間、運算性能的突破,AI 重新回歸主流技術發展重點,開始出現「機器學習」這塊領域,並得到了很好的成果,如發展出「支持向量機(SVM)」模型,能有效分類處理各種數據;到了最近幾年,又因為技術與演算法的進步,再度發展出「深度學習」這個領域,AI 的成長儼然已成為不可忽視的巨獸!

到了這邊,讀者是否開始對逐漸出現的名詞感到困惑呢?別擔心,以下會用簡單的方式向各位介紹。

AI 的應用與技術內容

AI 功能的身影已經充斥在我們的生活,它的樣貌已不再那麼的神祕,舉凡交通、娛樂、醫療等,到處都可見其蹤影,以下舉幾個例子讓大家更了解 AI 的樣貌:

  • 手機助理語音辨識功能
  • 社群網路上的廣告投放
  • 串流影音網站的推薦(如 YouTube 推薦影片、Spotify 精選)
  • Google Map 最佳路線規劃

而要如何讓電腦實現以上的功能呢?這邊介紹一些常見 AI 的運行原理:

  • 搜尋:尋找最佳路徑、最短運算的搜尋方法,用來加快電腦的運算或減少記憶體的負擔,如 BFS 優先廣度演算法、A star(A*)演算法等。

A*演算法展示(圖片來源:Wikipedia

  • 邏輯推論:為了讓電腦能進行推理、抉擇、修正,發展了許多邏輯推論系統,最廣為大家使用的就是布林運算,其主要利用二元的運算符號(0、1)去定義邏輯的函數,相當方便直觀,應用也很廣泛。

布林運算真值表(圖片來源:Boolean Operators

  • 統計、機率:主要目的是透過機率統計數學模型,幫助分析資料、處理大量數據,如 EM 演算法、貝氏網路等。
  • 神經網路: 模仿生物神經網路的結構與功能,能透過輸入的資料訓練,產生對應的演算法模型,學習判斷指定的問題。

解析 AI/ML/DL 的關係

既然提到了神經網路,就不得不提及「機器學習 Machine Learning(ML)」、「深度學習  learning(DL)」, 這兩個最近非常火熱的名詞了,究竟機器學習(ML)與深度學習(DL)到底差別在哪呢?

AI 演進(圖片來源:NVIDIA

我們可以從上面這張圖清楚理解,AI、ML、DL 這三個名詞的關係就像洋蔥一樣層層遞進,機器學習(ML),是人工智慧(AI)底下的技術分支,而深度學習(DL)是近年才從機器學習衍伸出的領域,可以比喻為俄羅斯娃娃,一個子領域之中又有更深入的子領域。

機器學習與深度學習的訓練比較:機器學習需要人為特徵分類(Feature extraction),而深度學習則是交給模型自己處理分類(圖片來源:XENONSTACK

  • 機器學習

簡單來說,為了讓電腦透過自我學習的方式,去解析數據或做出問題判斷,不斷優化改進自身,而非單純寫好程式,僅處理單一特定問題,其中其實包含了許多學問,如統計、機率、演算法、逼近理論等多項領域。

傳統的機器學習結構:資料→特徵擷取→模型→答案

為了達到預測的效果,機器學習會不斷讓模型最佳化去擬合資料,然而在特徵擷取上,仍然需要透過手動去標記特徵,將特徵轉為編碼或向量形式後,再透過機器學習的模型去處理,最後得到預測結果。

機器學習在資料分析上已經發展得非常成熟。舉例來說,如果將藍球和紅球都丟入袋子裡,要怎麼完美的劃出一條線將他們分割呢?這時透過機器學習的模型—向量支持機(SVM)處理,就能將所有的球拉到更高的維度做切割,讓原本散亂的球,在三維空間漂浮看起來,變得容易分類。

SVM 分割示意圖(圖片來源:Quora)

然而在處理影像辨識或是複雜的分析上,機器學習還是有一定的限制,畢竟它所需要的特徵都還是需要人為的特徵分類,那麼深度學習又是如何運作的呢?

  • 深度學習

深度學習是透過神經網路(Neural Network)的方式來實踐,而神經網路由無數個神經元串聯所組成,這些神經元的運作方式和人類神經一樣,一個連著一個傳遞訊號,只不過輸入的不是生物電流,而是變數、權重(weight)、誤差(bias);其中,每個神經元本身都是個小小的函數,資料會在神經網路中慢慢轉化,最後得到我們的預測模型。

深度學習的結構:資料→模型(特徵擷取自學)→答案

與傳統深度學習不一樣的是,在特徵擷取的部分,我們把它交給神經網路去處理,讓它在不斷地反覆運算中逐漸萃取出所需要的特徵,不斷改進模型本身權重,最後產生預測模型。這個步驟需要大量的反覆運算,也就是為什麼深度學習領域到這幾年隨著 GPU 技術的突破才又突飛猛進的進步!

以「貓狗辨識」舉例,深度學習的訓練只需將標記好類別的影像輸入到模型中,神經網路會自行將影像特徵擷取出來。那麼這裡問一個問題,如果這時候將「豬」的照片丟入,模型會給出什麼結果呢?A. 貓 B. 狗 C. 豬,想好了嗎?

透過捲積神經網路訓練貓狗辨識(圖片來源:Medium

其實答案選 A 和 B 都對喔!由於神經網路訓練的是貓狗模型,所以模型會按照它分類的特徵去判別這隻豬的照片,嘗試讓它在貓或狗之中選出一個答案(即使它不是貓也不是狗),所以這也是深度學習的限制,預測的模型主要仍取決於輸入訓練的資料,所以選 C 的各位,抱歉答錯了呦!

小結

AI 技術發展至今,那些曾經被認為是空想的技術也逐漸變得不再那麼遙遠,隨著物聯網了發展而興起的邊緣運算也開始嶄露頭角,AI 的下一步將會是什麼樣的光景呢?讓我們一起見證吧!

(責任編輯:賴佩萱)

Author:

Share This Post On

4 Comments

  1. 謝謝你的介紹,讓我容易了解

    Post a Reply
  2. 簡單.扼要.明瞭. 對我(入門者)幫助很大.
    謝謝.

    Post a Reply

Trackbacks/Pingbacks

  1. Python實現人工智慧無所不在 (下) - 程式設計師的七種人格 - […] AI簡史/應用 [&…

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *