1997 年,IBM 的 Deep Blue 擊敗了國際象棋衛冕世界冠軍 Kasparov。間隔多年,電腦程式 AlphaGo 在 2016 年打敗人類圍棋比賽世界冠軍。 其間人工智慧有了什麼重大進展? Deep Blue 只需以 brute force 快速分析,AlphaGo 則藉助於強化學習 (Reinforcement learning)。 姚鴻澤院士講述箇中關鍵及其與數學的關聯。 強化學習藉由電腦與某動態環境不斷重複互動,來學習正確執行任務。 這種嘗試錯誤的學習方法,使電腦在無人干預、 沒被寫入明確的執行任務程式下,能夠做出一系列的決策。 強化學習的運作主要仰賴動態環境中隨外部條件變化而改變的資料。 強化學習之所以能達成目標,是藉著軟體當中被稱為主體 (agent) 的部分在環境中進行探索、 互動和學習。 為了學習如何從觀察去調整策略,主體會反覆嘗試錯誤,而正確的動作會得到一個獎賞 (reward) 來強化。 迄今已開發出許多強化學習訓練演算法,其中最熱門者是以 Deep Neural Network 來建構。 Neural Network 參考生物神經系統的結構,神經元 (Neuron) 互相連結,由外部神經元接收信號,再層層傳導至其他神經元,最後做出反應。 Neural Network 將神經系統抽象化,前後連結多個機率模型 Logistic Regression : Input Layer 是接收信號的神經元,Hidden Layer 是隱藏層,而 Output Layer 是做出反應的輸出層。 Hidden Layer 及 Output Layer 上每一個節點的值等於上一層所有節點的加權總和 yj=xij×Wij (矩陣 (W) 的每一行對應一個 neuron 的 weight, 行數就是 neuron 的個數; 而 input x和 output y都是一個列向量,行數就是 feature 的個數 (也是 neuron 的個數, neuron 的本質就是把 feature 變換到另一個空間)); 它就是統計學的簡單回歸 (Regression),而我們可用最小平方法求得 W。 但此種模型只能解決線性分類,切割過於簡單。 Neural Network 做了以下的強化,以解決一般性的問題:首先,在上述的公式乘上一個非線性函數 Activation