為什麼要介紹這篇文章?
在機器學習領域,要從數據取得好的機器學習模型,就需要有一套自動化的方法,這個方法就是梯度下降法。本篇文章不深入探討數學架構,會盡量以白話文方式,說明此方法,讓大家有個初步了解。
梯度下降法是什麼?
梯度下降法是一種最佳化的方法,最佳化指的是可以在許多情境當中,挑出一個情境是最可以滿足我們目標需求的一種作法。
舉例來說,像是手機續約,會有許多方案,內容也都大不相同,最佳化的意思是可以從這些方案當中,根據使用者的需求,或是說目標,可以去得到最好的一個方案。
像是使用者可能會有網路一定要吃到飽,然後不希望價格那麼高,最佳化就是可以從這些方案找出網路有吃到飽,價格最實惠的一個方案,可能是每個月繳的錢比較低,或是可以獲取比較昂貴的贈品等等。
最佳化的方法就是我們不用自己去想,自己去評估,這些事情可以交由數學方程式以及程式自動化幫我們挑出來,就可以省去很多的時間,也可以讓我們不用耗費那麼多心力。
梯度下降方法是如何應用在機器學習領域呢?
機器學習模型裡面很多的參數,這些參數是需要被調控的,參數量有可能會達幾千到幾萬以上的數量,像是最新的大型語言模型的參數量更高達幾千億。
由於參數會影響模型的效果,要得到最好的機器學模型,就要將參數調整到最佳的值,模型才會從數據當中表現最好。
舉例來說,以ChatGPT而言,如果模型參數沒有調整好,它可能會針對我們的問題,給出非常不對的回應。
如果模型參數調整的好,就是我們提什麼問題,機器都可以給予良好的回應,也可以解決我們的問題。
如同以上所述,參數數量太多了,不太可能手動去調整,因此,我們需要藉由最佳化的手段,來自動化的達成。因此,我們會應用梯度下降法在取得最佳模型參數,使得機器學習效能表現最好。
梯度下降法在做什麼?
梯度下降法就是基於梯度的計算,去達到最佳化的一個方法。
譬如站在一個山裡面,不同方向都可以讓我們下山,只是有些方向坡度沒有那麼陡,比較平,如果往這個方向走,比較不那麼累,不過下山的時間會比較長。如果往陡一點方向走,可能會稍微累,比較傷膝蓋,不過下山的時間就會比較短。
而梯度的方向指的就是站在目前位置上,沿著梯度方向走,就是當前位置最陡的方向,沿著正梯度方向走,會很快速上山。沿著負梯度方向走,會很快下山。
梯度下降法是如何應用在機器學習模型訓練?
它其實就是可以想像一座山,這個山的高度代表模型表現不好的程度,人在山裡面的位置代表的是模型參數,每一個山裡面的位置,就代表一組參數。處在山頂的時候,代表這時候模型的參數,會讓模型表現最不好。處在谷底的時候,就代表這時候的模型參數是最棒的,因為模型表現會最好。
梯度下降法做的事情就是一開始人會處在山裡面某個位置上,目標是走到谷底,因此,在每個位置,都會沿著負梯度的方向,也就是當前位置最陡的方向,不斷往下走,不斷下山,最終就可以走到谷底,谷底就是代表此時模型參數是最佳,模型表現是最好。
效益
在沒有梯度下降法,要下山可能會盲目亂走,變得到谷底時間可能會走好幾天。如果有梯度下降法,因為每個位置都是沿著最有效率的地方行走,因此,可能幾個小時就抵達谷底,所以可以節省非常多的時間。
[類神經網路基礎系列專文]:
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系列專文]: