April 6th, 2023: @Twitter has been randomly shutting down API access for many apps and sadly we were affected today too. Hopefully we will be restored soon! We appreciate your patience until then.
In this we detail how #julialang's core compute model gives faster code, with a detailed calculation of the effects of the #python interpreter and kernel launching costs on simulation performance. It's pretty cool how one can pen and paper calculate the 100x expected difference.
We showcase how the abstractions afforded by multiple dispatch lead to simpler code that does not compromise on performance. Examples like the recursive plotting recipe system, abstract graph types, and IO do not have matches in other languages and improve usability
The final result is code that looks like the math but also does not sacrifice features or performance. Yes, that bit right there is runnable code, and that runnable code is one of the fastest chemical reaction simulators out there!
If you're curious to see more on this chemical reaction modeling framework Catalyst.jl, check out the tweet thread on its recent preprint detailing 100x performance improvements over other #systemsbiology#chemicalreactionnetwork simulation tools
If you want to participate in the open discussions about next directions for the open source software ecosystem, please check out the discussion session at @JuliaConOrg! For more details, see this Tweet:
#sciml#machinelearning in chemical engineering using prior scientific knowledge of chemical processes? New paper: we dive deep into using universal differential equation hybrid models and see how well gray boxes can recover the dynamics. arxiv.org/abs/2303.13555#julialang
For learning these cases, we used neural networks mixed with known physical dynamics, and mixed it with orthogonal collocation on finite elements (OCFEM) to receive a stable simulation simulation and estimation process.
We looked into learning reaction functions embedded within diffusion-advection equations. This is where you have spatial data associated with a chemical reaction but generally know some properties of the spatial movement, but need to learn the (nonlinear) reaction dynamics
Differentiable programming (dP) is great: train neural networks to match anything w/ gradients! ODEs? Neural ODEs. Physics? Yes. Agent-Based models? Nope, not differentiable... or are they? Check out our new paper at NeurIPS on Stochastic dP!🧵
Problem: if you flip a coin with probability p of being heads, how do you generate a code that takes the derivative with respect to that p? Of course that's not well-defined: the coin gives a 0 or 1, so it cannot have "small changes". Is there a better definition?
Its mean (or in math words, "expectation") can be differentiable! So let's change the question: is there a form of automatic differentiation that generates a program which directly calculates the derivative with respect to the mean?