Adam constructor

Adam(
  1. List<Tensor> parameters, {
  2. double lr = 0.0001,
  3. double beta1 = 0.9,
  4. double beta2 = 0.999,
  5. double epsilon = 1e-8,
  6. double clipValue = 1.0,
})

Implementation

Adam(
  this.parameters, {
  this.lr = 0.0001, // Lower learning rate is usually safer for MuZero
  this.beta1 = 0.9,
  this.beta2 = 0.999,
  this.epsilon = 1e-8,
  this.clipValue = 1.0, // Standard clipping threshold
}) : m = List.generate(
       parameters.length,
       (i) => List.filled(parameters[i].data.length, 0.0),
     ),
     v = List.generate(
       parameters.length,
       (i) => List.filled(parameters[i].data.length, 0.0),
     );