Gradient-based optimization algorithm used in machine learning and deep learning for training artificial neural networks.