Test-drive your neural network, or how to annotate and train a neural network with your own data in twelve minutes. Jesper Taxbøl Follow Feb 21, 2018 · 8 min read

Artwork by John Kenn Mortensen which I think encapsulates the essence of training neural networks.

Roughly two years ago I started digging into neural networks (supervised learning) and I must admit that I was surprised by the steep learning curve. From a background in game-related software engineering, I have been used to being able to whip up a decent prototype on a game-jam weekend. After I started using neural networks my “productivity” dropped drastically, as the workflows and challenges are very different and extremely time consuming.

From the online material I found and followed, my understanding is that working with Neural Networks is usually presented as:

Find a dataset Choose layers, loss function and optimizer. Tweak hyperparameters (layer dimensions, learning rate, regularization, initialization etc.) while training. Endless fun here. When running out of time celebrate best convergence graph and move on.

It might be because I have a background in games and interaction, where I am used to exploring prototypes (think dynamical modelling of something like a boat), that I find this a bit like building cars you don’t test-drive. I believe this disconnection from having the neural network embedded in an interactive application is blocking us from gaining valuable intuition about their behavior and their improvements. A different insight than only watching a convergence graph.

I also believe that application implementation is underrated in the neural network material I have encountered, as most of my “breakthroughs” happen after having studied others work, revealing new tools, libraries and workflows, allowing implementation details of my own to fall into place.

This article is an attempt to share a project and hopefully spark some discussion about how one might use interactive approaches with neural networks in general.