实现 Adam 优化器(参数 + 同形梯度累加器)。
Optimizer
01 Syntax
Microsoft.VisualBasic.MachineLearning.Transformer.Optimizer
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | 按参数张量的形状创建优化器状态。 |
| ZeroGrad | 1 | 把梯度累加器清零。 |
| MakeTrainingStep | 1 | 按 Adam 规则原地更新参数,并在更新完成后清零梯度累加器。 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| Gradient | 1 | 与参数同形的梯度累加器;反向传播阶段由调用方往里原地累加。 |
04 Fields
05 Members
#ctor(
Tensor)按参数张量的形状创建优化器状态。
ZeroGrad
把梯度累加器清零。
MakeTrainingStep(
Double, Int32, Tensor)按 Adam 规则原地更新参数,并在更新完成后清零梯度累加器。
Parameters
| Name | Type | Description |
|---|---|---|
learningRate | Double | 学习率 |
step | Int32 | 训练步序号(从 1 开始,用于偏置校正) |
param | Tensor | 待更新的参数张量 |
Gradient
与参数同形的梯度累加器;反向传播阶段由调用方往里原地累加。
_m
一阶矩估计(与参数同形)。
_v
二阶矩估计(与参数同形)。
_gradient
梯度累加器(与参数同形)。