為什麼會介紹此篇文章?
由於一般進行機器學習模型訓練的數據量龐大,在一般電腦運算資源受限的情況下,實務上較不太會採取一般的梯度下降法進行機器學習模型訓練,通常會採用批次與隨機的梯度下降法進行模型訓練,因此,本篇文章欲針對此概念進行簡單的介紹。
一般的梯度下降法與批次以及隨機梯度下降法差異
作法差異
一般的梯度下降法,作法為輸入所有數據資料後,再進行梯度下降,由於要看過所有數據才進行梯度下降,在面對大數據的情況,所需運算資源就會較龐大,因此,針對一般電腦的運算資源,是較難以這種方式進行梯度下降。不過如果可以採用此方法進行梯度下降的時候,因為可以看過的資訊較為全面,所以再進行梯度下降的時候,效率會較高。
批次與隨機的梯度下降法,是看過部分數據之後,就進行梯度下降。由於處理數據量減低,可減低所需的運算量,因此,適合一般電腦進行使用。由於只看過部分數據就進行梯度下降,在下降的時候,未必能按照最陡峭的方向進行下降,因此,在下降的路徑上會較為蜿蜒,效率會比較低。
其中隨機梯度下降法是批次下降法裡最極端的狀況,就是取一筆資料就進行梯度下降。
類比說明
一般的梯度下降法是看過所有數據之後,再進行梯度下降,就好像在山裡面,是以360度全景看完周遭地形後,選擇最陡的方向下山。因此,在每一步下山的時候,都能沿最陡峭的方向下山。
批次梯度與隨機是看過部分數據後,再進行梯度下降, 就好像在山裡面,只看過某個區域後(如紫色區域),找出某區域下最陡的方向,再進行下山。由於只有看部分區域,在每一步下山的時候,就比較不能沿著最陡峭的方向下山,因此,效率上會較低。
一般梯度下降法下山的方式效率較高,每一步就沿著最陡峭的方向下山。
批次與隨機梯度下降法由於只能從某區域中最陡峭的方向下山,路徑會相對蜿蜒。
這兩種方法差異為雖然走的路徑不相同,但最終都可以到達谷底。
總結
一般梯度下降法適用在有足夠運算資源的時候或是數據量沒有那麼龐大的情況,就可以採用此方法,進行梯度下降,優點為下降效率較高,缺點為所需運算量較龐大。
批次與隨機梯度下降法適用在運算資源不充足的時候或是數據量龐大,就可採用此方法進行梯度下降,優點為所需運算量較低,缺點為下降效率較低。
[類神經網路基礎系列專文]:
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系列專文]: