Intuitively, how does mini-batch size affect the performance of (stochastic) gradient descent? What is a good way to choose the mini-batch size in stochastic gradient descent? Is the larger the better?