They also get tons of use in results-oriented modeling of lots of other statistics questions in structured data (home prices, resource allocation, voter turnouts, etc.) but in this luddite's opinion, these sorts of applications tend to be pretty fraught if they short-change the convenience of the model training paradigm for a deeper understanding of the data phenomenology.
A few months later, I replicated the neural net in Smalltalk in 2 half days.
Fortunately, our project went with Smalltalk...
Around 600 lines of free functions in a header file for the core functionality, including convolution, dropout, batch normalization, etc. Maybe half of it is actual code. Around 2000 lines for an executable training program including a couple of array template classes, data loaders, and convenience functions. Slow as shit but it works :P
An enjoyable exercise.
(sure, for an "industrial strength" version C++'s features are worth the cost, but for learning/education I never saw the appeal of classes and objects and smart pointers and stuff)
you people suck.