Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • Python

  • MLTutorials

  • 卷积神经网络

  • 循环神经网络

  • Transformer

  • VisionTransformer

  • 扩散模型

  • 计算机视觉

  • PTM

  • MoE

  • LoRAMoE

  • LongTailed

  • 多模态

  • 知识蒸馏

  • PEFT

  • 对比学习

  • 小样本学习

  • 迁移学习

  • 零样本学习

  • 集成学习

  • Mamba

  • PyTorch

  • CL

  • CIL

  • 小样本类增量学习FSCIL

  • UCIL

  • 多模态增量学习MMCL

  • LTCIL

  • DIL

  • 论文阅读与写作

  • 分布外检测

  • GPU

  • 深度学习调参指南

    • 深度学习调参指南
    • 模型
    • 数据
    • 损失函数
    • 学习率
    • Batch Size
    • 优化器
    • 初始化
    • Epoch
    • 激活函数
  • AINotes
  • 深度学习调参指南
Geeks_Z
2025-01-05
目录

优化器

选择优化器

总结: 从针对手头问题类型的最常用的优化器开始。

  • 没有一个优化器是适用于所有类型的机器学习问题和模型架构的‘最佳’优化器。即使只是 比较优化器的性能 (opens new window)也是一项艰巨的任务。

  • 我们建议坚持使用成熟、流行的优化器,尤其是在开始新项目时。

    • 理想情况下,选择用于同类问题的最常用优化器。
  • 做好关注选择的优化器的 *所有* 超参数的准备。

    • 具有更多超参数的优化器可能需要更多的调优工作才能找到最佳配置。

    • 当我们试图找到各种其他超参数(例如架构超参数)的最佳值时,将优化器超参数视为冗余参数是有意义的,这在项目的初始阶段尤其重要。

    • 在项目的初始阶段,从更简单的优化器开始会更可取(例如,具有固定动量的 SGD 或具有固定 ϵ、β1 和 β2 的 Adam ) ,之后可以切换到更通用的优化器。

  • 常用且较为完善的优化器包括(但不限于):

    • SGD with momentum(Nesterov 变体)
    • Adam and NAdam,它们比具有动量的 SGD 更通用。请注意,Adam 有 4 个可调超参数,他们都很重要 (opens new window)!

Adam 的超参数应该如何调整?

  • 正如之前讨论的那样, 对搜索空间以及应该从搜索空间中采样数量做出概括性陈述是非常困难的。 请注意,并非 Adam 中的所有超参数都一样重要。 以下经验法则对应于研究中试验次数的不同“预算”。
    • 如果在一次研究中,训练次数试验次数小于10,那么只需要对基本学习率进行调整。
    • 如果试验次数在10到25次之间, 那么需要对学习率以及 β1 进行调整。
    • 如果试验次数在25次以上,那么需要对学习率、 β1 以及 ϵ 进行调整。
    • 如果可以运行的试验次数大于25次,还需要额外调整β2。

优化算法的更新规则是什么?

Stochastic gradient descent (SGD)

θt+1=θt−ηt∇l(θt)

Momentum

v0=0vt+1=γvt+∇l(θt)θt+1=θt−ηtvt+1

Nesterov

v0=0vt+1=γvt+∇l(θt)θt+1=θt−ηt(γvt+1+∇l(θt)

RMSProp

v0=1,m0=0vt+1=ρvt+(1−ρ)∇l(θt)2mt+1=γmt+ηtvt+1+ϵ∇l(θt)θt+1=θt−mt+1

ADAM

m0=0,v0=0mt+1=β1mt+(1−β1)∇l(θt)vt+1=β2vt+(1−β2)∇l(θt)2bt+1=1−β2t+11−β1t+1θt+1=θt−αtmt+1vt+1+ϵbt+1

NADAM

m0=0,v0=0mt+1=β1mt+(1−β1)∇l(θt)vt+1=β2vt+(1−β2)∇l(θt)2bt+1=1−β2t+11−β1t+1θt+1=θt−αtβ1mt+1+(1−β1)∇l(θt)vt+1+ϵbt+1

上次更新: 2025/06/25, 11:25:50
Batch Size
初始化

← Batch Size 初始化→

最近更新
01
帮助信息查看
06-08
02
常用命令
06-08
03
学习资源
06-07
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式