College Level Neural Nets [II] - Conv Nets: Math & Practice!
What you'll learn
- Deep understanding of convolutional neural networks [CNNs].
- Mathematical derivations for CNN-related tasks.
- Different types of convolutional neural network building blocks with their pros and cons.
- A lot of applications based on CNNs, with lots of tips and tricks.
- How to read and understand research papers in detail.
- Have a prior good understanding of Neural networks, as this is the second course in the deep learning series.
- Have a proper understanding of basic linear algebra and calculus.
Convolutional neural networks with mathematical derivations and practical applications is the second course in my Neural Networks and deep learning series, after the first course in the series named "College-Level Neural Networks With Mathematical Derivations".
As the title implies, This course is focused on Convolutional neural networks, a special kind of neural networks mainly used for visual recognition in images and videos, yet not limited to that.
In this course, I mainly focus on concepts, intuitions, mathematical derivations, and practical applications.
The course is mainly divided into 4 chapters :
Chapter 1 focuses on the conceptual basics and intuitions of CNNs. What are CNNs ? How do they operate? Why are they suitable for visual recognition ? and so on?
Chapter 2 takes a step deeper into the CNN mathematical derivations. What are forward and backward propagation equations through CNNs? How are they derived ? How do they change with changes in hyperparameters like kernel sizes, strides, and pooling?
Chapter 3 takes a step higher and focuses on different types of convolutions and pooling suitable for various tasks. Ideas like 3D convolutions, dilated convolutions, global pooling, pointwise convolutions, spatial and depth-wise separable convolutions, deconvolutions, grouped convolutions, shuffled convolutions and more are covered in detail, along with justifications and insights on when to and not to use them in practice.
Moving on to Chapter 4, I decide to take an even larger step higher and focus on practical applications that depend heavily on CNNs.
My way of handling this is different. Instead of just summarizing a few key ideas and algorithms used for a couple of different applications on a very high level, I opt for diving very deeply and extensively in a couple of chosen high-quality research papers that introduce a specific algorithm or idea.
For each paper, we read its paragraphs together, line by line, and I explain any unclear concepts or equations as we proceed. We move from one paper to another, comparing their approaches and results. This chapter is designed to be an ever-growing, dynamic chapter.
The main purpose of Chapter 4 is NOT to teach the specific algorithms presented. In fact, new algorithms emerge every few months anyway rendering older algorithms nearly obsolete.
Rather, the goal is to get a feel of research papers, how to read them and understand them, and how different research papers relate to each other, reference each other and build upon each other's work. How researchers introduce a lot of tips and tricks to raise their performance and how they justify such choices.
Growing up this mindset will have a huge benefit for anyone who wishes to enter the deep learning field, either as a researcher or an engineer.
Hope you enjoy the course and find it useful! See you, in the next video !
Who this course is for:
- Computer science students wishing to learn about deep learning in good detail.
- Software developers with an interest in machine learning and deep learning.
- Deep learning practitioners hoping for more deep theoretical knowledge about the inner-workings of neural networks.
My name is Ahmed Fathy. I have a master's degree in deep-learning, and I am currently a senior machine learning scientist at Affectiva, a smarteye company, applying deep-learning multimodal techniques to human emotion recognition, and previously a teaching assistant at Ain-Shams University, Cairo, Egypt. On Campus, I used to teach highly variant subjects to students, including Deep Learning, Pattern Recognition, Computer Graphics, Computer Architecture, Basic and advanced programming, Linear Algebra, Design Patterns, Compilers, Control Systems, and Game Development.