
Explore the theory and application of convolutional neural networks for images, text, and sound, using TensorFlow 2 to design architectures, preprocess data, and build real-world CNN solutions.
Access the code via the resources tab, using Code Link for notebooks and GitHub for extras, and note notebooks aren’t hosted on GitHub.
Follow three guidelines to succeed: ask questions in the Q&A (even if unsure), meet prerequisites, and get your hands dirty with coding and note-taking.
Discover Google Colab, a cloud-based Python notebook for deep learning with GPU or TPU access, drive integration, and preinstalled libraries that run across CPU, GPU, or TPU.
Upload your own datasets to Google Colab using wget, Keras get_file, and direct uploads, then load with pandas, handle headers and delimiters, and create histograms and scatter matrices.
Learn the NumPy stack in Python, including NumPy, pandas, Matplotlib, SciPy, and scikit-learn basics. Master tensors and array shapes, and follow the data-to-model life cycle from loading data to predicting.
Handle temporary 403 download errors by manually downloading the file in a browser and uploading or dragging it into the Colab file explorer, then continue with the dataset in place.
The warm-up review section introduces fundamentals of machine learning, covering classification and regression, neurons, and basics of learning, with code-focused practice for convolutional neural networks and recurrent networks.
Learn how machine learning is geometry, mastering regression and classification in supervised learning through data points, features, and decision boundaries, and understanding that all data is the same.
Explore classification with sigmoid activation and logistic regression, using W^T X plus B to predict classes, and implement and train it with binary cross entropy in TensorFlow 2.0 with Keras.
Master linear classification with breast cancer data using TensorFlow 2 and scikit-learn, from data loading and scaling to training a binary classifier and evaluating performance.
Load and preprocess data, normalize inputs, and build a multi-input linear regression model with no activation, trained via SGD with MSE loss. Use log-transformed transistor counts to illustrate Moore's Law.
Learn to build a regression model in TensorFlow to analyze exponential growth data, including data loading, preprocessing, plotting, and evaluating via linear regression and a transistor doubling time calculation.
Explore how linear and logistic regression model inputs with weights and bias. See why logistic regression acts like a neuron with a threshold and sigmoid output.
Explore how a model learns by fitting a line with linear regression, minimizing mean squared error via gradient descent, and tuning learning rate and epochs in TensorFlow.
Make predictions with a TensorFlow 2 Keras model using model.predict to obtain probabilities, flatten outputs to 1D, and verify accuracy against model.evaluate.
Save a trained model with model.save, reload it via tf.keras.models.load_model, and verify accuracy; fix the explicit input layer bug by setting input shape in the dense layer.
Engage with a simple suggestion box for this deep learning course on convolutional neural networks in Python, sharing background, course, difficulty, and requests for missing explanations or future topics.
Explore artificial neural networks, focusing on feedforward architectures that connect inputs to outputs, and learn how activation functions expand model expressiveness for multi-class classification and image data.
Explore forward propagation across multiple layers in neural networks, expanding from a single neuron to wide and deep architectures, and learn how hierarchical features enable binary classification and regression.
Learn why neural networks form nonlinear decision boundaries with multiple neurons and sigmoid activations, beyond a single perceptron. Observe automatic feature learning replacing manual engineering with the TensorFlow playground.
Examine activation functions in deep learning, from sigmoid and tanh to relu variants, and discuss vanishing gradients, training efficiency, and practical choices for deep networks.
Explore how multi-class classification maps final-layer activations to a probability distribution using softmax, contrast with binary classification and sigmoid, and apply these ideas to CNNs and the ImageNet dataset.
Represent images as height by width by color channel tensors (rgb) with 8-bit quantization and values scaled to 0–1, then flatten to an n by d matrix for neural networks.
Clarify that mixing primary colors does not reliably yield white and note that RGB, used to represent images in computers, can produce brownish results when mixing red, blue, and yellow.
We load the Mnist handwritten digit data, build a feedforward network with Flatten, dense, dropout, and softmax, train with sparse categorical cross entropy, then evaluate and make predictions.
Build and evaluate a simple feedforward neural network for Mnist image classification in a Colab notebook, using TensorFlow 2.0, flattening 28x28 images, and softmax with dropout, and confusion matrix analysis.
Explore a feedforward neural network for regression on synthetic, two-dimensional data, train with the Adam optimizer, and visualize a 3D prediction surface that matches the true function.
Understand convolution by linking input image, filter (kernel), and output image, with examples like blurring and edge detection. Explore padding and the three modes: valid, same, and full.
Explore a geometric view of convolution by linking the dot product, cosine similarity, and Pearson correlation to pattern matching, then see how sliding filters detect patterns across an image.
Explore the equivalence of convolution and matrix multiplication and how weight sharing reduces parameters. See how translational invariance enables a single pattern finder to detect features across all image locations.
Examine why convolution uses zero indexing, relate math formulas to Python, and contrast valid and full one-dimensional convolution, including handling negative indices and flipping the filter.
Learn how convolution expands to color images by using 3D inputs and kernels, producing multiple feature maps that form stacked 3D outputs, with bias and activation for deep learning.
Understand the cnn architecture: convolutional and pooling stages extract hierarchical image features, then flatten to dense layers for classification or regression.
Develop cnn code for image classification using TensorFlow and the Keras functional API; load fashion-mnist (28x28 grayscale) and cifar-10 (32x32 color) data, build conv2d models, train, and evaluate.
Explore fashion mnist image classification with tensorflow 2.0 cnn in a colab notebook. Build a keras model using 3x3 convs and stride 2, evaluate with accuracy and a confusion matrix.
Learn to build and train a TensorFlow 2.0 CNN on CIFAR-10 in Colab, loading data, handling color channels, and assessing performance with loss, accuracy, and the confusion matrix.
Boost image classification with on-the-fly data augmentation in TensorFlow Keras, using an image data generator to apply random rotations, shifts, brightness, and flips for better generalization.
Introduce batch normalization to CNN activations, normalizing by batch mean and standard deviation, then scale and shift with learnable gamma and beta.
Improve CIFAR-10 results with data augmentation and batch normalization in a Colab notebook. Experiment with multiple convolutions before pooling and same padding, and assess gains via training and validation metrics.
Convert words to integers and use an embedding layer to map them to dense vectors, replacing inefficient one-hot encoding and enabling scalable text sequences for RNNs.
Learn to prepare text for neural networks by tokenizing words, building a word-to-index mapping, and padding sequences, then feed embeddings into CNNs or LSTMs.
Learn how to preprocess text with TensorFlow and Keras using the text vectorization layer, including adapting vocabularies, truncation, and padding strategies.
Explore how one-dimensional convolutional neural networks process text sequences by applying embedding layers, conv1d, pooling, and dense layers for binary classification.
Learn to build a text classification model for spam detection with CNNs in TensorFlow. Implement data loading, text vectorization, CNN layers, and binary evaluation with F1 on imbalanced data.
Explore how convolution shapes signals in real life, from audio effects like echo, reverb, and wawa to image filters such as Gaussian blur and edge detection.
Relate convolution to matrix multiplication by viewing a repeated filter sliding along the signal. Explore cross-correlation and autocorrelation concepts, including lag and spikes that reveal pattern matches.
Explore how convolutional neural networks process color images as height by width by channels, applying 3d filters to produce 2d feature maps and stacking them into 3d outputs.
Explore how data flows through a CNN, tracking exact shapes across convolution, padding modes, pooling, and flattening into dense layers to understand implementation and learned features.
Identify common CNN design patterns, with convolutional layers first and fully connected layers last, where height and width shrink while depth grows, illustrated by Vgg16, Alexnet, and googlenet.
Explore mean squared error with a probabilistic view, linking squared errors to maximum likelihood and Gaussian assumptions, and relate it to cross entropy loss in classification.
Explore binary cross entropy as the loss for binary classification, derived from the Bernoulli distribution via maximum likelihood, i.e., the negative log likelihood, with PMF and coin-toss intuition.
Derive the categorical cross entropy loss for multi-class classification from the categorical distribution and compare one-hot encoding with sparse categorical cross entropy and numpy double indexing.
Ever wondered how AI technologies like OpenAI ChatGPT, GPT-4, DALL-E, Midjourney, and Stable Diffusion really work? In this course, you will learn the foundations of these groundbreaking applications.
Learn about one of the most powerful Deep Learning architectures yet!
The Convolutional Neural Network (CNN) has been used to obtain state-of-the-art results in computer vision tasks such as object detection, image segmentation, and generating photo-realistic images of people and things that don't exist in the real world!
This course will teach you the fundamentals of convolution and why it's useful for deep learning and even NLP (natural language processing).
You will learn about modern techniques such as data augmentation and batch normalization, and build modern architectures such as VGG yourself.
This course will teach you:
The basics of machine learning and neurons (just a review to get you warmed up!)
Neural networks for classification and regression (just a review to get you warmed up!)
How to model image data in code
How to model text data for NLP (including preprocessing steps for text)
How to build an CNN using Tensorflow 2
How to use batch normalization and dropout regularization in Tensorflow 2
How to do image classification in Tensorflow 2
How to do data preprocessing for your own custom image dataset
How to use Embeddings in Tensorflow 2 for NLP
How to build a Text Classification CNN for NLP (examples: spam detection, sentiment analysis, parts-of-speech tagging, named entity recognition)
All of the materials required for this course can be downloaded and installed for FREE. We will do most of our work in Numpy, Matplotlib, and Tensorflow. I am always available to answer your questions and help you along your data science journey.
This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about "seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.
Suggested Prerequisites:
matrix addition and multiplication
basic probability (conditional and joint distributions)
Python coding: if/else, loops, lists, dicts, sets
Numpy coding: matrix and vector operations, loading a CSV file
WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:
Check out the lecture "Machine Learning and AI Prerequisite Roadmap" (available in the FAQ of any of my courses, including the free Numpy course)
UNIQUE FEATURES
Every line of code explained in detail - email me any time if you disagree
No wasted time "typing" on the keyboard like other courses - let's be honest, nobody can really write code worth learning about in just 20 minutes from scratch
Not afraid of university-level math - get important details about algorithms that other courses leave out