先前的文章中介紹了簡單的感知器(Perceptron)模型,並且有提到感知器可以說是建構現今複雜類神經網路模型的基石之一,今天我們將對機器學習領域的熱門方法, 深度類神經網路(Deep Nenral Network,應用於深度學習(Deep Learning)中) ,來進行介紹。
類神經網路模型(Neural Network)可以想像成將多個感知器疊加在一起(見圖1),將資料從 特徵輸入層(Input Layer) 一一與中間的 隱藏層(Hidden Layer) 到 結果輸出層(Output Layer) 相連,並且於中間進行加輸入與權重的加權計算後,加入一些非線性的 激勵函數(Activation Function) 以讓模型可以對資料進行更複雜的 表徵(Representation) 學習,因此,類神經網路模型比起感知器就能夠擬合更複雜的非線性關係,不像簡單的感知器僅能針對線性關係進行建模。而深度類神經網路就是泛指中間包含多個隱藏層的神經網路模型。
除了前段內容中提到的類似於將多層感知器以層與層之間進行一一連接的類神經網路模型,又稱為 Fully-connected Neural Network 之外,現在常被用來解決圖像相關問題的 卷積神經網路(Convolutional Neural Network, CNN)(註1) 以及在 自然語言處理(Natural Language Processing) 與時間序列上適合使用的 遞歸神經網絡
(Recurrent Neural Network)(註2) 都是深度類神經網路中經由一些變形所創造出來表現更佳的模型。
而在使用深度類神經網路上,比起傳統的機器學習模型,雖然有機會取得更好的表現,但是也需要多留意一些實際使用上的考量,比如說因為深度類神經網路模型屬於較複雜的模型,在使用較複雜之模型進行建模時,通常會需要更大量的資料。另外在使用深度類神經網路模型,也需要花上時間對網路架構進行設計與實驗,才能找出適合解決手上問題的架構,以發揮神經網路模型之威力。
圖1
Source: Coursera - Launching into Machine Learning
註1: https://zh.wikipedia.org/wiki/%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C
註2: https://zh.wikipedia.org/wiki/%E9%80%92%E5%BD%92%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C