
Explore the fundamentals of deep learning and neural networks in Matlab, including theory, mathematics, and how networks learn. Apply practical and algorithmic approaches to build and evaluate neural networks.
Explore how biology informs artificial neural networks, from neurons and synapses to input, hidden, and output layers, and discuss the universal approximation theorem and learning limits.
Explore how artificial neural networks represent data through neurons, weights, biases, and activation functions across input, hidden, and output layers, and how nonlinear, differentiable activations enable learning.
Explore how neural networks use matrix representations to express inputs, weights, biases, and activation functions, enabling efficient dot-product computations across hidden layers to outputs.
Explore neural network nomenclature and notations, including layer and node indices, weights and biases, pre-activation inputs, activations, the loss function, and the backpropagation framework.
Explore how learning uses the cost function to measure error and guide training, adjusting weights and biases to minimize the average squared error over a dataset.
Explore gradient descent to minimize the cost function by computing gradients and updating weights and biases in the opposite direction. Learn how backpropagation drives gradients toward minima and global optima.
Explain back propagation calculus and the gradient of the cost function using chain rule and delta terms to compute derivatives of weights and biases in a simple sigmoid network.
Explore backpropagation in a multi-neuron network with two input and two output neurons, using a sum of squared errors cost and delta terms to compute gradients for weights and biases.
Convert backpropagation to matrix form to compute gradients of weights and biases, using forward pass to obtain A and Z and delta terms via activation derivatives.
Apply forward propagation to compute z and l, then backpropagate deltas, average gradients over m samples, and update weights and biases via gradient descent with learning rate alpha.
Putting it all together builds a neural network with learning via gradient descent and backpropagation, addresses data requirements, overfitting, hyperparameters, and the black box challenge, plus practical implementation.
Learn to work with the MNIST handwritten digit dataset in MATLAB, using 60k training and 10k test 28x28 grayscale images and IDX files to train a neural network.
Develop a MATLAB read_images function to load binary image data, parse the header (magic number 2051, counts, rows, columns), and produce a 3D image matrix for training and testing.
Extract and read MNIST labels in MATLAB by implementing a read labels function that parses the binary label file, validates the header, and aligns resulting labels with the corresponding images.
Create a Matlab script for activation functions, implementing sigmoid and leaky relu with an optional derivative, to activate neural network nodes across multiple inputs.
Initialize and train a Matlab neural network by setting up weights and biases, applying forward and backward propagation, and using adaptive learning with normalized inputs.
Implement forward propagation for a Matlab neural network, initialize gradients, weights, and biases, and train over 28x28 images with a loop that tracks error and accuracy.
Learn to compute gradients for weights and biases using backpropagation in MATLAB, reducing the neural network's cost by updating parameters after forward propagation and analyzing hidden layers.
Train a neural network in Matlab by computing squared error, tracking accuracy via the output's max, and updating weights and biases with gradient descent and an adaptive learning rate.
Create a MATLAB testing script that runs forward propagation on the test set using training weights. Compute the predictions and the test success rate with a two-hidden-layer network.
Train and test a Matlab-based neural network on the MNIST database, using two hidden layers of 20 nodes and 10 outputs, iterating debugging and training to achieve high test accuracy.
AI is omnipresent in our modern world. It is in your phone, in your laptop, in your car, in your fridge and other devices you would not dare to think of. After thousands of years of evolution, humanity has managed to create machines that can conduct specific intelligent tasks when trained properly. How? Through a process called machine learning or deep learning, by mimicking the behaviour of biological neurons through electronics and computer science. Even more than it is our present, it is our future, the key to unlocking exponential technological development and leading our societies through wonderful advancements.
As amazing as it sounds, it is not off limits to you, to the contrary!
We are both engineers, currently designing and marketing advanced ultra light electric vehicles. Albert is a Mechanical engineer specializing in advanced robotics and Eliott is an Aerospace Engineer specializing in advanced space systems with past projects completed in partnership with the European Space Agency.
The aim of this course is to teach you how to fully, and intuitively understand neural networks, from their very fundamentals. We will start from their biological inspiration through their mathematics to go all the way to creating, training and testing your own neural network on the famous MNIST database.
It is important to note that this course aims at giving you a complete and rich understanding of neural networks and AI, in order to give you the tools to create your own neural networks, whatever the project or application. We do this by taking you through the theory to then apply it on a very hands-on MATLAB project, the goal being for you to beat our own neural network's performance!
This course will give you the opportunity to understand, use and create:
How to emulate real brains with neural networks.
How to represent and annotate neural networks.
How to build and compute neural networks with matrices.
Understand and master the mathematics and algorithms behind deep learning and neural networks.
Train and test neural networks on any data set.
How to use the MNIST handwritting numbers training and testing datasets.
Import the MNIST data in MATLAB.
Create a complete neural network in MATLAB including forward and backwards propagation with both Leaky Relu and Sigmoid activation functions.
Train and test your own neural network on the MNIST database and beat our results (95% success rate).
We will thoroughly detail and walk you through each of these concepts and techniques and explain down to their fundamental principles, all concepts and subject-specific vocabulary. This course is the ideal beginner, intermediate or advanced learning platform for deep learning and neural networks, from their fundamentals to their practical, hands-on application. Whatever your background, whether you are a student, an engineer, a sci-fi addict, an amateur roboticist, a drone builder, a computer scientist, a business or sports person or anyone with an interest in data science and machine learning, at the end of this course, you will be capable of creating brains within machines!
If you have questions at any point of your progress along the course, do not hesitate to contact us, it will be our pleasure to answer you within 24 hours!
If this sounds like it might interest you, for your personal growth, career or academic endeavours, we strongly encourage you to join! You won't regret it!