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

New package: ActiveInference v0.0.1 #106479

Merged

Conversation

JuliaRegistrator
Copy link
Contributor

Copy link
Contributor

github-actions bot commented May 9, 2024

Your new package pull request met all of the guidelines for auto-merging and is scheduled to be merged when the mandatory waiting period (3 days) has elapsed.

Since you are registering a new package, please make sure that you have read the package naming guidelines: https://pkgdocs.julialang.org/v1/creating-packages/#Package-naming-guidelines


If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment. You can edit blocking comments, adding [noblock] to them in order to unblock auto-merging.

UUID: 688b0e7a-0122-4325-8669-5ff08899a59e
Repo: https://github.com/ilabcode/ActiveInference.jl.git
Tree: 84b0267b85bd4c8cbd568c78f8030b8501ba9e96

Registrator tree SHA: 7242ef64be5953fac9bf8b3efa3a7c4d2d44ca09
@JuliaRegistrator JuliaRegistrator force-pushed the registrator-activeinference-688b0e7a-v0.0.1-1bda73064b branch from 58cee40 to 16d8adc Compare May 9, 2024 12:51
@gdalle
Copy link
Contributor

gdalle commented May 9, 2024

[noblock]
Hi and congrats on the package! Its current name is very generic and not very informative for those outside of the field. Maybe a mention of POMDPs in the name would be welcome?

@samuelnehrer02
Copy link

Hi and congrats on the package! Its current name is very generic and not very informative for those outside of the field. Maybe a mention of POMDPs in the name would be welcome?

[noblock] Hi and thanks for the feedback! We discussed this with colleagues, and if possible we would like to stick to the current name. The reason behind this is that we want to continue implementing generative models other then POMDP's in the near future :)

@gdalle
Copy link
Contributor

gdalle commented May 13, 2024

[noblock]
What kind of models would those be? Still Markovian? Still graphical? In general, longer package names are never a bad thing, but ambiguous names are.

@samuelnehrer02
Copy link

[noblock] Hi again,
We understand and appreciate that Julia wants to avoid ambiguous package names. It’s a sensible policy, and we want to comply with it. We have discussed it internally, however, and we really do think that this package is best named as simply ActiveInference.jl. Adding extra components to the name to highlight non-essential aspects, like the POMDP-type generative model currently implemented, or that the models are Markovian or can be interpreted as graphical models, would mainly distract users - they would be besides the point. Below, we have given some reasons why ActiveInference is an appropriate name:

  • Active inference is not ambiguous. It is a well-defined formal approach to modeling perception, planning, and action as Bayesian inference that is more and more widely used, both in cognitive science, neuroscience, machine learning and philosophy of mind. See the official textbook here: mitpress.mit.edu/9780262045353/active-inference/.
  • Active inference is used with a variety of generative models. The most normal one is to rely on POMDP’s, but there are also continuous state space models (www.ncbi.nlm.nih.gov/pmc/articles/PMC6115199/), and it is used with generalized filtering schemes too (www.fil.ion.ucl.ac.uk/~karl/Generalised%20Filtering.pdf), in addition to a range of handmade generative models used in the literature.
  • There exist other approaches to solving POMDPS - for which there already exists a Julia library, of course (github.com/JuliaPOMDP/POMDPs.jl) - which have rather little to do with active inference. For one, they are not used as so-called cognitive models, that is, models of human behavior, as active inference usually is (and which we have specialized our package for). For another - they do not use active inference, but other solutions techniques developed for practical purposes in machine learning.
  • The plan is to implement other types of generative models for active inference. This includes the ones mentioned above, but we also plan on implementing the Hierarchical Gaussian Filter as a generative model inversion for active inference: (link.springer.com/chapter/10.1007/978-3-030-93736-2_57 see also github.com/ilabcode/HierarchicalGaussianFiltering.jl). The working components of active inference (optimizing expected free energy relative to a goal prior in order to solve the explore/exploit balance, etc.) are defined for all these types of generative models. We are likely to use the same functions for all these cases, probably dispatching them to generative model types for implementational convenience. There is already a need for the package’s current functionality, however - two projects already wait for it to be registered - so we don’t want to wait to register it until we have other generative models implemented.
  • We are developing the package in collaboration with Karl Friston. He started the field of active inference and has developed most of the framework. The package is, in other words, eventually to be the official library for active inference in Julia, and we think it should be named accordingly.
  • Lastly, we adapted the README file of the package to make it explicit that the package is supposed to be about Active Inference in general, and not about POMDP's.
    We hope this makes sense. Please do let us know if there is anything else that is unclear, or if there is anything further we can do.

@gdalle
Copy link
Contributor

gdalle commented May 14, 2024

[noblock]
Sounds good to me, thank you for the clarification and sorry for the hassle. I have made my comments non blocking, registration should proceed normally

@JuliaTagBot JuliaTagBot merged commit c346aec into master May 14, 2024
11 checks passed
@JuliaTagBot JuliaTagBot deleted the registrator-activeinference-688b0e7a-v0.0.1-1bda73064b branch May 14, 2024 10:02
@samuelnehrer02
Copy link

[noblock] No worries, and thanks for your engagement!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants