何謂梯度?
梯度基本上是用在多變數函數上的一個數學方法,對於多變數函數而言,每多一個變數就會多一個變數的斜率,梯度等於是描述在多變數函數在每個變數上斜率,因為每個變數代表不同方向,所以梯度具有方向性才能完整描述多變數函數在各個斜率上的變化。
數學定義
假設一個多變數函數為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下降幅度相同的方向,就是最快速下降的方向。
結論
梯度的好處為由於可以在每一點上了解到最大上升或下降率的方向,所以梯度的概念往往會用在最佳化的問題上。而類神經網路裡的反向傳播法,正是用梯度的概念,來快速找到最佳的參數。就好像在一座山裡,沿著每個位置下的負梯度方向走,就可以最有效率到達山谷。
[參考資料]:
2.機器學習與人工神經網路(二):深度學習(Deep Learning)
[類神經網路基礎系列專文]:
1.類神經網路(Deep neural network, DNN)介紹
3.類神經網路—啟動函數介紹(一): 深入解析Relu與Sigmoid函數:如何影響類神經網路的學習效果?
4.類神經網路—啟動函數介紹(二): 回歸 vs. 分類: 線性函數與Tanh函數之原理探索
5.類神經網路—啟動函數介紹(三): 掌握多元分類的核心技術:不可不知的softmax函數原理
6.類神經網路—啟動函數介紹(四): 如何選擇最適當的啟動函數?用一統整表格讓您輕鬆掌握
8.類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法
10.類神經網路—反向傳播法(三): 五步驟帶您了解梯度下降法
11.類神經網路—反向傳播法(四): 揭開反向傳播法神秘面紗
12.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法
13.類神經網路—反向傳播法(五): 用等高線圖讓您對學習率更有感
[機器學習基礎系列專文]:
1.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法
[類神經網路延伸介紹]:
1.卷積類神經網路(Convolution neural network,CNN)介紹
2.遞迴類神經網路(Recurrent neural network,RNN)介紹
[ChatGPT系列專文]:
2.從ChatGPT探索GPT的原理概念:少量數據的解方—遷移學習技巧
3.ChatGPT是什麼?探索GPT原理:遷移學習(transfer learning)的奧秘—微調(fine-tuning)技巧