DL、ML筆記(一):類神經網路概念

JianJie
Dec 15, 2020

--

類神經網路又可稱為人工神經網路(Artifical Neural Network),是一種模仿生物神經網路結構及功能的運算模型。

早在1950年時期,科學家仿造神經元架構,建立起原始的類神經網路(感知機,Perceptron),此模型為二元分類的線性模型,但因為線性關係,無法解決XOR的問題,因此進入第一次的寒冬。

1980年代發明了Backpropagation並採用sigmoid,有效解決線性分類的問題,但由於使用sigmoid,在網路加深時,梯度消失問題導致梯度傳遞至淺層網路時幾乎為0,因此淺層網路幾乎無法進行有效的學習,阻礙深度學習的發展。

之後SVM(Support Vector Machine)出現,以統計學為基礎,相比之下神經網路效果依然較差。梯度消失,導致深層網路難以學習。資料及計算力也是一項問題。

直到近年ReLU的提出,降低神經網路中梯度消失的問題,之後在ImageNet視覺辨識比賽中AlexNet獲得冠軍,因此再次受到重視。

類神經網路的學習過程主要可分為兩個階段:

正向傳遞(Forward Propagation)、倒傳遞(Backward Propagation)

Forward propagation

•輸入資料 -> 網路架構 -> 輸出結果

Backward propagation

•輸出結果與Ground Truth 計算Loss -> Optimizer計算Weight調整量 -> 網路權重調整

Forward Propagation其實與一般的Function很雷同,皆是將資料輸入至function,之後輸出結果

差別在於一般寫程式的方式為Rule Based,function皆是由人為定義,將輸入資料分析,根據一些特徵判斷,如圖片中顏色、形狀、大小等特徵,篩選其中特徵的條件,從而輸出結果,因此輸出結果可以預知。

但對於目前常見的議題,如語音辨識、影像辨識、數據預測等方面,通常難以敘述以上議題的條件,像是語音中難以敘述"你好",因為每個人的音調不同,聲音大小也不同,難以有個共通條件,或是影像中"人"的敘述方式,因為人有多種姿態,或是人體的組合頭手腳等,難以敘述手長的樣子。

在這種情況下,Rule Based的方法就難以實現,而深度學習在這方面有較好效果的原因,從資料中找出規律,並且根據大量且細小的原件(組合),逐漸拼湊出答案,以圖片為舉例,物體局部可以由小塊的紋理與顏色組合而成,再由局部物體組合出完整物體。

在這種情況下就很難用敘述的,將圖片組成用程式語言敘述,幾乎是不可能的事,更不用說不同情況就要使用完全不同的敘述方式,因而深度學習目前擁有較好效果。

且再深度學習裡,其尋找出之規律並不一定可以用人的邏輯了解,因此在常見的網路可視化中,也很難解釋網路所學習到的東西。就如同人類教學一樣,很難去了解學生所學習到的知識,每個人所學習到的知識或是面向不同,因此使用考試進行驗證,修正所學。

Backward Propagation則是修正所學的步驟,與人學習的方式相類似,將以往現有的結果與學習之知識進行驗證,之後並按其錯誤結果進行修正,其中Loss的計算就是所學與解答的差異,Backwark Propagation則是利用差異更新所學知識,進行知識修正的步驟。

最後,神經網路則是重複Forward PropagationBackward Propagation,根據輸入資料不斷對網路進行修正,達到網路學習的效果,最後直接將學習好的網路應用於目標場景,以達到辨識、檢測等目的。

詳細的Forward PropagationBackward Propagation公式推導則是之後篇章在說明。

--

--

JianJie
JianJie

Written by JianJie

Image Processing / Computer Vision / Deep Learning

No responses yet