Course Outline
Introduction to Deep Learning
- Defining deep learning and distinguishing it from traditional machine learning.
- Real-world applications in computer vision, NLP, and other fields.
- Overview of the deep learning ecosystem: TensorFlow 2.x, Keras, and PyTorch.
- Setting up a GPU-accelerated development environment.
The Mechanics of Deep Learning
- Artificial neurons, activation functions, and network layers.
- Forward propagation and calculating predictions.
- Loss functions for classification and regression tasks.
- Gradient descent optimisation and backpropagation.
- Training your first neural network on the MNIST dataset.
Convolutional Neural Networks for Computer Vision
- Understanding convolution, filters, and feature maps.
- Pooling layers and dimensionality reduction techniques.
- CNN architectures: Concepts behind LeNet, VGG, and ResNet.
- Building and training a CNN for image classification.
- Visualising learned features and intermediate activations.
Data Augmentation and Improving Model Accuracy
- Understanding how data augmentation combats overfitting and improves generalisation.
- Image transformations: rotation, flipping, zooming, and cropping.
- Implementing augmentation pipelines using Keras preprocessing layers.
- Regularisation techniques such as dropout and batch normalization.
- Monitoring training progress with validation metrics and early stopping.
Transfer Learning with Pre-Trained Models
- Understanding the principles of transfer learning and why it is effective.
- Loading pre-trained models from Keras Applications (ResNet, EfficientNet, MobileNet).
- Feature extraction: freezing base layers and training new classifiers.
- Fine-tuning: selectively unfreezing layers for domain adaptation.
- Achieving high accuracy with limited training data.
Recurrent Networks and Sequence Modeling
- Introduction to sequential data and temporal dependencies.
- Recurrent neural networks (RNNs) and the vanishing gradient problem.
- LSTM and GRU cells for capturing long-range dependencies.
- Training a character-level text generation model.
- Word embeddings and the Embedding layer in Keras.
Natural Language Processing Fundamentals
- Text preprocessing: tokenization, padding, and vocabulary building.
- Building a text classifier using RNNs and LSTMs.
- Concepts of sequence-to-sequence models for machine translation.
- Attention mechanisms and their role in modern NLP.
- Practical NLP using TensorFlow 2.x text processing APIs.
Final Project: Image Captioning
- Integrating computer vision and NLP within a multimodal architecture.
- Extracting image features using a pre-trained CNN encoder.
- Building an LSTM-based decoder for caption generation.
- Managing multiple input layers with the Keras functional API.
- Training and evaluating the end-to-end captioning pipeline.
Next Steps and Resources
- Deploying trained models using TensorFlow Serving.
- Exploring transformer architectures and large language models.
- NVIDIA DLI advanced workshops and certification pathways.
- Community resources, datasets, and project ideas.
Requirements
- Basic proficiency in Python programming (including functions, loops, dictionaries, and arrays).
- Familiarity with core programming concepts such as variables, conditionals, and data structures.
- No prior experience in deep learning or machine learning is required.
Target Audience
- Software developers and engineers transitioning into AI and machine learning.
- Data analysts and data scientists aiming to acquire deep learning skills.
- Technical professionals keen on understanding and applying neural network models.
- Students and researchers beginning their journey in deep learning.
Testimonials (2)
The training was organized and well-planned out, and I come out of it with systematized knowledge and a good look at topics we looked at
Magdalena - Samsung Electronics Polska Sp. z o.o.
Course - Deep Learning with TensorFlow 2
I really liked the end where we took the time to play around with CHAT GPT. The room was not set up the best for this- instead of one large table a couple of small ones so we could get into small groups and brainstorm would have helped