Optimization algorithms are used by neural networks to help minimize an error function by modifying the model’s internal learnable parameters. IDLmloptGradientDescent is a commonly used optimization algorithm in machine learning. It looks for the local minimum of a function by taking steps proportional to the negative of the gradient of the function at the current point. In this way, the algorithm follows the direction of the slope downhill until it reaches a local minimum, or a saddle point.


Compile_opt idl2
Optimizer = IDLmloptGradientDescent(0.1)
Print, Optimizer(0.1, 0.1, 0.1)

Note: Though the above is how an optimizer can be used as a standalone object, the common scenario is to pass it to the IDLmlFeedForwardNeuralNetwork::Train() method via the OPTIMIZER keyword.


Optimizer = IDLmloptGradientDescent()

Result = Optimizer(LearningRate)



Specify the initial learning rate value to use as a starting point. Note that if this parameter is too small, it may lead to slow convergence, and if it is too large, it can miss the optimal solution.



Version History



See Also

IDLmloptAdam, IDLmloptMomentum, IDLmloptQuickProp, IDLmloptRMSProp