About the calculation of the variance of R(output)
In the paper, there seems like the R is a random variable. So the variance of Z shouldn't be calculate by (1-lambda)**2, the way calculated in the code(IBA-paper-code/attribution_bottleneck/bottleneck/per_sample_bottleneck.py). This way of calculation seems that the epsilon in the paper is a N(0,I) variable and R is a fixed variable.
Hi xiaoeyuztj, sorry for the late reply. Is your question about the normalization or R? Here: https://github.com/BioroboticsLab/IBA-paper-code/blob/master/attribution_bottleneck/bottleneck/per_sample_bottleneck.py#L90
We normalize R to be distributed ~ N(0, I) and therefore espilon is also '~N(0,I)`. We do this to simplify the computation of the KL-divergence which is invariant to the scaling of both distributions. Let me know if you have any more questions.