I took a look at the Matrix library you rely on… It’s a nested list! => this project has zero chance of ever being capable of learning real deep (& wide) network in a reasonable time. With that I mean network of thousands (if not hundreds of thousand or even millions) of input features and 3 or more layers , each with lesser features but still a lot. This matrix library can never efficiently handle such big matrices. See Big Data with Elixir for the same discussion at length.
So this can never be more than just a toy project.
Sorry to burst your bubble.