批次訓練(mini-batch)
一般機器學習的訓練方式,是一次輸入所有訓練數據到機器當中進行訓練。但是這樣會產生一個問題,當資料量太過龐大的時候,在有限的運算資源下,是難以用這樣的方式讓電腦去做運算訓練。
為了要解決這樣的問題,批次訓練(mini-batch)方法就產生了,批次訓練的方法它一樣是要讓機器看過所有訓練數據進行訓練,差別只是在於它不是同時全部輸入,而是將訓練數據分批(batch)輸入機器當中進行訓練,透過這樣的方式,就可有效減輕電腦的運算量,同時也可處理龐大的數據量,並且達成讓機器學習好的效果!
批次訓練(mini-batch)對梯度下降之影響
以一般訓練的方式,對應到的就是梯度下降法,也就是在損失空間裡面,會沿著每個位置的負梯度行走,才會到達山谷也就是損失最低點,此點對應的權重,就是最佳權重。而這樣的訓練方式,是最有效率的,因為每一個位置都是沿著最陡峭的地方下去。而在批次訓練的部分,因為已經無法一次看過所有訓練資料,所以要分成不同的訓練資料去做訓練,此時,每個位置看到的並非是最陡峭的方向,而是看到一個相對陡峭的方向就下去,看起來軌跡會更為隨機變化。雖然損失了一點下山的效率,但是可以解決運算資源的問題,而且最終依然可以正確到達山谷。
總結
我們以一個比喻法來作總結,一般的梯度下降法,是在下山的過程當中,環視周遭找一個最陡峭的方向下山,這樣就可最有效率到底谷底。但是在批次梯度下降法中,因為並沒有一次看過所有資料,所以是無法環視周遭去找一個最陡峭的方向。這樣的感覺就很像是山裡面起霧,起霧的時候,能見度很低,所以我們只能找一個看起來相對陡峭的方向就去下山。雖然會損失掉一點效率的部分,但最終仍然能到達山谷。
[參考資料]:
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系列專文]:
自動引用通知: 類神經網路(Deep neural network, DNN)介紹 - 李彼德之家