我們知道神經網路是由許多的神經元所組成,昨天提到了ANN神經網路,其實典型的神經網路都是由好幾層 ( 線性層 ) 連接起來的,層與層之間能夠實現線性 ( linear ) 的轉換,層數累積的越多,訓練模型時的計算也就愈複雜,形成一個深度的神經網路 ( Deep Neural Networks , DNN ),進行所謂的深度學習 ( Deep Learning ),從最一開始的特徵資料輸入,稱為輸入層,下圖中輸入層的每個神經元就代表一個特徵資料,這些特徵資料再傳入給隱藏層,許多的隱藏層就會一層接著一層不斷的計算, DNN 學習的深度就取決於隱藏層的數量,直到傳到最後一層,就是輸出層 ( 也只有一層 ),也就是模型最後會輸出的結果,當然你也可以根據你要輸出的結果個數,控制輸出層中的神經元個數。
輸入層是神經網路的第 0 層,且只會有一層,整個訓練過程的開端,負責接收原始的輸入資料,再傳到下一層的其他的神經元進行運算處理,而根據原始資料的不同,輸入層的設計和資料表示方式也會不一樣。
輸入層的樣貌由你的任務需求來決定,在圖像識別中,將圖像轉換為像素值或向量來表示,在自然語言處理的任務中,將輸入的文字轉換為詞向量或字符嵌入,當你要做數值 Scaler 的預測時,輸入層就可接收數值的特徵。
在神經網路中,隱藏層的層數決定了處理更複雜問題的能力,夾在輸入層與輸出層之間,從輸入層接收資料經過一連串的計算再把結果傳到輸出層,隱藏層也同樣有許多神經元,彼此互相連接並經過激勵函數的非線性運算,隱藏層的存在能夠讓模型去應付更加複雜的傳入資料。
輸出層是神經網路的最後一層,在隱藏層的最後一層計算後由輸出層輸出,也就是最終的模型輸出。
今天我們學到了:
深度神經網路能夠讓整個神經網路複雜化,模型也因深度學習而變得成熟,也就能處理更加複雜的問題,而所謂模型的訓練,其實就是模型經過一次又一次正向傳遞 ( Forward Propagation ) 與反向傳遞 ( Backward Propagation ) 的過程,下一篇文章中,我們就要來介紹何謂正向傳遞與反向傳遞,我們下篇文章見 ~
https://www.javatpoint.com/artificial-neural-network