google-research/torchsde

Learned SDE is quite smooth

wangyixu14 opened this issue · 7 comments

Hi,

I am trying to modify the latent_sde_lorenz example to learn an SDE from a simple 2-dimension noise data. The code works well but the only problem is that the learned SDE will always generate quite smooth samples.
image

I'd like the learned SDE to show the same amount of stochasticity as the data, any idea how to deal with this? Is there any parameter that needs to be tuned?

This is a known problem with latent SDEs -- the diffusion is always a bit too small. I think this could be mitigated by tweaking the training objective (probably the reconstruction loss encourages small diffusions), or by additionally training wrt a discriminator (see Neural SDEs as Infinite-Dimensional GANs). To my knowledge no-one has really tried this, or tried working out the details though.

Have you tried increasing the penalty on the path-space KL?

The prior diffusion is unlikely to collapse, since it's forced to match multiple posterior diffusions approximately, simultaneously.

This is a known problem with latent SDEs -- the diffusion is always a bit too small. I think this could be mitigated by tweaking the training objective (probably the reconstruction loss encourages small diffusions), or by additionally training wrt a discriminator (see Neural SDEs as Infinite-Dimensional GANs). To my knowledge no-one has really tried this, or tried working out the details though.

Thanks for the reply. I am trying to adjust some loss functions.

Have you tried increasing the penalty on the path-space KL?

The prior diffusion is unlikely to collapse, since it's forced to match multiple posterior diffusions approximately, simultaneously.

Thank you, so which loss should I increase log_pxs or logqp0 + logqp_path?

I'm referring to the logqp_path part.

I'm referring to the logqp_path part.

Yes, it helps! Thank you guys for the timely reply. I am closing this issue.

I'm referring to the logqp_path part.

Yes, it helps! Thank you guys for the timely reply. I am closing this issue.

Awesome! Feel free to reopen if/when you have follow-up questions.

This is really cool to see -- thank you for sharing!
Honestly, "better neural SDEs" is still an open research topic. I would love to see more work like yours in this space. :)