iT邦幫忙

2021 iThome 鐵人賽

DAY 9
2
自我挑戰組

30天淺談機器學習系列 第 13

Epoch(時期)、Batch size(批次)、Iteration(迭代)、Learning rate

  • 分享至 

  • xImage
  •  

  在研究類神經網路的程式時,發現會用到一些這概念,因此就來研究了一下。
  這四樣東西,在機器學習時會很常用到,有時候需要調整這些參數來使機器學習過程更加順利且精準。

Epoch(時期)

  Epoch這是指當所有資料都被用來訓練類神經網路一次,就算1個Epoch。舉例來說,今天有100筆資料,將它們全部丟進類神經網路中訓練,就算是1個Epoch。

Batch size(批次)

  Batch size是把資料分成一堆堆,分別丟入類神經網路中訓練,而非全部一起丟進去訓練。舉例來說,今天有100筆資料,我設定Batch size=10,也就是一次只輸入10筆資料進類神經網路中,這動作進行10次之後,才會是1個Epoch。
  那麼究竟Batch size要設定比較大才好,還是小呢?我們來看看圖(一)。
https://ithelp.ithome.com.tw/upload/images/20211008/20140722FtFnXhVqwm.png

  • 圖(一) 各種Batch size大小不同,造成不同的收斂情況 來源:https://www.plob.org/article/13244.html

  藍色線條是將全部資料丟進去一起訓練,最終訓練的效果是最好的,可以收斂到一個點上,但是過程較慢,尤其越到後面進步速度越慢,因此要Epoch很多次才可以。
  綠色線條是將資料分批成很多份,每份數量都差不多(根據自己有的資料數來決定要分多少批),雖然在訓練時很快就能到達一定的程度,但是卻會因為每次訓練資料數過少的關係,可能換其他組時,參數的變動就會很大,收斂不怎麼好。
  紅色線條是每次都用隨機資料數量,可能一下子會把所有資料丟進訓練,也可能一次只丟入一筆。這樣的情況反而更糟,很難收斂成功,但還是會比藍色線條更快到最佳解的地方。

Iteration(迭代)

  剛開始接觸程式時,學習到Recurtion(迴圈),也會學到Iteration(迭代),前者是不斷呼叫自身程式碼得到結果,後者是用迴圈去重複執行程式碼得到結果。
  在機器學習上Iteration跟Batch size有關,因為如果有設定Batch size大小,就會有分批處理資料的情況,這時候就要用迴圈不斷把資料輸入進類神經網路中進行訓練。舉例來說,有100筆資料,一次只訓練其中10筆資料,就要10次迴圈才算是1個Epoch,也就是在這例子的情況下,1個Epoch就要10次Iteration。
  因此概念上就是:原始資料大小=Iteration×Batch size=1 Epoch。
  如果有個工程師,在100筆資料的情況下,決定每次用20筆資料進行訓練,全部資料都要訓練3次,這樣會Iteration幾次呢?Iteration=(原始資料大小÷Batch size)×Epoch=(100÷20)×3=15次。
Learning rate
  Learning rate跟更新類神經網路的公式有關係,如圖(二)。
https://ithelp.ithome.com.tw/upload/images/20211008/20140722wyIiiT8Dsx.png

  • 圖(二) 更新權重公式 來源:https://medium.com/人工智慧-倒底有多智慧/epoch-batch-size-iteration-learning-rate-b62bf6334c49

  η就是Learning rate,在更新權重的時候,會由η乘上∇E(Gradient),來調整權重。但要注意,在梯度下降法篇中有提到,如果切線的斜率調整太大的話,就會沒辦法收斂,Learning rate就類似於調整切線斜率,要讓機器學習進展更快,還是慢一點之類的。雖然欲速則不達,但是太慢的話又很浪費時間。

總結

  以上參數都沒有一定的設定,也有可能這設定在某些領域不好,但在另外的領域會有不錯的成效。而且有可能每個人設備不同,比如資料一次丟入,只要進行多次訓練,還是能達到不錯的成效,但如果設備不好的情況下,可能連第一次訓練都無法成功完成。因此這些設定還是得親自測試,一步步調整到適合自己想要的機器學習的參數,這樣才比較適當。


上一篇
Keras的權重產生以及其介紹
系列文
30天淺談機器學習13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言