Muon
类keras.optimizers.Muon(
learning_rate=0.001,
adam_beta_1=0.9,
adam_beta_2=0.999,
epsilon=1e-07,
weight_decay=0.1,
clipnorm=None,
clipvalue=None,
global_clipnorm=None,
use_ema=False,
ema_momentum=0.99,
ema_overwrite_frequency=None,
loss_scale_factor=None,
gradient_accumulation_steps=None,
name="muon",
exclude_layers=None,
exclude_embeddings=True,
muon_a=3.4445,
muon_b=-4.775,
muon_c=2.0315,
adam_lr_ratio=0.1,
momentum=0.95,
ns_steps=6,
nesterov=True,
**kwargs
)
实现 Muon 算法的优化器。
请注意,此优化器不应在以下层中使用:
所有这些都应该使用 AdamW 进行优化。
Muon 优化器可以根据以下条件使用 Muon 更新步骤或 AdamW 更新步骤:
exclude_embeddings
(默认为 True
)设置为 True
,将使用 AdamW 步骤。exclude_layers
(列表)中列出的表达式匹配的变量,将使用 AdamW 步骤。通常,您只需将密集连接输出层的名称传递给 exclude_layers
,例如 exclude_layers=["output_dense"]
。
参考文献
参数
keras.optimizers.schedules.LearningRateSchedule
实例,或不接受任何参数并返回实际值的可调用对象。学习率。默认为 0.001
。0.9
。0.999
。1e-7
。