Artificial Neural Network - 經歷著人工智能寒冬和復興
ANN, Artificial Neural Network是模仿生物神經網路數學模型,也作為深度學習和人工智能十分重要的基礎,所以筆者會花很多的筆墨解釋其設計,運作,後來的演變過程,盡量用簡單易明的例子作闡釋。 在了解整個神經網絡(Neural Network)之前,我們先從一個獨立的神經元開始說起吧, 幻想每一個神經元是一個只懂吃喝玩樂的他媽哥池(台灣的朋友們會叫它塔麻可吉),在他的世界裡只有吃喝和玩樂,至於決定先吃還是先玩,那就要看看他先收到肚子餓的信號還是享樂的心癮;換個角度來說,一個較為貪玩的他媽哥池會容易心癮發作,較饞嘴刖對肚子餓特別敏感,他媽哥池會收集所有資訊,根據它自己對吃或玩的敏感度,並把它們轉化為相應的決定或行動。 信號就是進入神經元的Input,敏感度就是權重Weight,對某信號的敏感度愈高,Weight也會愈提高,每一個Input都會有屬於它自己的Weight,然後神經元把一連串的Input乘上對應的Weight,並加起來放進Activate Function來決定Output的值是什麼,也就是要作出什麼的決定。 $$y=f(w_0x_0+w_1x_1+...+w_nx_n)$$ 當一個又一個的他媽哥池連接起來成為Artificial Neural Network,以一個完整的Network來說,結構以一層層的Layer造成,第一層被稱為Input Layer,最後的層為Output Layer,剩下的夾心階層就是Hidden Layer。 心水清的讀者們認該會意識到,如果沒有hidden layer的Network,activation function為Sigmoid Function的話,那麼它正正是最基礎的Logistics Regression,bias就等同於Intercept,把Input乘上對應的Weight再直接加起來,經Activation function 再決定Output是什麼。 當我們解釋哪一個Input (Factor)最影響預測結果,只要用上Wald Test就好了。但是當加上一層Hidden Layer,就不再簡單了。所以層數越多的網絡,預測結果便難以解釋,越來越像一個”黑盒”。再者,Hidden Layer裡的神經元的數量是決定參數Weight的數量,在筆者多篇文章也提...