An optimization algorithm commonly used in conjunction with backpropagation for updating the weights of the neural network.