自己怎么创网站微信端网站开发流程
目录
Batch
1.基础概念
2.Small Batch与Large Batch对比
2.1运行时间
2.2 epoch数量相同时,训练结果
2.3 训练结果相同时,small batch表现仍然更好
2.4总结
Momentum
原理
small batch和momentum都是训练的常见技巧,可以escape critical points,取得更好的结果
Batch
1.基础概念
Batch(批次) 是模型在一次前向传播(Forward Pass)和反向传播(Backward Pass)中同时处理的一组样本(数据点)。Batch Size 是一个超参数,表示每个 Batch 中包含的样本数量(例如 32、64、128)。
Epoch(轮次) :1 Epoch 表示模型完整遍历整个训练集一次(即所有数据被模型学习了一遍)。
Shuffle:打乱数据顺序
2.Small Batch与Large Batch对比
2.1运行时间
如果不考虑并行运算
但实际运行时,使用了GPU,并行处理大量数据。
Small Batch完成一个epoch中需要的次数更多,所以实际上Batch越大,完成一个epoch速度越快。
2.2 epoch数量相同时,训练结果
与直觉相反的是,small batch的训练效果更好,noisy的gradient反而有助于训练。
实验结果:
一种可能解释
small batch每次训练资料不同,可能在L1上卡住了,但在L2上可以继续训练
2.3 训练结果相同时,small batch表现仍然更好
一个神奇的事实是,即使增加Large batch的训练轮数,把它训练到与small batch差不多的accuracy,测试集上small batch性能仍然更好。
以下的实验测试了六种常见神经网络,均支持这一结论。
一种可能的解释
minima也有好坏之分:flat minima优于sharp minima。如果training data和testing data存在mismatch,flat minima结果相差不大,而sharp minima结果相差很多。而small batch因为noisy,可以跳出很窄的“峡谷”,更难被sharp minima困住。
2.4总结
那能不能结合二者优点,既速度快,又结果好呢?这是有可能的,很多文章都在探讨这一问题
Momentum
Momentum是一种可以对抗local minima和saddle point的技术。momentum在物理上是动量的意思,此方法运用了训练时gradient的“动量”,也可以说“惯性”,来达到效果。
原理
(vanilla:普通的)