## Key points to remember:

- Read, re-read, re-read. It usually takes several reads to understand, so don’t give up after the first read if something doesn’t make sense.
- Good to progress this with another person in your organisation if possible. Meeting up with a ‘buddy’ will greatly help work through questions and makes the learning process a whole lot more fun.
- When ready,
__join us at our meetups__. - If you want help establishing an AI Centre of Excellence, or have feedback on this guide or any other questions, contact us
__here.__

## Linear Algebra

Neural network calculation is based on Linear Algebra.

If you learned linear algebra in school, and would like a quick refresh, watch the playlist on various linear algebra concepts. Almost all of them are used in various machine learning methods:

Linear algebra concepts might slip through your head when you need it to understand some equations on some paper. A quick cheat sheet would help, and that’s why we recommend __The Matrix Cookbook__**.**

## Machine Learning Prerequisite Knowledge

Machine learning and deep learning are based on probability theory and linear algebra. A quick and comprehensive review of the concepts can be found in the Part 1 (Chapters 1 to 5) of Ian Goodfellow’s __Introduction to Deep Learning__.

## Deep Learning Basics

One of the biggest challenges of getting started with machine learning is to get familiar with the concepts and jargon data scientists use.

Part 2 (Chapter 6 to 10) of Ian Goodfellow’s __Introduction to Deep Learning__ covers all basic concepts of deep learning.

Some people learn better throughs playing with the code before getting into the concepts. You can directly follow the tutorial by using Colab. Here is a __hands-on tutorial__ on making a basic deep learning model, including training the model using a simple dataset.

## Basics of Backpropagation

If you are already familiar with calculus the following playlist will give a quick refresher and visual understanding of the topic.

## Python

Python is the most widely-used language for machine learning and deep learning. Most deep learning libraries, such as PyTorch and Tensorflow, have a Python API.

A free online course to practice Python would be __Python for Everyone__ offered by University of Michigan.

When we started to learn Python, we spent lots of time installing Python and its associated libraries. Colab** **takes away all the hassles to get you straight into doing stuff with Python. You can create your first Python script now __here__.

## Image Recognition Using Convolutional Networks

Convolutional networks makes image recognition more robust, and have been used extensively in recent deep learning models. __This tutoria__l shows you how to build and train hand-digit recognition using convolutional layers.

## A different approach to learning deep learning

The following video playlist/channel provides a series of short run videos that are designed to get more interest from people who find more in-depth videos/courses difficult to follow with the ultimate goal of getting more people into Deep Learning. It is recommended to look through the comments and check out the various github repositories to each video you find interesting:

View this if you want to specifically follow a ‘nano’ course:

## Intermediate Resources:

__Deep Learning Quickstart__This MIT course provides a quickstart introduction to all topics covered in the deep learning Basics section above.

__Podcast__MIT Artificial Intelligence.

__Linear Algebra__Linear algebra is behind all popular machine learning libraries. Having a clear understanding helps speeding up your machine learning models. This MIT course by Professor Gilbert Strang offers you a systematic overview of the field.

__Machine Translation__Using deep learning, machine translation has achieved near human performance on common language pairs, such as English to French. This tutorial covers a recent model called the Attention Transformer. It will introduce advanced tensorflow concepts and how to build advanced models.

__Object Recognition__Assume you know the basics of a convolutional network, the code repository provides a list of popular models for object recognition (such as picking out cats in photos). For example, object recognition helps law enforcement perform identity verification.

__Image Generation__Generative Adversarial Network (GAN) has garnered attention due to its applicability and robustness. The controversial DeepFake is also based on GAN.