I Just Coded My First AI Algorithm, and Oh Boy, It Felt Good
Learning to code is not as hard as you might think.
I am no programmer, coder, or mathematician. I was required to take one computer-science class in college, and I barely passed—and that was over 20 years ago. Yet here I found myself, in my forties, sitting on my porch with my new best friends Python and Numpy, voluntarily trying to build my first neural network. How did I get here?
It all hit me one day: I realized that AI could be the one development that messes with my kids’ lives the most. After finishing seven great years owning and running a data-analytics company, I was eager to dig in. So I decided to enroll in a deep-learning and neural-networks course taught by AI pioneer, former Baidu chief scientist, and Stanford professor Andrew Ng.
Over the four-week course, I spent a total of 30 hours designing, building, and tweaking a very simple neural network, which is a computing approach to analyze information. I quickly learned that Python and Numpy is not a kid’s book about a snake and his rabbit buddy, but a widely used programming language and a souped-up calculator plug-in. It turned out that these two characters were the only ones I needed to know to build a basic neural network.
The course was set up perfectly: I struggled but didn’t flounder, learning one line of code at a time. The early goings were tough and included some hair-pulling code failures. (AssertionError? Come on, system, just assert yourself!) But by week two, I was writing short lines of code telling an algorithm to train itself on 200 pictures of cats (the training data set) in order to figure out if the other 30 pictures (the test data set) were cats or not. With just 200 pictures, my first simple algorithm could get it right about 80% of the time. I even took pictures of the cat I was cat-sitting to trial my efforts, and the algorithm I’d coded worked: Avery the cat is indeed a cat!
The moment I realized that I had just coded a machine to recognize a biological entity was surreal. When the full code ran without any errors, I pumped my fists and yelled out a triumphant “OH YEAH!”, startling my kids. Frankly, I was surprised at my own reaction. I may have only correctly identified a four-legged feline, but, in the moment, it felt like so much more than that:
- It felt like the first time I shot a gun. About 15 years ago, I fired a pistol for the first time. Immediately, I realized that I was handling an extremely powerful tool that could be used for good or for evil. Yes, I could hurt myself, but I could also learn to be in control of this weapon. Writing my first algorithm was the same. It dawned on me that a dude in Mongolia with an internet connection, some data, and a few hundred bucks to rent some Amazon server processing power could build a life-changing neural network—or less well-meaning person in Russia could make identity-theft spam emails more effective. I had harnessed the power of a line of code, but it was up to me what I could do with that potential.
- It felt like tuning a radio. On an old-fashioned radio, you turn a knob up and down to find your station’s frequency. Now imagine if you had 1,000 knobs that you had to tune simultaneously to find your local news. How long would that take? Instead of spending days fiddling with all the possible permutations, writing an algorithm felt like creating a thousand hands twisting those dials until they find the right combination.
- It felt like learning a foreign language. Recently I’ve been working on learning Swahili and Chinese. One day I’d love to join the 13% of the world’s population who are at least trilingual. AI is like another language, complete with its own vocabulary, grammar, and syntax. If I didn’t understand something, I did what you do to any unknown word: I googled it. Several times, I used the power of search translation to figure out [ from { from (, and over time, I’ll hopefully become more fluent. Quadrilingual is now the goal—one of those languages being AI.
- It felt like coaching a kids’ sport. AI algorithms are all about giving a computer building blocks, teaching it how to play with them, and then combining those simple results into more and more complicated iterations. It’s similar to coaching my 11-year-old’s Kijabe Thunders basketball team: Once you’ve taught them the basics of passing, blocking, dribbling, and shooting, the real creativity on the court can begin. And just like that kid sitting on the bench waiting for the final siren to blare, I thought all those dribbling drills were lame until I landed my first nothing-but-net basket.
Speaking the language of deep learning will allow you to have a conversation with the future. And learning to speak it is not as hard as you might think. I’m a prime example: You don’t have to be a programming guru or math wiz to learn to code. You just need to be willing to learn—and to play nice with Python and Numpy.