This project was done as a part of a summer research internship conducted under the supervision of Dr. Yaroslav Molkov. The goal of the summer research project was to learn the Julia programming language, and use it to rewrite parts of existing C++ code as a fully differentiable program; and while doing so include various aspects of artificial learning. My part of the project was centered around creating various forward models to serve as datasets for a toy parameter estimation models powered by Neural ODEs and genetic algorithm.
The forward data folder consists of various well known models like a simple linear model, the Fithugh-Nagumo model, Lotka-Volterra systems, Lorenz oscillator, three body simulator and some more. The data produced can be catered to user-defined or randomized initial conditions with a way to opt for stochastic solutions.
The parameter estimation folder consists of a genetic algorithm scheme illustrating the neural convergence of a randomly initialized LotkaVolterra solution to a given dataset produced using a pre-defined LotkaVolterra system. The file can be easily augmented to include other models from the forward_data folder.
Easy goals:
- The integration between the parameter estimation schemes and the forward data has to be made more accessible.
- More forward models need to be used.
Hard Goals
- Better optimization and personalization of training needs to be made.
- Upgrade the network architecture and use more sophesticated methods than genetic learning