深度学习笔记(七):Batch size问题总结

举报
AI 菌 发表于 2021/08/05 00:27:53 2021/08/05
【摘要】 文章目录 1、Batch Size对训练效果的影响2、合理增大Batch Size 的好处3、Batch Size太大的坏处 理论系列: 深度学习笔记(一):卷积层+激活函数+池化层+全连接层 深度学习笔记(二):激活函数的前世今生 深度学习笔记(三):BatchNorm(BN)层 深度学习笔记(四):梯度下降法与局部最优解 深...


理论系列:

深度学习笔记(一):卷积层+激活函数+池化层+全连接层

深度学习笔记(二):激活函数的前世今生

深度学习笔记(三):BatchNorm(BN)层

深度学习笔记(四):梯度下降法与局部最优解

深度学习笔记(五):欠拟合、过拟合

防止过拟合(5.1):正则化

防止过拟合(5.2):Dropout

防止过拟合(5.3):数据增强

实战系列:

《TensorFlow2 入门指南》专栏

《CV实战项目:图像分类+目标检测+语义分割》专栏


Batch Size指的是一次训练所选取的样本数,Batch Size的大小影响模型的优化程度和速度。

1、Batch Size对训练效果的影响

  • 当Batch Size太小时,比如Batch Size=1。一次迭代只需对一个样本进行计算,因此单次迭代速度很快,可用于在线学习。在实际过程中,由于单个样本的随机性,一方面,训练会剧烈波动;一方面, 这种波动可能使训练到达更好的局部最小值。
  • 当Batch Size增大时,GPU的利用率会提高,对于相同的数据量处理的速度会更快一些。与此同时,Batch Size越大,其确定的下降方向越准,网络训练(收敛)的更快。
  • 当Batch Size太大时,比如每次迭代更新使用所有的训练样本。那么迭代速度就会非常慢,甚至会出现训练不动的情况。

2、合理增大Batch Size 的好处

在合理范围内增大Batch Size 的好处在以下几个方面:

  • 一次训练多组数据,内存利用率提高;GPU并行计算效率提高;
  • 相比于小批量,对于相同的数据量,处理速度更快;
  • 在一定范围内,一般来说,Batch Size 越大,其确定的梯度下降方向越准,引起的训练震荡就越小。

3、Batch Size太大的坏处

如果盲目增大Batch Size,对训练会有一定的坏处:

  • 一次喂入的数据量太大,内存容量可能撑不住,或者显卡显存不足。
  • 增大到一定程度后,其确定的梯度下降方向基本不再变化了。
  • 容易陷入局部最小值,且很难再跳出。

最好的关系是互相成就,各位的「三连」就是【AI 菌】创作的最大动力,我们下期见!

在这里插入图片描述

文章来源: ai-wx.blog.csdn.net,作者:AI 菌,版权归原作者所有,如需转载,请联系作者。

原文链接:ai-wx.blog.csdn.net/article/details/118946126

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。