深度學習在 2012 年 ImageNet 震撼了全世界,人工智慧與深度學習這個飛機已經停不下來了。而在這個人工智慧(AI)都被各行各業拿來當成騙人用的流行詞時,身為資管系的我們要知道什麼是 AI 才可以騙無知的愚民不會被騙。那麼我們先來探討一些詞。

名詞解釋

  • 人工智慧(Artificial Intelligence, AI): 這個名詞主要是從 Alan Turing 1950 年在他的論文中所提出的一個問題: "I propose to consider the question, 'Can machines think?'" 所激發出來的。後人就都把利用電腦(機器)來模擬人類 解決問題經驗學習 統稱為人工智慧。有興趣的話可以再從一個更哲學的角度去探討這個問題

"It is the science and engineering of making intelligent machines, especially intelligent computer program" -- John McCarthy,人工智慧之父

  • 機器學習(Machine Learning): 從人工智慧的定義中,我們很容易就可以推出機器學習是讓電腦在沒有明確的撰寫指令的情況下從過去的經驗中學習。學習的方式有很多種,例如:決策樹(Decision Tree)、貝氏定理(Bayes Theorem)、最近鄰居(k-NN)、以及最近很紅的類神經網路(Neural Networks)等。而所謂過去的經驗也就是從我們身邊所有獲取到的巨量資料啦~

"Machine learning gives computers the ability to learn without being explicitly programmed" -- Arthur Samuel,機器學習之父


"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." -- Tom McCarthy

  • 深度學習 (Deep Learning): 很多人對深度學習有不同的解釋。大部分的人都會拿維基百科的第一句來解釋深度學習為機器學習的一個子集,並且是利用多層的類神經網路來建造一個機器學習的模型。有的人卻說這樣的定義有幾個問題,"到底多深才算深?"、"這樣是否只有用類神經元才算是深度學習?"。因此,我們拿 Yann LeCun 的定義來解釋。深度學習是一個基於梯度下降法(Gradient Descent)的方式來訓練的模型網路。基本上這各領域的研究是從深度學習始祖 Geoffrey Hinton 在 1956 在 Nature 上所發的論文所激起的研究。在經過 1980 和 1993 兩波的 AI 冬季後,2012 年又再次興起了至今還很瘋狂的 AI 風潮。

"Deep Learning is constructing networks of parameterized functional modules & training them from examples using gradient-based optimization" -- Yann LeCun

那我們看完這些跟學習相關的名詞之後,我們來探討以下有哪幾種學習的方式。這裡主要只跟大家介紹一些比較常用到的名詞哦~

學習方式

  • 監督式學習 (Supervised Learning): 監督式學習是指當模型所訓練資料都有一個標準答案。換個說法,就是小時候我們不懂事媽媽會一直跟我們說什麼是對的,什麼是錯的。監督式學習主要的任務可分成分類(Classification,判斷一個類別)以及回歸(Regression,判斷一個值)。這兩個任務也是目前深度學習非常成熟的任務。

  • 非監督式學習 (Unsupervised Learning): 當然,真實世界里資料雖然多,但是有標籤的資料卻很稀少。非監督式學習就相反的指在訓練過程中,我們沒有任何一個標準答案(ground truth or gold standard)可以拿來做參考。換句話說,就是你過了 21 歲,媽媽就送你鑰匙自由飛了。例子有分群(Clustering)、異常分析(Anomaly Detection)、關聯法則(Association Rule)等等。

  • 半監督式學習(Semi-supervised Learning): 半監督式學習則是透過稀少的標記資料,以及大量的無標記資料。這比較貼近我們在真實生活中的情境,就如母親會跟三歲的你說這是一隻狗/貓,你就會對狗/貓有個概念並且未來看到其他種狗/貓時,都可以判斷出它是狗/貓。最有名的例子就是 Ian Goodfellow 所提出的對抗生成網路(GAN)。

  • 強化式學習 (Reinforcement Learning): 強化式學習跟半監督式學習還蠻相似的,但是跟半監督式學習不一樣的地方是在他是透過一個獎勵機制來判斷模型的好壞。就如同訓練狗的時候,如果教它握手時它把腳伸出來就會給它一個餅乾。著名的例子有演員評論家法(Actor-Critic Method)。

  • 轉移式學習(Transfer Learning): 轉移式學習就是透過其他模型所學習的經驗來協助我們在另一個任務上作判斷。我們可以將過去訓練辨識狗的模型,截取其中一部分(或全部)來做出一個辨識貓的模型。某種程度上也可以想象成在考試前,我們還沒有讀書時,就敲我們的室友拿懶人包。所謂的 fine-tuning 其實就是一種轉移式學習的方式。

  • 整體/集成學習(Ensembled Learning): 當我們在同一個任務中訓練了很多種不同的模型時,我們可以把這些模型組合起來,並且透過這幾個模型的經驗來做出判斷。這個如同我們在他論決策時,找了各個專業人員來一起討論出一個答案。著名的例子有 Bagging 和 Boosting。

除此之外,還有 Self-supervised Learning、Active Learning、Online Learning、Meta-Learning、n-Shot Learning、
以及在統計學上會用到的歸納法(Induction)、推理法(Deduction)、轉導法(Transduction)等等。這些就留給大家自己去探索啦~(這就是傳說中的 Semi-supervised Learning...

Leave a Reply

Your email address will not be published. Required fields are marked *