Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal distribution inflation #1051

Closed
dehann opened this issue Dec 14, 2020 · 6 comments · Fixed by #1159
Closed

Proposal distribution inflation #1051

dehann opened this issue Dec 14, 2020 · 6 comments · Fixed by #1159

Comments

@dehann
Copy link
Member

dehann commented Dec 14, 2020

Summary

added

fg = initfg()
getSolverParams(fg).inflation = 3.0 # the default

# and per factor control
addFactor!(fg, ...., inflation=0.01) # or 0 to switch off like before

Original Comment

It might be worth experimenting with an option to inject more entropy when calculating proposal distributions before the product step. Likely best to start with default off, but mathematically not expected bias the posterior estimates but rather enhance the reach over the domains when searching for a posterior.

@dehann
Copy link
Member Author

dehann commented Jan 28, 2021

xref JuliaRobotics/RoME.jl#380

@dehann
Copy link
Member Author

dehann commented Feb 8, 2021

Suggestion is to generalize this:

addEntropyOnManifoldHack!(addEntrNH, addOps, spreadDist)

will fix less important "hack" aspect after JuliaRobotics/RoME.jl#244 and JuliaRobotics/ApproxManifoldProducts.jl#41 are complete.

@dehann
Copy link
Member Author

dehann commented Feb 13, 2021

decision on unconstrained dimensions with only a partial constraint, whether noise should be added or not. Might be useful as an option that can be turned on or off, and dependent on mechanics inside inference. Perhaps start with default off with intention to switch on when ready.

@dehann
Copy link
Member Author

dehann commented Feb 13, 2021

Hi @Affie , just a FYI that to fix this I have to add DFG.GenericFunctionNodeData.inflation::Float64. Will link separate PR here, and likely need to tag DFG v0.12.0 as a result.

dehann added a commit that referenced this issue Feb 14, 2021
@dehann dehann linked a pull request Feb 14, 2021 that will close this issue
dehann added a commit that referenced this issue Feb 14, 2021
@dehann dehann reopened this Feb 14, 2021
@dehann
Copy link
Member Author

dehann commented Feb 14, 2021

automation closed this too soon

@dehann dehann modified the milestones: v0.0.x, v0.21.1 Feb 14, 2021
@dehann dehann added this to Improvements in Roadmap to V1.0 via automation Feb 14, 2021
@dehann dehann self-assigned this Feb 14, 2021
@dehann
Copy link
Member Author

dehann commented Feb 14, 2021

EDIT, deferred and tracked separately, see JuliaRobotics/RoME.jl#412

Likely have to look at relative entropy injection per dimension. e.g. Pose3 test case in RoME results in double peaks on rotations (should just be single around 0):
Screenshot from 2021-02-13 23-15-05

investigating more.

cc @Affie

@dehann dehann closed this as completed Feb 14, 2021
Roadmap to V1.0 automation moved this from Improvements to Completed Feb 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Roadmap to V1.0
  
Completed
Development

Successfully merging a pull request may close this issue.

1 participant