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

何謂梯度?

梯度基本上是用在多變數函數上的一個數學方法,對於多變數函數而言,每多一個變數就會多一個變數的斜率,梯度等於是描述在多變數函數在每個變數上斜率,因為每個變數代表不同方向,所以梯度具有方向性才能完整描述多變數函數在各個斜率上的變化。

數學定義

假設一個多變數函數為f(x,y,z),梯度的定義就是為

代表梯度裡面有三個方向i,j,k,在各自方向對應到的就是f對於x,y,z的偏微分,偏微分可以看做是函數f在某個點下對於x,y,z變數的斜率。以多變數函數f為一個純量場,經由梯度的操作之後,就會變成是向量場,也就是具有方向性。

而梯度的意義是梯度的方向代表的是函數f在當前某一點下的最大改變率方向;梯度的大小就是函數f在當前某一點下的最大改變率。

案例說明

假設函數為f(x,y)=0.1*(x+y),在此情況下,假設在x,y為(0,0)的點上,要判斷函數f往哪一個方向最快速下降,我們就對f取梯度,就可以得到 方向為(0.1,0.1),沿著梯度方向走,可以得到最大變化率,換句話說,沿著負梯度方向走,也就是(-0.1,0.1),就可得到最大下降率。

這一點也跟我們從函數的圖形來看是一致的,往同時讓x與y下降幅度相同的方向,就是最快速下降的方向。

結論

梯度的好處為由於可以在每一點上了解到最大上升或下降率的方向,所以梯度的概念往往會用在最佳化的問題上。而類神經網路裡的反向傳播法,正是用梯度的概念,來快速找到最佳的參數。就好像在一座山裡,沿著每個位置下的負梯度方向走,就可以最有效率到達山谷。

[參考資料]:

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)技巧