batchsize過小:每次計算的梯度不穩定,引起訓練的震盪比較大,很難收斂。
batchsize過大:
(1)提高了內存利用率,大矩陣乘法並行計算效率提高。
(2)計算的梯度方向比較准,引起的訓練的震盪比較小。
(3)跑完一次epoch所需要的迭代次數變小,相同數據量的數據處理速度加快。
缺點:容易內容溢出,想要達到相同精度,epoch會越來越大,容易陷入局部最優,泛化性能差。
batchsize設置:通常10到100,一般設置為2的n次方。
原因:計算機的gpu和cpu的memory都是2進制方式存儲的,設置2的n次方可以加快計算速度。