Machine Learning enables a system to automatically learn and progress from experience without being explicitly programmed. It’s a subset of the artificial intelligence (AI) technology space being applied and used throughout your everyday life. Think Siri, Alexa, toll booth scanners, text transcription of voicemails – these types of tools are used by just about everyone.
Image recognition and computer vision are also widely being used in production; recently just heard that Los Angeles, CA has made it illegal for law enforcement to use face recognition technology in its numerous public video cameras. The current state of the art allows real-time identification.
Interestingly, the algorithms and know-how for Machine Learning have been around for a long time. Artificial Intelligence was coined and researched as far back as the late 1950s, the advent of the digital computer, and expert systems and neural networks, that theoretically mimics how our brain learns.
The increase in Machine Learning production-ready applications started around 2012, with increased processing, bandwidth, and internet throughput power. This is important as deep learning algorithms like Neural Networks require lots of data and FPUs/GPUs to train.
In this blog, we introduce a conceptual overview of Neural Networks with a simple Neural Net code example implementation using Go. We will interact with it by building a ReactJS interface and train the Neural Network to recognize hand-drawn images of the numbers 0-9. Let’s dive in….