Kotlin Simple Neural Network
PLEASE NOTE: This project has been forked and moved here to showcase machine learning algorithms beyond neural networks.
This is a simple neural network application that will suggest a LIGHT or DARK font for a given background color.
The training/predicting user interface was built with TornadoFX.
Featured at KotlinConf 2018 in Amsterdam
Currently there are three implementations:
- Simple RGB formula
- My feed-forward brute force implementation (no backpropagation)
- ojAlgo! Neural Network
For this simple toy example ojAlgo seems to perform the best, and is light and the simplest to implement. DL4J is definitely more heavyweight (with many dependencies) but is a more robust framework for larger, data-intensive deep learning problems in production. DL4J also has a nice Kotlin MNIST example.
Note also there is now a button to pre-train 1345 categorized colors.
Tariq Rashid's book Build Your Own Neural Network is a tremendous resource, as well as 3Blue1Brown's Video. Grokking Deep Learning is probably the most thorough and useful resource when you are ready to deep-dive.