0
$\begingroup$

As far as I know, mini-batch can be used to reduce the variance of the gradient, but I am also considering if we can achieve the same result if we use the decreasing step size and only single sample in each iteration? Can we compare the convergence rate of them?

$\endgroup$
0
$\begingroup$

Generally answer is "it's not known". Similarity of effects of increasing minibatches size and decreasing learning rate is mostly empirical, there is no known asymptotic formula for it. Also effect of small LR and big minibatch is not the same. For example batch normalization layer would act completely different on those two approaches. Probabilistic distribution of gradients produced by minibatches and single sample (or mb of significantly different size) would be also quite different

$\endgroup$
1
  • $\begingroup$ As @mirror2image says - there's no free lunch for you. It depends highly on your data, domain, problem - run your experiments and check it. Generally speaking, rarely there's some significant a priori knowledge. Running many experiments will also aid your intuition for future research, as a space of hyper-parameters you can research is always limited. $\endgroup$ – Piotr Rarus Nov 25 '19 at 14:35
0
$\begingroup$

Main objective of mini-batch gradient descent is to achieve faster results over full-batch gradient descent as it will start learning weights before completion of one epoch. SGD will start learning earlier than Mini-batch, isn't it? But mini-batch reduces variance of the gradient compared to SGD.

Coming to the question, you're right it's possible to compare the convergence of both scenarios. People used to use SGD with decreasing step-size until Mini-batch algorithm came. Because in practice, Mini-batch gives better performance over SGD due to it's vectorisation property. This property helps in making the computation faster with comparable results wrt SGD.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.