Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- A review of the history, core concepts, and standard applications of artificial intelligence, moving beyond common misconceptions.
- Collective Intelligence: the aggregation of knowledge shared among numerous virtual agents.
- Genetic algorithms: evolving populations of virtual agents through selection processes.
- Defining the standard Machine Learning paradigm.
- Categorizing task types: supervised learning, unsupervised learning, and reinforcement learning.
- Action types: classification, regression, clustering, density estimation, and dimensionality reduction.
- Examples of Machine Learning algorithms, including Linear regression, Naive Bayes, and Random Tree.
- Machine Learning vs. Deep Learning: identifying problems where traditional Machine Learning (e.g., Random Forests & XGBoosts) remains the state of the art.
Core Concepts of Neural Networks (Application: multi-layer perceptron)
- Review of essential mathematical foundations.
- Defining neural networks: classical architectures and activation mechanisms.
- The role of weighting previous activations and network depth.
- Defining neural network learning processes: cost functions, back-propagation, stochastic gradient descent, and maximum likelihood.
- Modeling neural networks: structuring input and output data based on problem types (regression, classification, etc.) and addressing the curse of dimensionality.
- Distinguishing between multi-feature data and signals; selecting appropriate cost functions for the data.
- Function approximation using neural networks: theory and examples.
- Distribution approximation using neural networks: theory and examples.
- Data Augmentation: strategies for balancing datasets.
- Generalization of results obtained from neural networks.
- Network initialization and regularization techniques, including L1 / L2 regularization and Batch Normalization.
- Optimization and convergence algorithms.
Standard ML / DL Tools
A brief overview covering the advantages, disadvantages, ecosystem positioning, and usage of key tools is included.
- Data management tools: Apache Spark, Apache Hadoop Tools.
- Machine Learning libraries: Numpy, Scipy, Sci-kit.
- High-level DL frameworks: PyTorch, Keras, Lasagne.
- Low-level DL frameworks: Theano, Torch, Caffe, Tensorflow.
Convolutional Neural Networks (CNN).
- Overview of CNNs: fundamental principles and applications.
- Basic CNN operations: convolutional layers, kernel usage.
- Padding & stride, feature map generation, and pooling layers, including 1D, 2D, and 3D extensions.
- Presentation of leading CNN architectures that have achieved state-of-the-art results in classification.
- Key architectures: LeNet, VGG Networks, Network in Network, Inception, and ResNet, highlighting their innovations and broader applications (e.g., 1x1 convolutions or residual connections).
- Implementing attention models.
- Application to standard classification tasks (text or image).
- CNNs for generation: super-resolution and pixel-to-pixel segmentation.
- Primary strategies for enhancing feature maps in image generation.
Recurrent Neural Networks (RNN).
- Overview of RNNs: fundamental principles and applications.
- Basic RNN operations: hidden activation, back propagation through time, and the unfolded version.
- Advancements towards Gated Recurrent Units (GRUs) and LSTM (Long Short Term Memory).
- Analysis of different states and the evolutions introduced by these architectures.
- Addressing convergence issues and vanishing gradient problems.
- Classical architectures for time-series prediction and classification.
- RNN Encoder-Decoder architectures and the use of attention models.
- NLP applications: word / character encoding and translation.
- Video Applications: predicting the next frame in a video sequence.
Generative models: Variational AutoEncoder (VAE) and Generative Adversarial Networks (GAN).
- Introduction to generative models and their relationship with CNNs.
- Auto-encoders: dimensionality reduction and limited generation capabilities.
- Variational Auto-encoders: generative models for distribution approximation, latent space definition, reparameterization tricks, and observed applications and limitations.
- Generative Adversarial Networks: core fundamentals.
- Dual Network Architecture (Generator and discriminator) featuring alternate learning and available cost functions.
- GAN convergence behaviors and common difficulties.
- Improved convergence methods: Wasserstein GAN, Began, and Earth Moving Distance.
- Applications in image/photograph generation, text generation, and super-resolution.
Deep Reinforcement Learning.
- Introduction to reinforcement learning: controlling an agent within a defined environment.
- Managing states and possible actions.
- Utilizing neural networks to approximate the state function.
- Deep Q Learning: experience replay and its application to video game control.
- Learning policy optimization: On-policy & off-policy approaches, Actor-critic architecture, and A3C.
- Applications in controlling single video games or digital systems.
Part 2 – Theano for Deep Learning
Theano Basics
- Introduction
- Installation and Configuration
Theano Functions
- Handling inputs, outputs, updates, and givens
Training and Optimization of a neural network using Theano
- Neural Network Modeling
- Logistic Regression
- Hidden Layers
- Training a network
- Computing and Classification
- Optimization
- Log Loss
Testing the model
Part 3 – DNN using Tensorflow
TensorFlow Basics
- Creating, initializing, saving, and restoring TensorFlow variables.
- Feeding, reading, and preloading TensorFlow Data.
- Leveraging TensorFlow infrastructure for large-scale model training.
- Visualizing and evaluating models with TensorBoard.
TensorFlow Mechanics
- Data Preparation
- Downloading data
- Inputs and Placeholders
-
Building Graphs
- Inference
- Loss
- Training
-
Training the Model
- The Graph
- The Session
- Train Loop
-
Evaluating the Model
- Building the Eval Graph
- Eval Output
The Perceptron
- Activation functions
- The perceptron learning algorithm
- Binary classification using the perceptron
- Document classification using the perceptron
- Limitations of the perceptron
From the Perceptron to Support Vector Machines
- Kernels and the kernel trick
- Maximum margin classification and support vectors
Artificial Neural Networks
- Nonlinear decision boundaries
- Feedforward and feedback artificial neural networks
- Multilayer perceptrons
- Minimizing the cost function
- Forward propagation
- Back propagation
- Strategies for improving neural network learning
Convolutional Neural Networks
- Goals
- Model Architecture
- Principles
- Code Organization
- Launching and Training the Model
- Evaluating a Model
Brief introductions to the following modules (coverage depends on time availability):
Tensorflow - Advanced Usage
- Threading and Queues
- Distributed TensorFlow
- Writing Documentation and Sharing your Model
- Customizing Data Readers
- Manipulating TensorFlow Model Files
TensorFlow Serving
- Introduction
- Basic Serving Tutorial
- Advanced Serving Tutorial
- Serving Inception Model Tutorial
Requirements
Candidates should possess a background in physics, mathematics, and programming, along with experience in image processing activities.
Participants are expected to have prior knowledge of machine learning concepts and practical experience working with Python programming and its associated libraries.
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