I quit my job to learn AI. Here’s why and how you can get started.

Gary Chan
Coinmonks
9 min readJun 19, 2017

--

Leaving a job is never an easy decision, especially if you are leaving not to get a new one nor to start a new business, but to learn a new thing! That’s what I did six months ago and my friends and colleagues were surprised by my decision. Guess what? So was I! Yet, the the seemingly nonsensical decision was made after careful thoughts, long time of preparation and a little bit of thoughtlessness (I have to admit), it is a move with calculated risks and calculated uncertainties. Now I am helping my friend to review deep learning projects of students on an online learning platform and working as a researcher at a University, and what I know about Machine Learning and Deep Learning now is a lot more than I did half year ago. The road ahead is still unclear for me, but hopefully it is getting better and better. After all, as Socrates once said,

“The unexamined life is not worth living.”

I think there is no need to explain the power of data science/Big data/Machine learning/Deep learning/Artificial intelligence nowadays, and they are undoubtedly the 20% tools that solve 80% of the real-world problem.

Though there are sufficient reasons to learn these skills, be warned that it will be a little bit tough if Maths/Statistics/Computer Science is not your original profession.

Still, despite life is short, it is long enough for you to dedicate to something you are deeply interested in.

If you are committed to this field, I hope this article is useful for you and save you from wandering around in the forest of Machine Learning.

Factors to consider before quitting your job to learn AI

30–7–2018: added this section

I know there are different people want to learn AI because they are afraid to be replaced. Yet, I am dare to say that current AI will not replace human, not even radiologist (unless 100% of your working time is doing something relatively low-level that current AI is excel at, like recognizing things). Why? Because the algorithms and models are quite limited. They are hungry for data, non-transferable, computationally expensive, recognizing patterns but not understanding causal relationships…etc. Even if AI can generate images, the current AI is far from OK to be deployed in production to replace human designers.

Compare with the past, what current AI has achieved is incredible. But compare with the ideal, current AI is far from perfect.

Anyways, here are some factors for your to consider when you design a strategy for yourself to learn AI.

  • Your objectives: Be clear about your goals. Which area(s) you want to specialize in? (Computer Vision? Natural Language Processing? Data Science? Robotics? ) You want to focus on research to understand and develop something new or learn the stuff fast and deploy it in real world?
  • Your background: You need to close your knowledge gap first if you are not from Maths/Computer Science, as you will have to read some academic paper and code.
  • Your ability: Are you a good self-learner? There are abundant resources online but it is the one who knows how to leverage them will finally become successful. (I will write a post about learning how to learn later)
  • Your financial status: Calculate your minimum cost of livings and see if your balance sheet can sustain your study plan. If not, be imaginative about what else you cloud do to finance.
  • The world: I could see that there could be a surplus of AI engineers (especially in Computer Vision) in the next few years as more people are shifting their careers and lots of students are choosing CS as their major (with a focus in A.I.). It is always good to have two to three specialties but don’t put all your eggs in one basket.

Last but not least, no matter where you come from or how bad you performed in school in the past, you always stand a chance to succeed in the future because NO ONE KNOWS THE FUTURE. After all, the most important things are how you define success, your goals, your perseverance, your strategies and your actions.

Menu — Overview of the field

Artificial intelligence (General vs Narrow): AI is a term that seems so familiar but we can hardly settle on one single definition. Even without specifically defining the term, we can classify the AI based on its general intelligence. If the machine can perform an intellectual task and possesses cognitive abilities just like human, it is regarded as Artificial general intelligence (AGI). In contrast to AGI, a machine is regarded as Narrow AI if it can only solve a specific problem.

Machine learning (ML): ML , also known as statistical learning, means the computers’ ability to learn without being explicitly programmed. Common topics you will see in a ML textbook or course: Regression, Naive Bayes, Decision tree, KNN, SVM, K-means, PCA…

Based on its learning style, ML could be categorized into:

One of the ways to classify Machine Learning [Source]

Supervised Learning: Supervised learning uses input-output paired of data to train the model. As the model needs the labeled data to guide the learning, i.e. we need to explicitly specify, for example, which of the pictures is an image of cat, which is a truck. It is therefore called “supervised”.

Unsupervised Learning: Contrary to supervised learning, unsupervised learning finds the hidden structure of the data without labeled data. Clustering techniques like K-means, latent variable models like PCA are the examples of this kind.

Reinforcement Learning (RL): RL is the study of how agents can take actions in different states of environment to maximize its cumulative rewards. AlphaGo is also trained using (deep) reinforcement learning. Below is a demonstration of how the agent learned to play Pac-Man after many times of iterations.

Few days ago, Maluuba successfully brought the Pac-Man game to another level.

Deep learning (DL):A sub-field of ML. Deep learning is the use of artificial neural networks that contain more than one hidden layer. It could be supervised/unsupervised/reinforcement learning. It is heavily used in image recognition, speech recognition, NLP, generating new data…etc. Popular architectures included:

  • Multilayer perceptron (MLP): the basic type of neural network. Neurons are feed-forward and fully-connected. It could be used as regression and classification.
  • Convolution Neural Network (CNN):Inspired by biological processes, CNN is widely used in image recognition (face detection, Video analysis, etc).
  • Recurrent Neural Network (RNN): Neural networks that have “memories”. It is particularity good at dealing with sequential data. LSTM, GRU are things you will not miss in RNN.
  • Generative Adversarial Network (GAN): Introduced by Ian Goodfellow in 2014, GAN uses two neural networks to compete with (or learn from) each other. You can use GAN to generate new (fake, to be precise) images and new data.
Variants of deep neural network [Source]

Appetizer — Prerequisite

The ML industry sets the bar quite high for people. You will need a complete and sound understanding of multivariate calculus, linear algebra, statistics, programming, cloud computing and so on in order to succeed in the field. The resources below (and all the resources in this article) are the materials I have tried and carefully selected, and I pick them because they are easy to understand, intuitive and detailed.

Maths-Calculus: Calculus is important for you to understand how neural network learns to optimize the model by differentiating the loss function .

Maths-Linear Algebra: You need to know basic concepts of vector, matrix, tensors, dot product to understand basic neural networks. When you study SVD, backpropagation through time and so on, you need to know much more.

  • 3blue1brown — I could say it is the best Linear Algebra series I have ever seen
  • MathTheBeautiful — This one by Pavel Grinfeld is good too

Statistics: Statistical concepts are everywhere in ML.

Computer Science: Basic computer knowledge is as important as coding. So do not code without understanding how it works under the hood.

Main Course — Let’s get started

Course: Thanks to MOOC and now every one can attain the lectures and learn. I have rated the courses below by their difficulties. Generally, If you are new to the field, you can start by the 1-star course, and you can learn ML and DL at the same time (they do not have much dependencies, in my opinion). Yet, if you want to learn the complicated neural network architectures like CNN and RNN, I would recommend you to finish the basic deep learning course (“vanilla” neural networks) first.

Machine Learning

Machine Learning by Andrew Ng: ★☆☆

Machine Learning by Udacity: ★☆☆

Machine Learning by Caltech Professor Yaser Abu-Mostafa: ★★☆

Stanford CS229: ★★☆

Deep Learning

deeplearning.ai by Andrew Ng: ★☆☆

fast.ai: ★☆☆

Deep learning by Udacity: ★☆☆

Deep learning in python by DataCamp: ★☆☆

Deep learning by Nando de Freitas: ★★☆

Neural network by Geoffrey Hinton: ★★★

Specific Topic

CNN by Andrej Karpathy (2016): ★★☆ (Basic deep learning included)

CNN by Stanford University School of Engineering (2017): ★★☆

NLP by Chris Manning and Richard Socher: ★★☆

Reinforcement learning by Udacity: ★☆☆

Reinforcement learning by David Silver: ★★☆

Textbook: Online courses are great for learning. Yet, textbooks are the necessary supplement which provides the mathematical proof, intuition and exercises for in-depth learning.

  • Python Machine Learning — this book not only introduced all the ML concepts but also included the python code. It is good one to begin with ML.
  • An Introduction to Statistical Learning — With applications in R, this is a great textbook for statistical learning.
  • Understanding Machine Learning: From Theory to Algorithms — Published by Cambridge, this book is a good reference of ML concepts and theories.
  • Deep Learning — Included various concepts of DL. You can also read it online.
  • Reinforcement Learning: An Introduction — Written by Sutton, R. S. and Barto, A. G, the founding fathers of modern RL. The 2nd edition is now completed and available free online.
  • Artificial Intelligence: A Modern Approach (3rd Edition)

Blog/Website: There are countless resources online and below are just some of the great materials.

Research Paper: Research paper can give you the “original taste” of the models.

Competition: Practice! Practice! Practice! Apply what you have learned and create your own model to solve the most challenging problems!

Other Resources

  • Github — A famous host of open-source software projects.
  • Quora — Seek help and ask any questions here if you have any difficulties!

Drink — Refresh your taste buds

AI is growing rapidly now and you can see new research paper published almost every day. Of course we cannot learn everything, but what we can do is to keep ourselves updated and explore the field through the lens of others. By doing so, we might have better methods to solve a problem.

  • Follow the player makers in social network (like Yann LeCun, Andrew Ng, etc)
  • Setup Google Alerts

Dessert — Last few words

AI is just like a knife, a gun or nuclear technology. It is a double-edged sword that if used rightly we can save lives and save our planet, if used wrongly we can destroy ourselves. We are so lucky to live in a time to witness the rise of AI and even actually learn to build one with the open resources contributed by enormous amount of selfless institutions, researchers and people. If you finally succeed in this field one day, I hope that you not only use it to make good money for yourself but also use it to save the earth and help those who are suffering in the forgotten corners of the world.

Let’s embrace AI!

Get Best Software Deals Directly In Your Inbox

--

--