|

機器學習訓練: 批次訓練(mini-batch)是什麼?為何它可解決龐大數據面臨的痛點?

批次訓練(mini-batch)

一般機器學習的訓練方式,是一次輸入所有訓練數據到機器當中進行訓練。但是這樣會產生一個問題,當資料量太過龐大的時候,在有限的運算資源下,是難以用這樣的方式讓電腦去做運算訓練。

為了要解決這樣的問題,批次訓練(mini-batch)方法就產生了,批次訓練的方法它一樣是要讓機器看過所有訓練數據進行訓練,差別只是在於它不是同時全部輸入,而是將訓練數據分批(batch)輸入機器當中進行訓練,透過這樣的方式,就可有效減輕電腦的運算量,同時也可處理龐大的數據量,並且達成讓機器學習好的效果!

批次訓練(mini-batch)對梯度下降之影響

以一般訓練的方式,對應到的就是梯度下降法,也就是在損失空間裡面,會沿著每個位置的負梯度行走,才會到達山谷也就是損失最低點,此點對應的權重,就是最佳權重。而這樣的訓練方式,是最有效率的,因為每一個位置都是沿著最陡峭的地方下去。而在批次訓練的部分,因為已經無法一次看過所有訓練資料,所以要分成不同的訓練資料去做訓練,此時,每個位置看到的並非是最陡峭的方向,而是看到一個相對陡峭的方向就下去,看起來軌跡會更為隨機變化。雖然損失了一點下山的效率,但是可以解決運算資源的問題,而且最終依然可以正確到達山谷。

總結

我們以一個比喻法來作總結,一般的梯度下降法,是在下山的過程當中,環視周遭找一個最陡峭的方向下山,這樣就可最有效率到底谷底。但是在批次梯度下降法中,因為並沒有一次看過所有資料,所以是無法環視周遭去找一個最陡峭的方向。這樣的感覺就很像是山裡面起霧,起霧的時候,能見度很低,所以我們只能找一個看起來相對陡峭的方向就去下山。雖然會損失掉一點效率的部分,但最終仍然能到達山谷。

[參考資料]:

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

Similar Posts

One Comment

Comments are closed.