Start AI in 2021 — Become an expert from nothing, for free!

A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2021 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!

Photo by Emma Matthews Digital Content Production on Unsplash

I’m asked the same question multiple times a day on my social media. The question is “How can I start in machine learning?”. It frequently takes multiple forms, such as “How can I start for free?”, “What is AI? How can I learn it?”, “How does AI work? Where can I start?”, “How can I start if I don’t have a developer background”, etc. So I decided to write a complete guide on how to start in machine learning in 2021 from no background at all, and for free. Because of these pertinent questions, I’ve researched a lot of resources and saved the best ones on a notepad over the past year to quickly answer the next upcoming questions.

Today, I will share this notepad with everyone and list many great resources, and give you some tips on how to learn, and improve your machine learning skills.


Who can become a machine learning expert in 2021?

This guide is intended for anyone having zero or a small background in programming, mathematics, and/or machine learning. There is no specific order to follow, but a classic path would be from top to bottom, following the order given in this article. If you don’t like reading books, skip the section, if you don’t want to follow an online course, you can skip this one as well. There is not a single way to become a machine learning expert, and with motivation, you can absolutely achieve it by creating your own steps.

But the goal of this article is to give a path for anyone wanting to get into machine learning and not knowing where to start. I know it can be hard to find where to start or what to do next when learning something new. Especially when you don’t have a teacher or someone to guide you. This is why I will list many important resources to consult ordered by “difficulty” with a linear learning curve. If you are more advanced, you can just skip some steps.

All resources listed here are free, except some online courses and books, which are certainly recommended for a better understanding, but it is definitely possible to become an expert without them, with a little more time spent on online readings, videos and practice. When it comes to paying courses, the links in this guide are affiliated links. Please, use them if you feel like following a course as it will support me. Thank you, and have fun learning! Remember, this is completely up to you and not necessary. I felt like it was useful to me and may be useful to others as well.

Don’t be afraid to replay videos or learn the same concepts from multiple sources. Repetition is the key to success in learning something new!

Find the complete list on GitHub and subscribe to my weekly AI newsletter and stay up-to-date!

Tag me on Twitter @Whats_AI or LinkedIn @Louis (What’s AI) Bouchard if you share the list!


Table of contents

Here is a quick table of contents of this article if you would like to skip the first steps right away:
 — Let’s dive in! (Start with short YouTube video introductions)
 — Start learning seriously (Follow free online courses on YouTube)
 — Read articles online
 — Read important books
No math background for ML? Check this out!
 — No coding background, no problem! (Coding resources for beginners)
 — Follow online courses
 — Practice, practice, and practice!
 — More resources (join communities, use cheat sheets, follow news of the field, and more!)
— How to find a job
—  AI Ethics
 — Conclusion

Note that there is also a repository of this article with all the resources clearly identified for you to follow in order as well.


Let’s dive in and start to learn machine learning!

In my opinion, the best way to start learning anything is with short YouTube video introductions. This field is no exception. There are thousands of amazing videos and playlists that teach important machine learning concepts for free on this platform, and you should definitely take advantage of them.
Here, I list a few of the best videos I found that will give you a great first introduction to the terms you need to know to get started in the field.

https://www.youtube.com/WhatsAI

The first one I would personally recommend is a YouTube Playlist introducing the most used terms of the field by What’s AI. This is a must-watch playlist to have a basic understanding of machine learning and all the terms frequently said in the further resources mentioned. IT basically answers the famous question "What is AI" with a series of really short 1-minute videos covering all the most used terms starting from the basics to more advanced. It will take no longer than 30 minutes to have a complete overview of the field and understand the basics of machine learning!

Following these short videos, I would suggest diving a little deeper into the foundations of machine learning and deep learning and learn more about neural networks. Understanding neural networks and backpropagation is the most important thing when starting and gives you an enormous advantage when you dive into more advanced lectures and courses.

https://www.youtube.com/c/3blue1brown

Fortunately for us, an amazing channel called 3Blue1Brown created a series of videos covering these exact concepts really clearly. Another excellent place to start that will give you a great understanding of the maths behind ML is this series of videos by Weights & Biases. Pick the one you prefer! Don’t be afraid to replay the videos or find any other playlist on your own if certain aspects of the videos are unclear to you! Learning is made of repetition!

Now that you have a good basis of what a machine learning algorithm is, how it works, and how it can learn with backpropagation, you are ready to dive a little deeper with more complete and advanced courses.

Feel free to keep on watching other videos on YouTube. It has great resources and is a free, and underrated platform for learning!


Start learning seriously

This step is a little longer than the previous one since you will be watching many hours of free, amazing courses on YouTube, and learn a lot from them.

Please, do not watch these courses while doing something else. They are great resources that deserve concentration and you take notes and ask questions through online communities!

They are fascinating as well. Once you have the motivation to press the “Play” button, you will be hooked until the end and learn A LOT, I promise!

Here’s a quick list of the best courses I would suggest watching first. They are listed in the“difficulty of understanding” order. Starting from an introduction and ending with a great specialization. Note that even the specialization is still an introduction at this point, but it will prepare you for the funnier stuff coming next! Of course, they are all free!

Introduction to machine learning (Stanford)

Introduction to deep learning (MIT)

Deep learning specialization (Deeplearning.ai — Andrew Ng)

MIT Deep Learning — Lex Fridman’s up-to-date deep learning course

Deep Learning (with PyTorch) — NYU, Yann LeCun


Read articles online

As it has been proven multiple times. Humans learn better by repeating and learning in different ways, such as hearing, writing, reading, watching, etc. This is why it is as important to read as to watch videos to have a better understanding.

You will cover many angles and have a more complete view of what you are trying to learn. This section is a list of short articles that are completely free and optional. Similarly, using Medium is an amazing platform to find great explanations, either on Towards AI or Towards Data Science publications. I also share my own articles there and I love using the platform. You can subscribe to Medium using my affiliated link here if this sounds interesting to you and if you'd like to support me at the same time!

Note that you can certainly find other items on your own, these are only suggestions based on my personal choices.

Here are 5 articles, all available here on Medium, that I would suggest you look at before diving into any books, coding, or online courses. They are all short reads really beneficial if you couple that with the videos mentioned earlier.

Now that you’ve gone through these short reads and videos, you are definitely ready to start coding and practice! If you feel like you need a deeper understanding of the theoretical aspect of machine learning, then, the next section is for you. Otherwise, you can skip straight to the coding, online courses, or practice sections below to learn exponentially fast!


Read Important Books

This section is completely optional, but it is strongly recommended to better understand the “behind the scenes” of a machine learning algorithm. Books are a great way to learn at your rhythm. Be sure to understand everything before going into practice mode. Don’t be afraid to re-read sections!

As you may know, most books need a lot of work from the authors, and therefore, are not free. Fortunately for us, there is one amazing book that is completely free and available online! The rest are available on Amazon for buying. Here I list some of the best books to read for the people preferring the reading path:

Great books for building your math background:

A complete Calculus background:

Again, these books are completely optional, but they will provide you a better understanding of the theory and even teach you some stuff about coding your neural networks!

Now, you are more than ready to start coding and apply the theory you’ve learned and mastered.


No math background for ML? Check this out!

Don’t stress, just like most of the things in life, you can learn maths! Here are some great beginner and advanced resources to get into machine learning maths. I would suggest starting with these three very important concepts in machine learning (here are 3 awesome free courses available on Khan Academy):

  1. Linear Algebra — Khan Academy
  2. Statistics and probability — Khan Academy
  3. Multivariable Calculus — Khan Academy

Here are some great free books and videos that might help you learn in a more “structured approach” :

If you still lack mathematical confidence, check out the books section above, where I shared many great books to build a strong mathematical background.

You now have a very good math background for machine learning and you are ready to dive in deeper!

No coding background, no problem!

Photo by Safar Safarov on Unsplash

This section is for beginners in coding. If you have no background at all in Python or any other programming languages, this will get you starting and give you an awesome basis for machine learning programming.

If you are already pretty familiar with python, you can skip to the “Follow online courses” step!

Here are the best online courses to learn the programming side of machine learning:

At first, you need to learn python. A great way to start is with this Free interactive tutorial to learn python or by following this great practical Machine Learning tutorial.

Then, you can follow this free course on OpenClassroom, called Learn Python Basics for Data Analysis, or free video series like this one by Data Science Dojo.

Following these two resources, if you are still not comfortable with python, you can dive deeper into a paying course on Coursera by IBM called Machine Learning with Python. This will certainly get you ready to start coding your first machine learning algorithms and dramatically improve your programming skills! Another great idea is to follow online training, like this one by Data Science dojo. Note that these are often paying and completely optional. They are just other resources for those of you that would like to have more “guided” practices using live sessions where they will give you challenging exercises and projects to work on! An alternative could be to find exercises and projects online, using Kaggle for example, join a community to find learning teammates and ask questions.

Confirm your python skills with these 100 NumPy exercises. It is a great collection of exercises that have been collected in the NumPy mailing list, on stack overflow, and in the NumPy documentation.


Follow Online Courses

Now that you have a good understanding of the theory behind machine learning AND a coding background, you are ready to start your way into machine learning courses. Of course, these are all optional. Again, the first one is free and the other ones are paying since they will teach you many things and some even give you certifications you can use in your resume! Coursera is a great place to start with high-value certifications. I listed some of the best courses below. I also want to mention that Coursera offers great financial aids or scholarships if you can't afford such certificates.  The only things you need to do to apply:

  • Fill out an application that includes information about your educational background, career goals, and financial circumstances.
  • Commit to abiding by our Honor Code and our Code of Conduct.

Check out their help page and apply!

If you don’t want to follow any courses, you can jump to the next section and start to practice on your own. It will be a little more difficult at first, but with your “googling” skills and motivation, you will be able to do this for sure.

If you prefer to be more guided and have clear steps to follow, these courses are the best ones to do (starting from the basics to more advanced):

For specific applications, get right into it:

Get your models online and show them to the world:

Now, you are more than ready to start to practice and build your portfolio!


Practice, practice, and practice!

The most important thing in programming is practice. And this applies to machine learning, too. It can be hard to find a personal project to practice. You have to find a problem to solve before you can even start coding, which can be very difficult without any help.

https://www.kaggle.com/

Fortunately, Kaggle exists. This website is full of free courses, tutorials, and competitions. You can join competitions for free, and just download their data, read about their problem, and start coding and testing right away! You can even earn money from winning competitions and it is a great thing to have on your resume. This may be the best way to get experience while learning a lot, and even earn money!

But Kaggle isn't the only place to work on interesting projects for the industry where you will gain valuable expertise. Zindi is a similar website based in Africa where you can compete on super interesting AI projects and win money prizes as well (some go up to $10'000USD!). Many "hackatons" for AI are worth participating in, and many companies offering similar projects or competitions, like the NVIDIA Jetson Community Projects. You can also get certifications on NVIDIA Jetson's website and receive hardware and financial support to help you work on the projects with NVIDIA. Here's a great guide to get started with the NVIDIA Jetson Nano if you'd like to see it fits you. If that doesn't seem attractive, I'd strongly recommend looking for the companies that interest you and look for community projects they may be financing or asking for help with. You could try to either make improvements to their code on GitHub or directly work on their projects. Making meaningful contributions on GitHub repositories is very well seen, and having a great GitHub profile is undoubtedly something that interviewers are looking for!

Before ending this section, I'd like to highlight that you can also create teams for Kaggle competitions or other projects and learn with people! I suggest you join a community to find a team and learn with others. It is always better than learning alone. The following section is devoted to this.


More Resources

Most of the time, the best way to learn is to learn with someone else. Join communities online and find partners to learn with!

Here is an awesome Discord Server with many AI enthusiasts where you can learn together, ask questions, find Kaggle teammates, share your projects, and much more.
 — Here is a great Discord Server where you can stay up-to-date with the latest AI news, ask questions, share your projects, and much more.

— You can also follow Reddit communities — Ask questions, share your projects, follow news of the field, and more. Here are the most popular ones:

— Save Cheat Sheets!

The best Cheat Sheets for Artificial Intelligence, Machine Learning, and Python:

— Another important thing in this field is to stay up to date with the new upcoming papers and new applications that are released every single day. A great way is to join LinkedIn groups that are sharing these new applications, follow medium publications or even YouTube channels that are summarizing these new papers, here I list a few of the best ones I know, but you can definitely search for more in your fields of interest!

Subscribe to YouTube channels that share new papers: Stay up to date with the news in the field!

— Join LinkedIn Groups

— Join Facebook Groups

  • Artificial Intelligence & Deep Learning — The definitive and most active FB Group on A.I., Neural Networks and Deep Learning. All things new and interesting on the frontier of A.I. and Deep Learning. Neural networks will redefine what it means to be a smart machine in the years to come.
  • Deep learning — Nowadays society tends to be soft and automated evolving into the 4th industrial revolution, which consequently drives the constituents into the swirl of societal upheaval. To survive or take a lead one is supposed to be equipped with associated tools. Machine is becoming smarter and more intelligent. Machine learning is inescapable skill and it requires people to be familiar with. This group is for these people who are interest in the development of their talents to fit in.

— Subscribe to Newsletters

— Follow Medium accounts and publications

  • Towards Data Science — “Sharing concepts, ideas, and codes”
  • Towards AI — “The Best of Tech, Science, and Engineering.”
  • OneZero— “The undercurrents of the future. A Medium publication about tech and science.”
  • A little self-promotion, myself — “Hi, I am Louis (loo·ee, French pronunciation), from Montreal, Canada, also known as “What’s AI”. I try to share and explain artificial intelligence terms and news the best way I can for everyone. My goal is to demystify the AI “black box” for everyone and sensitize people about the risks of using it.”

— Check this complete GitHub guide to keep up with AI News:


How to find a job

I have a good ML basis. Now what?  Here are some tips to find a job in machine learning...

Photo by Markus Winkler on Unsplash

First of all, if you are not sure about what job to get into, please take a look at the first chapter of this amazing free book detailing the different jobs in ML. It will help you understand the various roles and what you would prefer to do.

Now that you know the role you are aiming for, you need to build your portfolio. To do so, you *need* interesting projects that you worked on which you can share online—something like a complete GitHub, a blog, a great Kaggle profile, etc. You also need to get prepared for the different kinds of interviews you’ll have to go through.

Let’s start with personal projects. Personal projects are underrated. Take the example of owning a blog. It can make you find a job or even remove the need to find a job. If you post about how you made an ML-based application, the post can fall in the hands of a recruiter, and if it was well explained, the recruiter may just message you and offer you a job or a contract. On the other side, if your blog does well, it will become a side hustle and could end up making a lot of money. Of course, this is for a blog example, which you can post on Medium, a blogging platform that pays you per view, quite easily, and here’s how. You only need to write and publish! No personal website is needed or anything. Do not underestimate the power of sharing what you do clearly. Knowing how to clearly explain the projects you work on so that your non-technical boss can understand is extremely important and directly recognized in your salary. One last reason to own a blog is to teach. Teaching is one of the most valuable skills that exist and something hard to develop. It will improve your communication skills and leadership, which are extremely relevant in data science jobs, as your main goal is to understand data and use it optimally. It can become extremely complex, and until your results are not published, you need to know how to explain what you are doing and why it will work, or else you may not get any money to do it. As long as it’s not published for the investor or your boss, it’s like you haven’t done anything. Here comes the power of great communication skills. Oh, and why not do a two-in-one and help others by explaining something? Give back as soon as you understand a complex concept that gave you a hard time. It will confirm you really understand it while also helping others not get stuck like you were.

Technical skills are also important to display. Having a well-supplied GitHub is highly valuable, especially if you take the time to comment and clean your code and readme files. Share the projects you worked on, even if it was a course project! Obviously, personal projects that you worked on, on your own are much more impressive for a recruiter. However, these other projects can still demonstrate your skill level and ability to work in a team and document your work. If you have the time available, the best thing is to create an ML-based application and share it with the world on your GitHub and in an application. On a website or in a mobile app, or both. It will show that you took the time to learn many skills school didn’t teach you that was needed to publish them. It shows your motivation to work on complex problems and learn something new. The best thing is that it can also earn you money! This is the beauty of side projects. How can you not do them when it can both help you get a job and become your job in the best-case scenario.

Photo by Hello I'm Nik on Unsplash

Networking (during and post-pandemic)… Networking is underrated, even on LinkedIn. Having a great network will change your life, but you need to build it. One good contact will give you a job opportunity or even become your co-founder partner! And fortunately, we now have access to LinkedIn, where you can easily connect with people and start exchanging. But, please, don’t just spam connections. Connect with people with the same interest as you or people with roles you’d like to be connected with, and send them a private message introducing you and why you are reaching out to them. A generic copy-paste message won’t work. You need to see this just like a real-life networking event. Would you really go shake the hand of someone and not say anything? Would you shake the hand of someone and introduce yourself as “Hi, I’m looking for a job?”. Most certainly not. You’d ask for their name and roles, which is given on Linkedin, so you can skip this step and then talk about yourself and ask your acquaintance questions. Then, if it clicks, you’ll have a new contact in your list! Before doing so, just like in real life, you need to be presentable, so please update your LinkedIn and make your profile look good! You may ask who to connect with more precisely. In this case, my first recommendation would be to reach out to the teacher assistant you had directly, some you saw online, authors of GitHub repos or papers you liked, bloggers or YouTubers, etc. Once your network starts growing, you'll have very interesting LinkedIn recommendations to go further.

Now let’s get into the last but not the least important step: the interview process. I am not an expert in interviews, so I will mainly cite the best tips I found in this amazing book by Chip Huyen. If you are currently in the process of finding a job, this book is a must-read!

Photo by Jasmin Sessler on Unsplash

The dos and don’ts for ML interviews…

Here I will list some valuable tips from the book itself in no specific order. As you may already know, finding a job takes time, so you need to start early. Start before finishing your degree, before changing job, or throughout an online course and do it slowly in parallel. To come back with the importance of networking, try to exchange with your professor or colleagues to get valuable referrals. It helps a lot! Share with your network that you are looking for a job. Why build such a network if you won’t use it? Just like for coding and maths, practice! Practice your interview skills with your friends, family, or colleagues using the mock questions from the book. Keep up-to-date with the new research and new practices. I share a lot of tips for that in the section just above! Keep your skills up-to-date as well, do coding exercises like the one with NumPy shared in the coding practice section of this guide, but don’t stop here, try out but also on leetcode.com as well! Try to find questions to ask before the interview to look interested and the company’s mission so you can orient your answers towards that. Listen to them clearly and don’t talk too much. Try to learn about them and the role as well, but don’t sit in silence. Think out loud so they can analyze your thought process and see how you react with transparency. This is a winner habit! Remember that these interviews are also to find a fit for you, not only for them. One of the most important steps that are often failed by candidates: DO NOT LIE, honesty is key, and they will see it if you lie. Lastly, please find a job you think you will love. I know you can’t really know in advance, but follow your heart and try to pick something that will challenge you while working with an amazing, fun, and motivating team.

Some quick don’ts before we conclude this guide: again, do not lie. This is crucial. Do not criticize previous or current employers. Anything you do to them will appear as you could do the same to the interviewee's company. Be respectful at all times. Be confident, don’t be scared, they are looking for someone as much as you are looking for a job, remember that. I know there may be more competition on your end, but you are unique and surely have valuable skills that others don’t. Do not look down or away. Look in the eyes or sometimes upwards when you are thinking. It shows you are looking for a real answer in your memory. Do not agree to everything. Sometimes they put you in situations to test how you would react, and sometimes you just want something different than they offer. Again, be honest and figure it out with them spontaneously. Don’t talk about the irrelevant and personal information that can differ from your interviewer, like your political affiliation, religion, age, marital status, etc. Do not bring the salary question first. Wait for them to ask you (if they do). It will often be discussed with someone else than your interviewer afterward. In the same way, salary is not everything. If the salary seems a bit low, there are other advantages like bonuses or equity grants that can be as interesting or even better than a regular salary. Learn to negotiate. Either for salary or any other very important features, a job can offer you it is SO IMPORTANT to know how to get what you want and do it respectfully. If you have no negotiation experience, I strongly recommend reading (or listening to) the book Never Split the Difference by Chris Voss. It changed my life. Most importantly, do not stress it. You are unique and awesome, and you will find a job. It can take a dozen if not hundreds of tries depending on the world's current situation and where you live, and that’s perfectly normal. Take your time, be patient, and enjoy the process as much as possible by always learning and improving!

This was mainly to orient you and give you quick tips to help you get an interview and own it. If you’d be interested in getting more detail about the types of questions asked, the interview pipeline, how to negotiate your role and salary, which skills are needed, and much more, take a look at this incredible free book by Chip Huyen.


AI Ethics

AI ethics is an underrated part of AI. It is actually the side you should mainly focus on, as humans will use your application, and thus it must respect their privacy and be trustworthy. It may sound obvious, but it is, in fact, an extremely complex side of the technological field. Indeed, as new technologies like AI come to the public, we need to be sure it isn't harmful to humans and can be trusted by all, which we often forget or voluntarily ignore, thinking that "someone else will take care of it". But that isn't true. You need to take care of it. Take some time to think about the trustworthiness of your model, take some time to think about the ethical issues that may come out of such an application run by an automated machine. As I said, this is complicated, which is why there are experts in ethics and philosophy working on this, but they need help from professionals in the field. To help them, you first need to understand why this is so important for our future, so here's an amazing series of short videos covering AI Ethics by Rachel Thomas, founder of fast.ai that is a great start to open your mind and allow you to identify the possible issues and how to attack them.

Here are three great resources for AI ethics in society and guidelines to build trustworthy AI shared by my good friend Auxane Boch, PhD Candidate & Research Associate at the Institute for Ethics in AI (TUM):


Conclusion

Photo by Jan Tinneberg on Unsplash

This was a guide for anyone having zero or a small background in programming, mathematics, and/or machine learning. There is no specific order to follow, but a classic path would be from top to bottom.

Note that this is a non-exhaustive list of resources to become a machine learning expert from nothing in 2021. You can definitely use more, or less, resources and learn at your rhythm. Not everything in life is a competition and you must follow your instinct in the best way you can learn. Don’t ever feel guilty about replaying a video or reading an article twice to understand a concept. We’ve all been through this and it is perfectly normal. The most important thing is that you understand the concepts, and not that you go through the list as quickly as possible.

Thank you so much for reading, and I wish you all the best of luck in your future machine learning careers!

— Signing out.


Here’s a GitHub repository with all the links in this article if you would like to contribute or just easily find the information through it:

GitHub - louisfb01/start-machine-learning: A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2021 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!
A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2021 without ANY background in the field and stay up-to-date with the latest news and state-of-the-ar...

Tag me on Twitter @Whats_AI or LinkedIn @Louis (What’s AI) Bouchard if you share the list!


Come chat with us in our Discord community: Learn AI Together and share your projects, papers, best courses, find Kaggle teammates, and much more!

If you like my work and want to stay up-to-date with AI, you should definitely follow me on my other social media accounts (LinkedIn, Twitter) and subscribe to my weekly AI newsletter!

To support me:

  • The best way to support me is by being a member of this website or subscribe to my channel on YouTube if you like the video format.
  • Support my work financially on Patreon