【深度学习】学习笔记——批量和动量

批量

实际计算梯度时,并不是对所有数据的损失 L L L计算梯度,而是把所有数据分成一个一个的批量(batch)。遍历所有批量的过程称为一个回合(epoch),数据分为批量时,还会进行随机打乱(shuffle)。

在有并行计算的情况下,小的批量跟大的批量运算的时间没有太大的差距。除非大的批量非常大才会显示出差距。但是一个回合需要的时间,小的批量比较长,大的批量反而是比较快的。所以从一个回合需要的时间来看,大的批量是比较有优势的。而小的批量更新的方向比较有噪声,大的批量更新的方向比较稳定。但是有噪声的更新方向反而在优化的时候有优势,而且在测试的时候也会有优势。所以大的批量跟小的批量各有优缺点,批量大小是需要去调整的超参数。

动量

动量法是另外一个可以对抗鞍点或局部最小值的方法。

动量法是参考了真实的物理世界里一个球如果从高处滚下来,就算滚到鞍点,因为惯性的关系,他还是会继续往前走。如果球的动量足够大,其甚至翻过小坡继续往前走。

相关推荐
我的golang之路果然有问题14 分钟前
mac配置 unity+vscode的坑
开发语言·笔记·vscode·macos·unity·游戏引擎
哥布林学者1 小时前
吴恩达深度学习课程二: 改善深层神经网络 第三周:超参数调整,批量标准化和编程框架(二)batch归一化
深度学习·ai
go_bai1 小时前
Linux-线程
linux·开发语言·c++·经验分享·笔记
净03221 小时前
IsaacLab笔记(1)利用standalone python创建场景
笔记·isaacsim·isaaclab
rannn_1111 小时前
【Javaweb学习|黑马笔记|Day5】Web后端基础|java操作数据库
数据库·后端·学习·javaweb
AA陈超1 小时前
ASC学习笔记0022:在不打算修改属性集时访问生成的属性集
c++·笔记·学习·ue5·虚幻引擎·unreal engine
HalvmånEver1 小时前
Linux:基础开发工具(四)
linux·运维·服务器·开发语言·学习·makefile
q***78782 小时前
Spring学习——新建module模块
java·学习·spring
学历真的很重要2 小时前
PyTorch 零基础入门:从张量到 GPU 加速完全指南
人工智能·pytorch·后端·深度学习·语言模型·职场和发展