We should abstract sampling procedures so that they are no longer part of a Method's inheritance tree, but rather as a separate object to plug and play. This would make it easier to combine various estimators with various sampling methods, whether biased or not.
Example applications:
https://openreview.net/forum?id=H1Xw62kRZ uses beam search with a biased REINFORCE method. Allowing to use any estimator with this beam search would help modularity and debugging.
Usually, normal MC sampling is enough, but eg when decoding text, we have to deal with eos's that complicate the sampling procedure.
Sampling without replacement is applicable to any unbiased estimator when correcting for the bias through the weighting. By making sampling modular, we can more easily test combinations of estimators.
We should abstract sampling procedures so that they are no longer part of a
Method
's inheritance tree, but rather as a separate object to plug and play. This would make it easier to combine various estimators with various sampling methods, whether biased or not.Example applications: