Course Outline
Introduction to Deep Learning
- Defining deep learning and distinguishing it from traditional machine learning
- Examining real-world applications in computer vision, NLP, and other domains
- Surveying the deep learning ecosystem: TensorFlow 2.x, Keras, and PyTorch
- Configuring a GPU-accelerated development environment
Core Mechanics of Deep Learning
- Exploring artificial neurons, activation functions, and network layers
- Understanding forward propagation and prediction computation
- Selecting appropriate loss functions for classification and regression
- Mastering gradient descent optimization and backpropagation
- Training an initial neural network using the MNIST dataset
Convolutional Neural Networks for Computer Vision
- Analyzing convolution, filters, and feature maps
- Utilizing pooling layers for dimensionality reduction
- Reviewing CNN architectures: LeNet, VGG, and ResNet concepts
- Developing and training a CNN for image classification
- Visualizing learned features and intermediate activations
Data Augmentation and Model Optimization
- Understanding how data augmentation mitigates overfitting and boosts generalization
- Applying image transformations: rotation, flipping, zooming, and cropping
- Creating augmentation pipelines using Keras preprocessing layers
- Incorporating dropout, batch normalization, and other regularization techniques
- Monitoring training progress with validation metrics and early stopping
Transfer Learning with Pre-Trained Models
- Conceptualizing transfer learning and its underlying principles
- Loading pre-trained models from Keras Applications (ResNet, EfficientNet, MobileNet)
- Performing feature extraction by freezing base layers and training new classifiers
- Applying fine-tuning: selectively unfreezing layers for domain adaptation
- Achieving high accuracy with constrained training data
Recurrent Networks and Sequence Modeling
- Introducing sequential data and temporal dependencies
- Examining recurrent neural networks (RNNs) and the vanishing gradient problem
- Employing LSTM and GRU cells for handling long-range dependencies
- Training a character-level text generation model
- Utilizing word embeddings and the Embedding layer in Keras
Natural Language Processing Fundamentals
- Handling text preprocessing: tokenization, padding, and vocabulary construction
- Developing a text classifier using RNNs and LSTMs
- Exploring sequence-to-sequence models for machine translation
- Analyzing attention mechanisms and their significance in modern NLP
- Practicing NLP with TensorFlow 2.x text processing APIs
Final Project: Image Captioning
- Merging computer vision and NLP into a multimodal architecture
- Extracting image features using a pre-trained CNN encoder
- Constructing an LSTM-based decoder for caption generation
- Managing multiple input layers via the Keras functional API
- Training and evaluating the complete captioning pipeline
Future Directions and Resources
- Deploying trained models with TensorFlow Serving
- Investigating transformer architectures and large language models
- Pursuing NVIDIA DLI advanced workshops and certification paths
- Accessing community resources, datasets, and project inspirations
Requirements
- Foundational proficiency in Python programming (functions, loops, dictionaries, arrays)
- Understanding of core programming concepts including variables, conditionals, and data structures
- No prior experience in deep learning or machine learning is necessary
Target Audience
- Software developers and engineers pivoting toward AI and machine learning
- Data analysts and scientists aiming to acquire deep learning capabilities
- Technical professionals interested in applying neural network models
- Students and researchers starting their exploration of 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