BatchSize 的选择

全批次(蓝色)

如果数据集比较小我们就采用全数据集。全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。

注:对于大的数据集我们不能使用全批次,因为会得到更差的结果。

迷你批次(绿色)

选择一个适中的Batch_Size 值。就是说我们选定一个batch的大小后,将会以batch的大小将数据输入深度学习的网络中,然后计算这个batch的所有样本的平均损失,即代价函数是所有样本的平均。

随机(batch_size等于1的情况)(红色)

每次修正方向以各自样本的梯度方向修正,横冲直撞各自为政,难以达到收敛。

相对于正常数据集,如果Batch_Size过小,训练数据就会非常难收敛,从而导致underfitting。 
增大Batch_Size,相对处理速度加快。 
增大Batch_Size,所需内存容量增加(epoch的次数需要增加以达到最好结果)。 

这里我们发现上面两个矛盾的问题,因为当epoch增加以后同样也会导致耗时增加从而速度下降。因此我们需要寻找最好的batch_size。
Batch_Size 增大到一定程度,其确定的下降方向已经基本不再变化;

 

再次重申:batchsize 的正确选择是为了在内存效率和内存容量之间寻找最佳平衡。


选择合适的batch size是深度学习中一个重要的决策。根据引用中的错误提示,你遇到了一个batch size的错误。引用指出,训练和测试的batch size是独立的,训练时的batch size可以根据显卡内存的大小来设定。而引用提到,通常在实际工程中使用mini-batch,大小设置为几十或几百,以平衡时间效率和模型性能。对于二阶优化算法,引入大量噪声可以提高性能,因此可以考虑使用大batch size,甚至设置为几千或一两万来获得最佳性能。根据这些信息,你可以根据你的具体情况和需求来选择合适的batch size。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【深度学习】BatchSize设置](https://blog.csdn.net/weixin_31866177/article/details/96445370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [CNN基础——如何设置BatchSize](https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/116743362)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值