static adam(learningRate = 0.001, beta1 = 0.9, beta2 = 0.999, epsilon = null) {
        return new (0, _adamOptimizer.AdamOptimizer)(learningRate, beta1, beta2, epsilon);
    }
Constructs a `tf.AdamOptimizer` that uses the Adam algorithm.
See [https://arxiv.org/abs/1412.6980](https://arxiv.org/abs/1412.6980)

@param learningRate The learning rate to use for the Adam gradient
descent algorithm.
@param beta1 The exponential decay rate for the 1st moment estimates.
@param beta2 The exponential decay rate for the 2nd moment estimates.
@param epsilon A small constant for numerical stability.

@doc {heading: 'Training', subheading: 'Optimizers', namespace: 'train'}