As I know, Gradient Descent(GD) has three variants which are:
1- Batch Gradient Descent(BGD): processes all the training examples for each iteration of gradient descent.
2- Stochastic Gradient Descent(SGD): processes one training example per iteration. Hence, the parameters are being updated even after one iteration in which only a single example has been processed.
3- Mini-Batch Gradient Descent(MBGD): which works faster than both batch gradient descent and SGD. Here, b examples where b < m are processed per iteration.
But in some cases they use SGD and they define a batch size for training which is what I am confused about.
Also, what about Adam, AdaDelta & AdaGrad, are they all MBGD or not?