Frequently asked questions
This page provides an overview of non-technical questions about NeuralFit. If you have a technical question, make sure to check our Github issues or have a look at StackOverflow questions with the neuralfit tag. Otherwise, feel free to create a new issue on Github and we will answer your question as soon as possible. If you have a non-technical questions that is not listed here, feel free to contact us at the e-mail listed at the bottom of this page.
One of the key advantages of neuro-evolution is that it is completely structureless, i.e. neurons are not organized in distinct layers. As a result, neurons can be interconnected in more complex patterns resulting in smaller model sizes to fit the same dataset. Current libraries such as TensorFlow and PyTorch are completely based on layered models that allow a significant speed up using parallelization. While it is possible to build complex interconnected models using these libraries (remember that NeuralFit can export to Keras!), it is incredibly inefficient becauase these libraries were not designed for this. Therefore, NeuralFit contains a tailored model API that is completely structureless.
We understand that many machine learning libraries for Python are open source and completely free to use. However, many of the big libraries were created within companies or are sponsored. Of course, some open-source libraries have been created by people in their free time without any funding. Members in our team have also created (free) open-source packages in the past, but we know from experience that after some time it is not possible to sustain the research and development required to keep them alive. Nevertheless, we hope that we can offer the full capabilities of NeuralFit completely for free in the future if other sources of income allow that. Until that happens, everyone can use a limited edition of NeuralFit for free.
There is no free lunch! NeuralFit is simply another tool that you can use to tackle problems. It might be (significantly) better on certain problems, but (signficicantly!) worse on other problems. There is no guarantee that it will work better on the problems you face, certaintly not during the alpha phase. Therefore, we advise you to use the free version before buying a license so you can get a sense of the strengths and weaknesses of NeuralFit.
At this moment it is not possible to run our software on a GPU. There are two main reasons for this: first of all, models within NeuralFit are not structured and do not allow for parallelization of all the neurons in a single layer. Instead, neurons are activated one by one. Secondly, the algorithms within NeuralFit are not based on large operations on groups of neurons or entire networks. Instead, small, local perturbations are made that are not parallelizable. We do note that using a GPU can potentially accelerate evolution; it can for example parallelize model predictions over multiple samples. However, the speedup is significantly smaller compared to backpropagation-based training of models.