梯度下降法

為什麼要介紹這篇文章?

在機器學習領域,要從數據取得好的機器學習模型,就需要有一套自動化的方法,這個方法就是梯度下降法。本篇文章不深入探討數學架構,會盡量以白話文方式,說明此方法,讓大家有個初步了解。

梯度下降法是什麼?

梯度下降法是一種最佳化的方法,最佳化指的是可以在許多情境當中,挑出一個情境是最可以滿足我們目標需求的一種作法。

梯度下降法是一種最佳化的方法,最佳化指的是可以在許多情境當中,挑出一個情境是最可以滿足我們目標需求的一種作法。

舉例來說,像是手機續約,會有許多方案,內容也都大不相同,最佳化的意思是可以從這些方案當中,根據使用者的需求,或是說目標,可以去得到最好的一個方案。

像是使用者可能會有網路一定要吃到飽,然後不希望價格那麼高,最佳化就是可以從這些方案找出網路有吃到飽,價格最實惠的一個方案,可能是每個月繳的錢比較低,或是可以獲取比較昂貴的贈品等等。

最佳化的方法就是我們不用自己去想,自己去評估,這些事情可以交由數學方程式以及程式自動化幫我們挑出來,就可以省去很多的時間,也可以讓我們不用耗費那麼多心力。

舉例來說,像是手機續約,會有許多方案,內容也都大不相同,最佳化的意思是交由數學方程式以及程式自動化可以從這些方案當中,根據使用者的需求,得到最好的一個方案。

梯度下降方法是如何應用在機器學習領域呢?

機器學習模型裡面很多的參數,這些參數是需要被調控的,參數量有可能會達幾千到幾萬以上的數量,像是最新的大型語言模型的參數量更高達幾千億。

由於參數會影響模型的效果,要得到最好的機器學模型,就要將參數調整到最佳的值,模型才會從數據當中表現最好。

舉例來說,以ChatGPT而言,如果模型參數沒有調整好,它可能會針對我們的問題,給出非常不對的回應。

如果模型參數調整的好,就是我們提什麼問題,機器都可以給予良好的回應,也可以解決我們的問題。

如同以上所述,參數數量太多了,不太可能手動去調整,因此,我們需要藉由最佳化的手段,來自動化的達成。因此,我們會應用梯度下降法在取得最佳模型參數,使得機器學習效能表現最好。

機器學習模型裡面很多的參數,這些參數是需要被調控的,像是最新的大型語言模型的參數量更高達幾千億。參數數量太多了,不太可能手動去調整,因此,我們需要藉由梯度下降法自動化取得最佳模型參數,使得機器學習效能表現最好。

梯度下降法在做什麼?

梯度下降法就是基於梯度的計算,去達到最佳化的一個方法。

譬如站在一個山裡面,不同方向都可以讓我們下山,只是有些方向坡度沒有那麼陡,比較平,如果往這個方向走,比較不那麼累,不過下山的時間會比較長。如果往陡一點方向走,可能會稍微累,比較傷膝蓋,不過下山的時間就會比較短。

而梯度的方向指的就是站在目前位置上,沿著梯度方向走,就是當前位置最陡的方向,沿著正梯度方向走,會很快速上山。沿著負梯度方向走,會很快下山。

而梯度下降法指的梯度概念是站在目前位置上,沿著梯度方向走,就是當前位置最陡的方向,沿著正梯度方向走,會很快速上山。沿著負梯度方向走,會很快下山。

梯度下降法是如何應用在機器學習模型訓練?

它其實就是可以想像一座山,這個山的高度代表模型表現不好的程度,人在山裡面的位置代表的是模型參數,每一個山裡面的位置,就代表一組參數。處在山頂的時候,代表這時候模型的參數,會讓模型表現最不好。處在谷底的時候,就代表這時候的模型參數是最棒的,因為模型表現會最好。

梯度下降應用機器學習訓練上,其實就是可以想像一座山,這個山的高度代表模型表現不好的程度,人在山裡面的位置代表的是模型參數,處在谷底的時候,就代表這時候的模型參數是最棒的,模型表現會最好。

梯度下降法做的事情就是一開始人會處在山裡面某個位置上,目標是走到谷底,因此,在每個位置,都會沿著負梯度的方向,也就是當前位置最陡的方向,不斷往下走,不斷下山,最終就可以走到谷底,谷底就是代表此時模型參數是最佳,模型表現是最好。

梯度下降法就是沿著負梯度的方向,不斷往下走,最終就可以走到谷底,谷底就是代表此時模型參數是最佳,模型表現是最好。

效益

在沒有梯度下降法,要下山可能會盲目亂走,變得到谷底時間可能會走好幾天。如果有梯度下降法,因為每個位置都是沿著最有效率的地方行走,因此,可能幾個小時就抵達谷底,所以可以節省非常多的時間。

效益
在沒有梯度下降法,要下山可能會盲目亂走,變得到谷底時間可能會走好幾天。如果有梯度下降法,因為每個位置都是沿著最有效率的地方行走,因此,可能幾個小時就抵達谷底,所以可以節省非常多的時間。

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

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的原理概念:少量數據的解方—遷移學習技巧

Similar Posts