# Monte Carlo Gradient Estimation in Auto-encoding Variational Bayes

I am currently reading paper Auto-encoding Variational Bayes and I am not being able to understand the highlighted part in the screenshot below:

I am not understanding why there is f(z) and what is its significance. Also, why the gradient estimator exhibits high variance. It may be because I do not have knowledge on Monte Carlo gradient estimation. Can anyone please provide me some insight on this or provide me some helpful resources for understanding Monte Carlo Gradient Estimation?

So $$f$$ is used as a general term for an objective function which we aim to optimize.
Monte Carlo Methods use repeated sampling from random processes to estimate a value. This means that we draw $$L$$ latent variables $$z^{(l)}$$ from $$q_{\theta}(z|x^{(i)})$$ and then take the average of the gradient ($$\frac{1}{L}\sum_{l=1}^L$$).
In this case with $$z$$ being iid, the total variance is the sum of variances. Therefore, the variance increases when $$L$$ increases (and this only for one datapoint). In the next section, they say that $$L$$ can be set to 1 if the batch size is large enough.