Open rlouf opened 2 years ago
Is the basic idea that we should generate log-probabilities with AePPL and apply the transforms to those graphs using AeMCMC, instead of doing all that together in AePPL?
Yes. AeMCMC would transform the graph and specify the variables to condition on. But that might only make sense when AePPL is able to condition on transformed variables e.g. at.exp(x_rv)
directly, which it should be able to do regardless.
It would make sense to eventually have a separate library that contains the rewrite engine based on miniKanren and the mathematical relations that both AePPL and AeMCMC need to respectively build a logprob graph and build a sampler graph.
The transformations that should be applied are sampler-specific, so automation should not happen in AePPL.