引导式测验 · 中等 等级
梯度累积测验
测试微批量梯度总和、有效批量大小、损失缩放、优化器计时、归一化限制和过早重置错误。
问题 1 的 8
梯度积累主要让你做什么?
预览每个问题8 问题
当您参加测验时,就会出现答案和解释。
- 梯度积累主要让你做什么?
- 无需任何 GPU 即可训练
- 跳过向后传递
- 在有限的内存上模拟更大的有效批量大小
- 完全消除优化器
- 对于微批量大小为 4 和 8 的累积步骤,有效批量大小为:
- 32
- 4
- 8
- 12
- 对于累积因子 N,optimizer.step() 和 Zero_grad() 应该何时发生?
- 每个微批次之后
- 从来没有
- 向前传球之前
- 在 N 个微批次之后调用 optimizer.step(),然后在下一个累积窗口之前清除梯度
- 为了保持有效学习率正确,每微批次损失通常为:
- 乘以 N
- 除以累加步数N
- 设置为零
- 替换为准确度
- 哪个归一化层与梯度累积配对得更干净?
- 层或组标准化,因为它们不依赖于批量统计数据
- 批量归一化,因为它喜欢小批量
- 没有规范化可以用它
- 仅有辍学
- 使用梯度累积的主要成本是:
- 峰值时使用更多 GPU 内存
- 丢失所有梯度
- 每次有效更新的挂钟时间更长
- 无法使用优化器
- 训练循环会在每个微批次后清除梯度,但每第四个批次就会步进优化器。失去了什么?
- 模型权重被删除
- 早期微批次对累积更新的贡献
- 有效批次变大四倍
- 损失自动为零
- 为什么使用 BatchNorm 的四个微批次的行为可能与总大小相同的一个物理批次的行为不同?
- 优化器无法接受四次向后传递
- BatchNorm 中禁止梯度相加
- 训练样本数量变化
- BatchNorm 使用每个微批次的统计数据,而不是组合批次的统计数据