batch_size的做用

batch_size網絡

模型訓練過程:

模型初始化 --> 數據佯本輸入模型 --> 模型輸出 --> 模型調整code

epoches: 整體佯本訓練的循環次數內存

batch_size: 是在一個epoch下分批次進行訓練,每次訓練的佯本量大小(每進行batch_size佯本輸入輸出後,進行模型參數修正)神經網絡

BP神經網絡爲例:

>假設 佯本數量500,輸入維度是10,輸出維度是2 ;
epoches = 100  訓練100次 ;
batch_size = 1
for i in epoches:
    for 1 in 500:  //進行500次模型調整
        1個佯本輸入,進行模型調整(2維輸出,均方偏差和進行梯度降低)

batch_size = 5
for i in epoches:
 	for 5 in 500:   //進行100次模型調整
    	5個佯本輸入,進行模型調整(5*2維輸出,均方偏差和進行梯度降低)

結論

  • batch_size越小,模型調整越頻繁,但震盪嚴重,難以收斂,耗時較長
  • batch_size越大,模型調整較少,收斂較快,但容易形成局部收斂,且內存一次性消耗較大
  • 合適的batch_size,能夠有效提升模型精度、全局收斂。
相關文章
相關標籤/搜索