類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法

先前有提到過,AI方法就是企圖要去逼近真實世界運作模式,才能預測真實世界當中的情形。AI方法有許多種,我們以類神經網路而言,為了要逼近真實世界運作模式,就需要去尋找網路裡面最佳的權重。

為什麼需要有反向傳播法?

那我們該如何尋找網路的權重呢?其實存在很多種方法,以最簡單而言,可以隨機給定一組權重,來看看結果好不好?如果不好,就一直反覆隨機嘗試不同權重。而這樣的方法,如果是非常非常簡單的模型,權重在非常少的數目下,確實有可能可以找到不錯的權重。可是如果網路越來越複雜,所需要決定的權重很多,我們就很難透過這種方法去尋找,因為最後就會發現排列組合太多了,根本難以找到最佳的權重。

而反向傳播法正是為了要解決這樣的問題,透過從理論建立一套系統化的方法,讓我們可以很方便快速地尋找到最佳權重。

反向傳播法的核心概念

既然反向傳播法如此好用,就會有一個疑問,那就是到底反向傳播法是如何運作的呢?在回答這個問題之前,我們先講解它的核心精神。

反向傳播法主要就是透過比較模型預測結果與實際數據的差異得到損失,在取得損失之後,才可以根據損失的大小,判斷權重是好是壞?

當權重不斷改變時,就可以得到相對應的損失,我們就對損失與權重作圖,可以得到損失空間。而反向傳播法的核心概念就是致力於在損失空間裡,以最快速的方法走到谷底,在谷底的部分,就是損失最低的情況,在這時候,我們認為損失最低就是代表這樣的權重,最可以讓模型最逼近真實世界的運作模式,因此,這樣的權重就是最佳權重。

我們以類比來講,就好像爬一座山,我們一開始就有山裡面的地圖,就可直接利用地圖導航,知道往哪裡走,可以快速到達山谷,這就是反向傳播法的核心精神。

反向傳播法實際作法

可是實際上,我們不會得到損失空間,因為要得到損失空間,代表是要將權重都不斷做改變,得到相對應的損失之後,才能把這個空間畫出來,這相當於是要做一個窮舉法,才能得到的結果,這樣所需耗費的資源就太多了。

實際作法上,我們只能根據當前權重,與相對應的損失,以及其他當前的訊息,綜合起來判斷,到底要往哪裡走可以更快速到達谷底。

就好像我們在山裡走,實際上不會有山裡面的地圖,我們只能透過目前所在位置,透過觀察地形,例如觀察哪裡是最陡峭,我們就判定往最陡峭的地方走,就有可能快速到達山谷。(備註:這邊只是比喻,實際上要看專業的登山知識,才能了解往山谷走的正確方法)

[參考資料]:

1.快速反應機制─類神經網路

2.機器學習與人工神經網路(二):深度學習(Deep Learning)

3.機器學習的衰頹興盛:從類神經網路到淺層學習

[類神經網路基礎系列專文]:

1.類神經網路(Deep neural network, DNN)介紹

2.類神經網路—揭開網路架構調整秘辛

3.類神經網路—啟動函數介紹(一): 深入解析Relu與Sigmoid函數:如何影響類神經網路的學習效果?

4.類神經網路—啟動函數介紹(二): 回歸 vs. 分類: 線性函數與Tanh函數之原理探索

5.類神經網路—啟動函數介紹(三): 掌握多元分類的核心技術:不可不知的softmax函數原理

6.類神經網路—啟動函數介紹(四): 如何選擇最適當的啟動函數?用一統整表格讓您輕鬆掌握

7.類神經網路—前向傳播法

8.類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法

9.類神經網路—反向傳播法(二): 淺談梯度

10.類神經網路—反向傳播法(三): 五步驟帶您了解梯度下降法

11.類神經網路—反向傳播法(四): 揭開反向傳播法神秘面紗

12.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法

13.類神經網路—反向傳播法(五): 用等高線圖讓您對學習率更有感

[機器學習基礎系列專文]:

1.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法

2.機器學習面臨的問題種類介紹:回歸與分類

[類神經網路延伸介紹]:

1.卷積類神經網路(Convolution neural network,CNN)介紹

2.遞迴類神經網路(Recurrent neural network,RNN)介紹

[ChatGPT系列專文]:

1.淺談最近非常火紅的ChatGPT背後可能原理機制為何?

2.從ChatGPT探索GPT的原理概念:少量數據的解方—遷移學習技巧

3.ChatGPT是什麼?探索GPT原理:遷移學習(transfer learning)的奧秘—微調(fine-tuning)技巧