My Artificial Intelligence Study Plan
What started with a simple introductory course opened my eyes to the field of Artificial Intelligence, Data Science, Analytics and led me to create my own study plan.
My background
My initial professional experience involved working on the Operations side - most recently, being responsible for bringing to life what the Data Science team had prototyped and built. They would build and verify the models and prototype the initial system. I would performance test, scale up and deploy the systems into production. Working closely with the Data Scientists exposed me to what the they were building and started my interest in Machine Learning. Plus it didn’t hurt that we both used Python and could help each other out.
Going further back, Math had been my strong point for many years since High School. Although I majored in Electrical and Computer Engineering, it was the equations and math side that I always gravitated to. It was the part I enjoyed solving and working through. However, I was not sure how I could apply it in the real world. Little did I know how much I would lean on my Calculus and Linear Algebra skills…
A Deep Beginning
When Udacity announced their Deep Learning Nanodegree Foundation Program, I signed up right away for their second cohort with my friend Andy. It was the start of 2017 and fueled by my exposure at work, I was exploring how to get started learning about the fascinating and exciting world of Machine Learning.
Udacity’s program served as a great introduction. Their short videos and hands on learning approach was just the learning method I needed to get started. It was a great learning experience with project assignments complimenting the theoretical aspects.
I was already excited about the projects we would be building - predicting bike ridership, classifying images, generating new TV scripts and creating human like faces. So when I got to the back-propagation lectures and could quickly understand what was going on thanks to my math background, it excited me. Finally, I found a use for all that math I used to use.
Why Artificial Intelligence?
There are no shortages of articles proclaiming the arrival and promises of Artificial Intelligence and its potential impact on our society. We already see fascinating and scary applications in the real world.
For me, it is the ability to make sense of data and use it to build intelligent applications. Applications which couldn’t be done in the traditional manner - e.g. having a computer recognize handwriting; building a program which can inform you when a car parking lot becomes free, etc.
A big part of what I do at work is understand our systems and processes. I build tools to capture system data, analyze that data, then use those conclusions to build new tools, improve existing tools, etc.
With AI, I get to combine my burgeoning analytics and development skills with my math background to build intelligent applications which solve business problems. What can be more exciting than that?
My initial goal is to explore the field and to later pick an area of focus.
Program
- ✅ Udacity’s Deep Learning Nanodegree
- ✅ Udacity’s Artificial Intelligence Nanodegree
- ✅ Siraj Raval’s Move 37
- DataQuest’s Data Science Path (Currently working on)
- DataQuest’s Data Engineer Path (Currently working on)
- Fast AI Deep Learning Part 1 (V3)
- Fast AI Deep Learning Part 2 (V2)
Why these courses?
Udacity’s Deep Learning Nanodegree Foundations
Udacity’s Deep Learning Nanodegree Foundations was my introduction to the exciting field of Deep Learning and Artificial Intelligence. It covered Neural Networks, Convolutional Neural Networks, Recurrent Neural Networks and Generative Adversarial Networks. At the time that I took it, it was primarily taught using Tensorflow. Since then, they have adapted PyTorch and added a Reinforcement Learning section.
Udacity’s Artificial Intelligence Nanodegree
Successfully graduating from the Deep Learning Nanodegree granted us access to one of three Nanodegrees: Artificial Intelligence, Robotics and Self-Driving Car. I had come to understand that Deep Learning was a subfield of Machine Learning, itself a subfield of Artificial Intelligence.
Wanting to have an understanding of the field as a whole, I enrolled in the Artificial Intelligence Nanodegree program. At the time, it was the original two term program. The first term was dedicated to classic AI topics such as Search and Planning. The second term was focused on modern techniques, specifically Deep Learning. In addition, you could pick one of three Deep Learning specialties - Natural Language Processing, Computer Vision and Voice User Interfaces. As there was a lot of overlap between the AIND and DLND, Udacity allowed students who had already completed DLND a special term 2 where they could do all 3 specialties.
The whole program was fantastic. The second term definitely stood out as compared to the DLND, we were building end to end Deep Learning projects, which was a step up from the DLND projects at the time.
Since then, Udacity has unbundled the original AIND program into several different Nanodegrees programs including Computer Vision, Natural Language Processing and Deep Reinforcement Learning programs.
Move 37
I ended up taking Siraj Raval’s Move 37 course thanks to my friend, Andy. It was a well structured course where we built projects on a weekly basis focusing on more and more advanced Reinforcement Learning concepts.
It was great learning about Reinforcement Learning and all the cool advances it has enabled. The highlight for me was when I read up on Facebook’s [Horizon Reinforcement Learning Framework] and was able to understand how they were using Reinforcement Learning and its benefits. This is an area I’d love to get back and explore more in the near future.
DataQuest’s Data Science Path
Having been introduced to Deep Learning, then going over the broader field of Artificial Intelligence, I wanted to cover Data Science and Machine Learning.
DataQuest’s path is a well curated learning plan which takes you from the Python basics to Data Cleaning and Visualizing, Command Line and working with Data via SQL and APIs followed by Statistics and Probability, then Machine Learning and finally Advanced topics in Python and Data Science.
DataQuest’s Data Engineering Path
Knowing how to build Machine Learning models and working with big data processing systems such as Spark are very important skills for a Data Scientist.
An underrated skill in a Data Scientist’s belt is Data Engineering - how to get data from point A to point B, transform it from one form to another and to do it in a performant and cost-effective manner.
To that end, I plan on working through DataQuest’s Data Engineering Path.
Fast AI Deep Learning Part 1 and 2
I have heard nothing but wonderful things about Fast AI and their top-down approach to teaching the material, where the focus is on learning how to build Deep Learning applications first before diving deeper into the theory behind it.
I look forward to taking the 2019 third iteration of their popular Deep Learning courses later this year. As of January, Fast AI V3 is out for the first part. Fast AI V3 for part 2 is supposed to be available around June 2019.
Tracking Progress
To track my progress and keep a tab on various resources, I have set up a Trello Board.
In addition, where applicable I create course specific Github repositories and track my progress in more detail. This has been a bit of an experiment, but I have settled on using Trello to track the higher level stuff while the Github repositories contain more granular course details and stages.