I'll never forget the feeling when I first watched this video. There was a distinct moment when I switched from thinking "Ok, what is this ...?" to "Ah ha!! I see her!"
As my mind searched for something recognizable, a photo of my daughter began to emerge out of a mess of random colors, and with it the memories of a delightful day. And this joy was the result of just a few lines of code and a night of sleep while waiting for my laptop to train a neural network.
This network was really quite simple too, you might even say dense and dumb. All it can do is take 2 numbers as input, the x and y coordinates of a pixel, feed them through a jumble of interconnected neurons, and output 3 numbers predicting the color of the pixel in RGB.
Feed it an entire array of pixels, and, well ... you get the picture :)
So as I slept, my laptop was really just learning to paint by number, like a child. But in this case trying and failing thousands of times every second, each time making a small correction. And, to note, never seeing the image as a whole.
As I woke the next morning and watched the video to check the progress of training, I couldn't believe what I was seeing. My computer stared at a picture overnight, literally one pixel at a time, and was starting to re-member it!!!
As my daughter came into focus, so too the memories of the day ...
And for my first foray into 'AI' - as I was only on Session 2 of Creative Applications of Deep Learning with TensorFlow - this was a pretty powerful experience. I had no idea how it all worked. But I was so happy that it did!
And thus began my journey of machine learning, consisting of a rather large number of subsequent experiments and explorations to create an artificially intelligent photographic memory.
A tool to re-member ...
I hope to share more in the following posts :)