美文网首页
61.在极端批样本数量下训练网络

61.在极端批样本数量下训练网络

作者: 大勇任卷舒 | 来源:发表于2023-05-30 10:16 被阅读0次
  • 极端批样本情况一般是指
    • batch size为1
    • 或者batch size在6000以上的情况
  • 这两种情况,在使用不合理的情况下都会导致模型最终性能无法达到最优甚至是崩溃的情况。
  • 在目标检测、分割或者3D图像等输入图像尺寸较大的场景,通常batch size 会非常小。
    • 这种情况会导致梯度的不稳定以及batchnorm统计的不准确。
    • 针对梯度不稳定的问题,通常不会太致命,若训练中发现梯度不稳定导致性能的严重降低时可采用累计梯度的策略,即每次计算完不反向更新,而是累计多次的误差后进行一次更新,这是一种在内存有限情况下实现有效梯度更新的一个策略。
    • batch size过小通常对batchnorm的影响是最大的,若网络模型中存在batchnorm,batch size若只为1或者2时会对训练结果产生非常大的影响。
  • 这时通常有两种策略
    • 一、若模型使用了预训练网络,可冻结预训练网络中batchnorm的模型参数,有效降低batch size引起的统计量变化的影响
    • 二、在网络不是过深或者过于复杂时可直接移除batchnorm或者使用groupnorm代替batchnorm,前者不多阐释,后者是有FAIR提出的一种用于减少batch对batchnorm影响,其主要策略是先将特征在通道上进行分组,然后在组内进行归一化。
      • 即归一化操作上完全与batch size无关。这种groupnorm的策略被证实在极小批量网络训练上能达到较优秀的性能。
      • 当然这里也引入里group这个超参数,一般情况下建议不宜取group为1或者各通道单独为组的group数量,可结合实际网络稍加调试。
  • 为了降低训练时间的成本,多机多卡的分布式系统通常会使用超大的batch size进行网络训练。
    • 超大batch size会带来梯度方向过于一致而导致的精度大幅度降低的问题。这时通常可采用层自适应速率缩放(LARS)算法。
    • 从理论认知上将,batch size增大会减少反向传播的梯度更新次数,但为了达到相同的模型效果,需要增大学习率。
    • 但学习率一旦增大,又会引起模型的不收敛。为了解决这一矛盾,LARS算法就在各层上自适应的计算一个本地学习率用于更新本层的参数,这样能有效的提升训练的稳定性。
    • 目前利用LARS算法,腾讯公司使用65536的超大batch size能将ResNet50在ImageNet在4分钟完成训练,而谷歌使用32768的batch size使用TPU能将该时间缩短至2分钟。

大数据视频推荐:
网易云课堂
CSDN
人工智能算法竞赛实战
AIops智能运维机器学习算法实战
ELK7 stack开发运维实战
PySpark机器学习从入门到精通
AIOps智能运维实战
腾讯课堂
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

相关文章

网友评论

      本文标题:61.在极端批样本数量下训练网络

      本文链接:https://www.haomeiwen.com/subject/jugsedtx.html