Deep Learning, AI, Machine Learning etc…

So, every few years, the IT/Tech industry has some kind of shift. Looking at my blog posts, shortly after I finished university, I thought it was the move away from “desktop” applications to “web” applications. This was sort-of true, but failed to take into account the rise of mobile applications and also “the cloud” (a.k.a. fast, ubiquitous internet).

Similarly, I feel like there’s a new shift on now to AI/Machine Learning/Deep Learning (or whatever else you want to call it). Basically, the application of statistical methods to solve problems which previously required human judgement.

As such, I find myself angry that I didn’t concentrate more in Statistics class and also scrambling to find a way to re-learn all about neural networks, bayesian methods as well as their practical implementations in terms of languages/frameworks/libraries/services etc… Not necessarily to completely change professions, rather to be able to understand at a theoretical (and practical to the “hello world” stage) what a proposed method can/cannot do (and be able to call people up on their bullshit).

One of my first attempts was the Qwiklabs Machine Learning API’s “quest”. This was an excellent introduction to the Google AI API’s and what they could do (a sort of “state of the art” demo).

Next up, I wanted to go “under the hood” a bit more and ordered a copy of Deep Learning with Python, which has so far been a really good, but (for me) challenging book. The fact that it’s challenging is good as it’s probably owing more to the fact that I’ve been somewhat lazy in terms of mental challenges for a while now.

I’m still making my way through the book, but have already started thinking about ways in which I could continue the AI learnings once I’ve gotten through it and thought I had better list them:

  • Read another book and try out examples
  • Do an AI/ML course on Coursera/Udemy/other MOOC
  • Do competitions/trainings on
  • Personal project where you collect/analyze data

Qwiklabs Google MachineLearning API Labs

I just completed the Google Machine Learning API’s lab in Qwiklabs (after getting free access for signing up to one of Google’s AI/ML live streams):

It was a really good introduction to how to use the ML API’s and also gave some pretty powerful practical examples for how to use them.

It makes me really want to start collecting all sorts data to analyze.

The list of Labs is as follows and covers OCR, Language Translation, NLP, Face and Landmark detection, Sentiment Analysis, Image Entity Classification (using K8s), implementing a ChatBot and finally training your own custom model with TensorFlow and then uploading it to Google’s “Cloud Machine Learning Engine”:

Out of all the courses the last one is the most technical (deals with the internals of Neural Networks and predictive models) however it’s the cheapest? (only one credit).

The courses were light on the theory and really easy to follow along with. For someone not wanting to spend any money on Qwiklabs, a lot of the content/examples you can just do yourself as Google makes it publicly available, for example:

NOTE: You do need a Google Compute account to work through the examples, though there might be a “free tier”

I would highly recommend them to anyone that keeps getting bombarded by the AI/ML hype and wants to actually see what it’s all about and how to use it.

Also, yesterday Google did an announcement for something they’re calling “AutoML” (see: which just shows what a moving target the whole ML/AI industry is at the moment.

The announcement potentially has the impact to make it drastically simpler to create/train your own custom models and might in some sense make the last course listed there somewhat redundant.

Now for the hard part! Figuring out a “real world” use case for the API’s above. Personally I’d be very much interested in the OCR API for digitizing documents and the classification for auto-labeling them.

Also, using sentiment analysis to determine news articles’ about companies and using that information to augment buy/sell stock decisions (I know, it’s being done already… but the purpose is to learn as much as to make any money).