Gradient Descent With AdaGrad From Scratch