当前位置: 首页 > news >正文

Note2.2 机器学习训练技巧:Batch and Momentum(Machine Learning by Hung-yi Lee)

目录

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:普通的) 

 

 

http://www.lryc.cn/news/576275.html

相关文章:

  • Note2.1 处理critical point(Machine Learning by Hung-yi Lee)
  • 安卓中静态和动态添加子 View 到容器
  • 【C/C++】单元测试实战:Stub与Mock框架解析
  • 【RAG面试题】LLMs已经具备了较强能力,存在哪些不足点?
  • Windows11系统上安装WM虚拟机及Ubuntu 22.04系统
  • clion与keil分别配置项目宏定义
  • Day44 预训练模型
  • FLUX.1 Kontext(Dev 版)训练lora基础教程
  • Python基础知识之文件
  • 什么是故障注入测试
  • SCSAI万物对象模型和五维市场交易平台原型
  • mongodb生产备份工具PBM
  • Selenium基本用法
  • 深入剖析 CVE-2021-3560 与 CVE-2021-4034:原理、区别与联系
  • 智能助手(利用GPT搭建智能系统)
  • Vivado 五种仿真类型的区别
  • Javaweb - 6 BOM 编程 和 DOM 编程
  • python打卡day56
  • VUE使用过程中的碰到问题记录
  • 【深度学习新浪潮】MoE技术入门(简要版)
  • Linux基本指令篇 —— tac指令
  • Apache Kafka 面试应答指南
  • 黑马JVM解析笔记(五):深入理解Java字节码执行机制
  • python训练day43 复习日
  • 10【认识文件系统】
  • 基于springboot的火锅店点餐系统
  • 遥感图像语义分割1-安装mmsegmentation
  • 人工智能-基础篇-2-什么是机器学习?(ML,监督学习,半监督学习,零监督学习,强化学习,深度学习,机器学习步骤等)
  • Python Selenium 滚动到特定元素
  • .NET MAUI跨平台串口通讯方案