优化器

发布时间 2023-11-15 10:44:46作者: 黑逍逍

参数

  1. 普通参数(Model Parameters):

    • 这些参数是模型内部学习过程中需要调整的参数,它们通过训练数据进行优化。
    • 普通参数是模型通过学习从数据中获取的,比如神经网络中的权重和偏置项。
    • 优化算法的目标是通过调整这些参数,使得模型在给定任务上表现得更好。
  2. 超参数(Hyperparameters):

    • 这些参数不能直接通过训练数据学到,需要手动设置。
    • 超参数通常用于控制模型的整体行为,例如学习率、正则化项的权重、神经网络的层数和每层的神经元数量等。
    • 选择合适的超参数值通常需要经验和实验,可以通过交叉验证等方法进行调整。

学习率

学习率是一个重要的超参数,它用于调整模型权重的更新幅度。深度学习模型通常通过梯度下降或其变体来进行训练,而学习率就是梯度下降中控制步长的因子。

简单来说,学习率决定了在每次更新模型参数时,沿着梯度方向移动的步长大小。如果学习率太小,模型收敛可能会很慢;如果学习率太大,模型可能会在最优解附近震荡,甚至发散,导致无法收敛

 

学习率怎么调整

由大到小,不断的试

学习率范围

一些常见的学习率取值包括 $0.1$、$0.01$、$0.001$

学习率种类

SGD(Stochastic Gradient Descent)

Adam(Adaptive Moment Estimation)

学习率调整:

  • SGD:通常需要手动调整学习率,并且在训练过程中保持不变或按照预定的时间表进行调整。
  • Adam:自适应地调整每个参数的学习率,可以根据每个参数的历史梯度表现来动态调整学习率。

学习率衰减

scheduler = StepLR(optimizer, step_size=5, gamma=0.9)