type
status
date
slug
summary
tags
category
icon
password
😀
入门机器学习,模型训练基本参数,你就学吧,以后这些参数调的你不吱声
 

📝 主旨内容

batch_size

  • 定义batch_size是指在训练过程中每次传递给网络的数据样本数量。用于在每一次的参数更新中使用的样本数量。
  • 作用:选择合适的batch_size可以平衡训练效率和训练稳定性。较小的batch_size可能导致模型更新更频繁,有利于收敛,但训练过程可能会更加不稳定;较大的batch_size可以提高内存利用率和训练速度,但可能需要更多的内存,并且可能导致模型收敛到次优解。

learning_rate

  • 定义learning_rate是指在优化算法中用于控制权重更新幅度的超参数。它决定了在反向传播过程中参数更新的步长大小。
  • 作用learning_rate对模型的训练过程和最终性能有重要影响。过高的学习率可能导致模型训练过程中的不稳定,甚至发散;而过低的学习率会导致训练速度缓慢,且可能陷入局部最小值。

shuffle

  • 定义shuffle是一个布尔值,用于指定是否在每个epoch开始时随机打乱数据。
  • 作用:打乱数据可以防止模型在训练过程中学习到数据的顺序,帮助模型更好地泛化。如果数据是按照某种固定顺序排列的,不进行打乱可能会导致模型学习效果不佳。

Epochs

  • 定义:一个epoch指的是整个数据集正向和反向通过神经网络一次。简单来说,它是模型看到整个训练集的次数。
  • 作用:增加epoch的数量通常会提高模型的性能,直到一定的极限。但是,过多的epochs可能会导致过拟合,即模型在训练数据上表现很好,但在未见过的数据上表现不佳。

Optimizer

  • 定义:优化器是一种算法或方法,用于改变神经网络中的权重以最小化损失函数。
  • 作用:不同的优化器(如SGD、Adam、RMSprop等)采用不同的策略来调整权重以减少损失。选择合适的优化器可以加快训练速度,并提高模型的准确性。

Loss Function

  • 定义:损失函数(或成本函数)是用来估量模型的预测值与真实值之间差异的函数。
  • 作用:损失函数指导着优化器调整权重的方向和幅度,以使模型的预测更接近真实标签。不同的问题类型(如分类、回归)会使用不同的损失函数。

Momentum

  • 定义:动量是优化算法的一个参数,旨在加速学习过程中的梯度下降,特别是在梯度的方向相同的情况下。
  • 作用:动量帮助优化器在相关方向上加速学习,避免陷入局部最小值,并有助于减少训练过程中的振荡。

Regularization

  • 定义:正则化是一种技术,用于减少模型的过拟合,通过对模型复杂度的惩罚来实现。
  • 作用:通过向损失函数添加一个正则化项(如L1或L2正则化),可以限制模型权重的大小,使模型更加平滑,从而提高模型的泛化能力。

Dropout

  • 定义:Dropout是一种正则化技术,它在训练过程中随机忽略(即“丢弃”)神经网络中的一些单位。
  • 作用:Dropout可以防止模型对训练数据过拟合,通过减少神经元之间复杂的共适应关系,提高模型的泛化能力。

Learning Rate Decay

  • 定义:学习率衰减是随着时间(通常是epoch的数量)逐渐减小学习率的过程。
  • 作用:随着训练的进行,减小学习率可以帮助模型在学习初期快速收敛,并在学习后期通过更精细的权重调整避免过度摆动,从而提高模型的稳定性和性能。
  • 定义:学习率衰减是随着时间(通常是epoch的数量)逐渐减小学习率的过程。
  • 作用:随着训练的进行,减小学习率可以帮助模型在学习初期快速收敛,并在学习后期通过更精细的权重调整避免过度摆动,从而提高模型的稳定性和性能。

🤗 总结归纳

其实还有很多参数,像是num_workers啊,这些参数与神经网络的关系是很微妙的,会涉及到资源与模型复杂度的侧重,没有两全之策,只有中庸之道,而这种微调技术和策略需要你长期的经验积累,或者是依赖工具给出建议(目前技术不是太成熟,还是依赖于个人/团队经验)
这篇文章只讲了每个参数的定义,很少设计到参数具体怎么根据任务来微调,想着以后边做微调的时候再另外做文章补充
 
💡
有关这篇博客的任何问题,欢迎您在底部评论区留言,我会在github邮箱中第一时间收到邮件,让我们一起交流~
向量数据库和文档数据库线程和进程,并行和并发
  • Giscus
Zachary_Yang
Zachary_Yang
一个普通的干饭人🍚
Announcement
🎉欢迎来到我的博客🎉
-- 亲爱的读者们,你们好! ---
👏在这里,我希望能够和你们一起分享我对生活的观察、对技术的理解和热爱,暂将博客分为以下几个栏目👏
🌿 心绪漫卷边:一些小随笔
🌌 智绘非遇路:AI领域
😊 浅笑编程边:前后端开发
🛠 技术汇流石下:零散技术分享

祝好,
Zachary_Yang