Open dustinvtran opened 7 years ago
You could "link" distributions so that their new image spaces are uncounstrained. Therefore you avoid rejecting HMC proposal because of distributions support being violated. Then you "unlink" them when needed. That's what's done in Stan (and Turing).
If I understand correctly, linking requires evaluation to access the supports. This is not possible with TensorFlow's deferred execution model. Instead, it requires a more sophisticated system for parameterizing a Distribution's support such that bijectors can be a function of its Tensor
boundaries.
Raised by private discussions with Anne Bauer, when say, you define a Uniform latent variable over (0, 3) and perform HMC on it. There is no explicit error and HMC just "runs". The only indication of error is with acceptance rate 1 or 0.