The procedure that updates a model's weights during learning, including the objective function and update rules.