class_docstr: Gradient descent with adaptive momentum (Adam).
  
  :param math_engine: The math engine to be used for calculations.
  :type math_engine: object
  :param learning_rate: The learning rate.
  :type learning_rate: float, default=0.01
  :param l1: The L1 regularization parameter.
  :type l1: float, default=0
  :param l2: The L2 regularization parameter.
  :type l2: float, default=0
  :param max_gradient_norm: The upper limit for gradient norm.
      A negative value means no limit, which is also the default setting.
  :type max_gradient_norm: float, default=-1.0
  :param moment_decay_rate: The moment decay rate. Moment is a weighted sum of previous gradients.   
  :type moment_decay_rate: float, default=0.9
  :param second_moment_decay_rate: The decay rate for the weighted sum of previous gradients, squared,
      also called the second moment.  
  :type second_moment_decay_rate: float, default=0.99
  :param epsilon: The small value used to avoid division by zero 
      when calculating second moment.
  :type epsilon: float, default=1e-6
  :param ams_grad: Turns AMSGrad mode on or off.
      AMSGrad helps against divergence and rapid vanishing of previous states
      memory, which may become a problem for the optimizers that use 
      the moving mean for squared gradient history (Adam, NAdam, RMSprop).
      See https://openreview.net/pdf?id=ryQu7f-RZ.   
  :type ams_grad: bool, default=False
  :param decoupled_weight_decay: Enables using of Decoupled Weight Decay Regularization.
      See https://openreview.net/pdf?id=Bkg6RiCqY7.
  :type decoupled_weight_decay: bool, default=False
class_docstr_tok: ["Gradient","descent","with","adaptive","momentum","(","Adam",")",".",":","param","math_engine",":","The","math","engine","to","be","used","for","calculations",".",":","type","math_engine",":","object",":","param","learning_rate",":","The","learning","rate",".",":","type","learning_rate",":","float",",","default=0.01",":","param","l1",":","The","L1","regularization","parameter",".",":","type","l1",":","float",",","default=0",":","param","l2",":","The","L2","regularization","parameter",".",":","type","l2",":","float",",","default=0",":","param","max_gradient_norm",":","The","upper","limit","for","gradient","norm",".","A","negative","value","means","no","limit",",","which","is","also","the","default","setting",".",":","type","max_gradient_norm",":","float",",","default=-1.0",":","param","moment_decay_rate",":","The","moment","decay","rate",".","Moment","is","a","weighted","sum","of","previous","gradients",".",":","type","moment_decay_rate",":","float",",","default=0.9",":","param","second_moment_decay_rate",":","The","decay","rate","for","the","weighted","sum","of","previous","gradients",",","squared",",","also","called","the","second","moment",".",":","type","second_moment_decay_rate",":","float",",","default=0.99",":","param","epsilon",":","The","small","value","used","to","avoid","division","by","zero","when","calculating","second","moment",".",":","type","epsilon",":","float",",","default=1e-6",":","param","ams_grad",":","Turns","AMSGrad","mode","on","or","off",".","AMSGrad","helps","against","divergence","and","rapid","vanishing","of","previous","states","memory",",","which","may","become","a","problem","for","the","optimizers","that","use","the","moving","mean","for","squared","gradient","history","(","Adam",",","NAdam",",","RMSprop",")",".","See","https",":","\/\/openreview.net\/pdf","?","id=ryQu7f-RZ",".",":","type","ams_grad",":","bool",",","default=False",":","param","decoupled_weight_decay",":","Enables","using","of","Decoupled","Weight","Decay","Regularization",".","See","https",":","\/\/openreview.net\/pdf","?","id=Bkg6RiCqY7",".",":","type","decoupled_weight_decay",":","bool",",","default=False"]
docstr: Sets the moment decay rate. 
  Moment is a weighted sum of previous gradients.
code: def moment_decay_rate(self, value):
      """Sets the moment decay rate.
      Moment is a weighted sum of previous gradients.
      """
      self._internal.set_moment_decay_rate(value)
  
imports: import neoml.PythonWrapper
label_desc: Use image node_id 3 for calling the AdaptiveGradient obj's underlying member method code with example usage: obj.moment_decay_rate(value) without return types