storchastic icon indicating copy to clipboard operation
storchastic copied to clipboard

Implement GO/Generalized Stochastic Backpropagation

Open HEmile opened this issue 5 years ago • 1 comments

See https://hal.archives-ouvertes.fr/hal-02968975/document

Implement: For multivariate Bernoulli, Sample a single normal sample, then for each dimension, use this sample and flip the corresponding dimension.

Run the normal sample and the flipped samples. Weight the original sample with 1. The multiplicative is: the sum of the parameters for the normal sample. These are negated if the corresponding dimension is 1. Then for the flipped samples, use -parameter if it flipped to 0, otherwise use just the parameter (ie, not negated).

To make the zeroth-order correct, use importance sampling for the flipped samples. In the multiplicative estimator, divide again by this importance sampling to ensure correctness.

This doesn't use a baseline.

HEmile avatar Oct 30 '20 15:10 HEmile

For the unbiased GO-gradient implementation, see the paper.

HEmile avatar Mar 04 '21 11:03 HEmile