Skip to content

RenyiELBO/IWAE fail to converge on AIR example #3289

@horizon-blue

Description

@horizon-blue

Issue Description

Hello Pyro folks. I was trying to use IWAE in the AIR example to see if the stricter lower bound yields better performance than the standard ELBO. However, after swapping out the elbo method with RenyiELBO(alpha=0), the model fails to converge completely. As a diagnostic, I also tried setting num_particles=1 to see if it at least falls back to the standard ELBO behavior, but the accuracy of the AIR model still does not improve at all. After reading #2220, I also tried reducing batch_size=1, yet there's no change in the performance of the model either.

I'm wondering if any of you might have some insights on what could cause the performance discrepancy between RenyiELBO vs TraceGraph_ELBO? Thank you very much :)

epoch vs accuracy
epoch vs -ELBO

Environment

For any bugs, please provide the following:

  • Platform: MacOS 14.0, Python 3.11.5
  • Pyro 1.8.6
  • PyTorch 2.1.0

Code Snippet

The issue could be reproduced by running the AIR Example in Pyro's codebase and replacing this elbo setting with RenyiELBO().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions