Become a self-taught AI engineer

A guide over my nine months journey self-learning AI in SE Asia.

Jérome Crevoisier
9 min readAug 13, 2019

Looking like it came out of a science fiction movie from the 80's, it has make it’s way into our lives without us even noticing it. Smartphones, Home assistants, Advertising, Movies streaming, Healthcare and Finance. Artificial Intelligence is everywhere around us.

And it’s not about to stop. In 2018, funding of AI-focused companies reached approximately $5.4 billion in the U.S. whereas the Chinese government is expected to invest more than $30 billion in AI and related technologies by 2030.

There is therefore reasons to believe that artificial intelligence will be at the heart of tomorrow’s economy and will be present in all industries. Which bring me to the exciting part : Everything has yet to be built, from virtual assistants to autonomous cars, from climate management to cyber-security.

As an IT enthusiast looking for new and innovative challenges, AI was an opportunity I could not let go of and that is why I left my current job for nine months and fully spend this time learning AI.

Here below, I will guide you to the various steps of a journey through learning AI !

Step 0 - Define the path

Step 1 - Build a Mathematical Background (2 Months)

Step 2 - Take a Machine Learning course (2 Months)

Step 3 - Take a Deep Learning course (2 Months)

Step 4 - Build an end to end AI project (3 Months)

Step 0 : Define the path

One of the first things you will realize when you dig into the field of AI is that you will need to go through Mathematical concepts.

Indeed, they will give you a better intuition on how algorithms really work under the hood and will allow you to create your own models in the course of your career.

Especially, the concepts of Linear Algebra, Multivariate Calculus and Statistics are crucial for understanding the theory behind Machine Learning, the most widely used technique in AI today.

Computer vision being the area that attracted me the most, I also quickly catch that I had to study Deep learning, a specific sub-field of Machine Learning, which is mainly used to build Image processing models.

I then decided to spent those 9 months in South East Asia, which has the best ratio ‘Internet quality VS Cost of life’ in the world. Without mentioning that the region as plenty of digital hubs such as Chiang Mai or Bali where you will find various communities to share your project with and to learn from.

So here we are, November the 3rd, 2018, a few weeks after negotiating an unpaid leave with my employer, I am in Charles de Gaule Airport, waiting for the Thai Airways TG 931 flight heading to Chiang Mai. It is early in the morning, it is a bright day and I know deep down a great adventure awaits me, a journey that I will never regret.

Step 1 : Build a Mathematical Background

Chiang Mai, Thailand

Chiang Mai Coworking Space

Mathematics is at the core of AI because it provides means of implementing how the goals can be reached.

Linear Algebra : Let’s be clear, Vectors and Matrices are everywhere in Machine Learning, from the data structure up to the very heart of the algorithms, so you better know how to manipulate them. Without mentioning that some Machine Learning algorithms are directly build on Linear algebra concepts such as Linear regression or Principal Component Analysis.

Multivariate Calculus : A fundamental aspect of AI is to determine the influence of each input on the output. For this purpose, Multivariate Calculus gives the perfect set of tools as the field itself is actually to analyze the relationship between functions and their inputs. Gradients and derivatives are also very useful tools in Machine Learning, as in Back propagation algorithms.

Probability and Statistics : Probability deals with predicting the likelihood of future events, while statistics involves the analysis of the frequency of past events. Joint together they make the perfect support for a Machine Learning algorithms. Some widely used models as Naive Bayes are directly derived from the world of probabilities. Theory which also provides the metrics to evaluate the results, as accuracy, precision, recall or F1 score.

You will find on Internet more than you need in those fields, and surprisingly often for free. By experience, I would even say that there is a strange reverse correlation between the price and the quality of the course.

By trying several courses, I preferred the one proposed by American universities on their open course platforms. I highly recommend Professor Gilbert Strange Linear Algebra course and Professor Denis Auroux Multivariate Calculus course for MIT.

In the end, two up to three months of studying was enough to get the necessary background before tackling Machine Learning.

A friend of mine working in AI advised me just before I left Paris to start coding from the beginning. He couldn’t have been more right. I indeed highly recommend anyone going through this journey to code, in Python or R, every concept you will discover along the mathematics courses. It will help you better understand the theory and its practical applications in data science, in addition to practicing your code, which is always valuable.

Step 2 : Machine Learning

Chiang Mai, Thailand

The Andrew NG’s course from Stanford(link) is in my sense ‘The Bible of Machine Learning for beginners’.

I would indeed recommend this course a hundred times to whoever wants to discover Machine Learning. It is a great easy to catch introduction to the field, providing a good understanding on how Mathematics are used and how Machine learning models are build.

Even though the course is a great initiation, I have to acknowledge it doesn’t cover all the topics you will have to go through to become a good Machine Learning engineer. For instance, some of the most used algorithms in the real world are not even mentioned in the course (As Decision trees or Naive Bayes) and ironically some of the mentioned algorithms are almost deprecated (As SVM).

In definitive the course gives you a good approach in order to be able to build a model by yourself, which to be honest makes the difference between a good and an average engineer, but it would be also interesting and I think necessary to study how standards algorithms work.

In addition of the Andrew NG’s course, I studied the structure and the practical applications of the following models :

/ Naive Bayes

/ Decision Trees

/ K-nearest Neighbors

/ Ensemble Methods : Bagging, Boosting (Random Forest, AdaBoost, XGBoost)

When I started feeling comfortable with those Machine Learning concepts, I practiced them in Python and I even participate a competition on Kaggle(A web platform organizing competitions in data science).

This part of the journey was of course very fascinating and I couldn’t wait to attack Deep Learning.

As my Thai visa had expired though, I had to change destination. After taking some vacations visiting Bangkok, Thai Islands, Cambodge and south Vietnam I was heading to Da Nang, a lovely city in the middle of Vietnam.

Step 3 : Deep Learning

Da Nang, Vietnam

Da Nang Coworking Space

Deep learning is another sub-field of artificial intelligence derived from machine learning. It is based on networks of artificial neurons inspired by the human brain. Those networks are composed of tens to hundreds of “layers” of neurons, each receiving and interpreting the information from the previous layer.

This layer by layer structure enables a model to learn sophisticated tasks by an accumulation of simpler ones. For example, it will learn to recognize letters before attacking words in a text, or determine if there is a face on a picture before discovering who it is.

DeepFace : A concrete example of neural network

As for my final project I wanted to build a visual recognition system, I decided to follow Deep learning specialization from Coursera, a set of 5 courses proposed by deeplearning.ai.

The set of courses is very complete and build as follow :

Course 1 : Neural networks and Deep Learning

Course 2 : Improving deep neural networks

Course 3 : Structuring Machine Learning projects

Course 4 : Convolutional neural networks

Course 5 : Sequence models

The lessons are very practical and throughout the programming exercises you will find yourself building deep neural networks for direct applications such as car detection, face recognition systems or even a Jazz music generator.

After finishing the last course I have been delivered a certification in Deep Learning signed by Professor Andrew NG.

With now a solid set of theoretical skills and a certification in hands, I took a flight to the last stop of my journey, Bali in Indonesia.

It was time to put on practice all the theory I had learned.

Final Step : Build an end to end AI project

Bali, Indonesia

Bali Coworking Space

Having a good theoretical knowledge is great but of course is not enough. After getting my certification I decided to build a project from end to end, in order to prove I have the technical ability to do so and also to gain experience, making most of beginners mistakes, before attacking a career in the field.

First, I spent a lot of time finding a concrete idea for my project, starting some code and then realize a few days or weeks later, the idea was either too big for a 3 month project or that my hardware resources will not be sufficient.

Add to this the configuration of cloud servers, the installation of required softwares, missing packages and missing libraries, the code debugging and you will have the whole set of reasons why you should forecast twice the time you expect for your project to last.

But those unexpected slow-downs are part of the game and they thought me how to correctly estimate and frame an AI project. Now for sure, I would take these hazards into consideration for my future plans.

I finally choose to build a project based on a Kaggle competition proposed in 2018 and 2019 by Google, the Landmark recognition (link). The project consists in recognize the place where a picture as been taken, given a whole labeled dataset of pictures. (15K classes)

I will not cover the details of this work as I already did in another article but overall this project was a tone of fun and without any doubt I learned a lot, especially about convolutional neural networks and on how to optimize deep learning models.

It has definitely been the perfect last stone to this whole journey trough AI.

Conclusion

As expect the experience was great. I feel now ready, excited as never before, to pursue my career in AI, getting into the field and tackle all the challenges awaiting for me.

South Asia was a tremendous place for this journey and the encounters I made here helped me growing not only as an AI engineer but even more as a human being.

So as a conclusion I would say that it is definitely possible to become an AI engineer by yourself, or even making whatever shift in your career if you truly want it :)

Referenced Courses

Linear Algebra : http://ocw.oouagoiwoye.edu.ng/courses/mathematics/18-06sc-linear-algebra-fall-2011/index.htm

Multivariate Calculus : https://ocw.mit.edu/courses/mathematics/18-02-multivariable-calculus-fall-2007/index.htm

Probability and Statistics : https://online.stanford.edu/courses/gse-yprobstat-probability-and-statistics

Machine Learning : https://www.coursera.org/learn/machine-learning

Deep Learning : https://www.coursera.org/specializations/deep-learning

Coworking spaces

Chiang mai Punspace : http://www.punspace.com/

Chiang mai MANA : https://www.tripadvisor.fr/Restaurant_Review-g293917-d7273520-Reviews-MANA_Co_working_Reading_space-Chiang_Mai.html

Chiang mai CAMP : https://www.tripadvisor.fr/Restaurant_Review-g293917-d6436686-Reviews-C_A_M_P_Library_Cafe-Chiang_Mai.html

Da Nang coworking space (DNC) : https://www.coworker.com/vietnam/da-nang/dnc-danang-coworking-space

Bali Dojo : https://www.dojobali.org/

Thanks to all those places to have welcomed me through my journey. I recommend all of them.

--

--