Get in Touch

Course Outline

Part 1 – Deep Learning and DNN Concepts

Introduction to AI, Machine Learning & Deep Learning

  • History, core concepts, and standard applications of artificial intelligence, distinguishing between reality and common misconceptions.
  • Collective Intelligence: aggregating knowledge shared across multiple virtual agents.
  • Genetic algorithms: evolving a population of virtual agents through selection mechanisms.
  • Machine Learning fundamentals: key definitions.
  • Task types: supervised learning, unsupervised learning, and reinforcement learning.
  • Action types: classification, regression, clustering, density estimation, and dimensionality reduction.
  • Examples of Machine Learning algorithms: Linear Regression, Naive Bayes, and Random Trees.
  • Machine Learning vs. Deep Learning: identifying problems where traditional Machine Learning (e.g., Random Forests & XGBoost) remains the state of the art.

Basic Concepts of Neural Networks (Application: Multi-layer Perceptron)

  • Refresher on mathematical foundations.
  • Defining a neural network: classical architecture, activation functions,
  • Weighting of previous activations, and the concept of network depth.
  • Defining network learning: cost functions, back-propagation, stochastic gradient descent, and maximum likelihood.
  • Modeling neural networks: modeling input and output data based on the problem type (regression, classification, etc.). Addressing the curse of dimensionality.
  • Distinguishing between multi-feature data and signals. Selecting appropriate cost functions based on data characteristics.
  • Function approximation by neural networks: theory and examples.
  • Distribution approximation by neural networks: theory and examples.
  • Data Augmentation: strategies for balancing datasets.
  • Generalization of neural network results.
  • Initialization and regularization: L1 / L2 regularization and Batch Normalization.
  • Optimization and convergence algorithms.

Standard ML / DL Tools

A concise overview will be provided, highlighting the advantages, disadvantages, ecosystem positioning, and typical use cases of these tools.

  • Data management tools: Apache Spark and Apache Hadoop Tools.
  • Machine Learning libraries: Numpy, Scipy, and Sci-kit.
  • High-level DL frameworks: PyTorch, Keras, and Lasagne.
  • Low-level DL frameworks: Theano, Torch, Caffe, and TensorFlow.

Convolutional Neural Networks (CNN)

  • Overview of CNNs: fundamental principles and key applications.
  • Core CNN operations: convolutional layers, kernel usage,
  • Padding and stride, feature map generation, and pooling layers. Extensions to 1D, 2D, and 3D.
  • Review of various CNN architectures that have defined the state of the art in classification.
  • Image processing: LeNet, VGG Networks, Network in Network, Inception, and ResNet. Discussion of innovations introduced by each architecture and their broader applications (e.g., 1x1 convolutions or residual connections).
  • Utilizing attention models.
  • Application to common classification cases (text or image).
  • CNNs for generation: super-resolution and pixel-to-pixel segmentation.
  • Key strategies for enhancing feature maps in image generation.

Recurrent Neural Networks (RNN)

  • Overview of RNNs: fundamental principles and applications.
  • Core RNN operations: hidden activations, backpropagation through time, and the unfolded version.
  • Evolution towards Gated Recurrent Units (GRU) and Long Short-Term Memory (LSTM).
  • Examining different states and the advancements brought by these architectures.
  • Convergence challenges and vanishing gradient problems.
  • Classical architectures: time series prediction, classification, etc.
  • RNN Encoder-Decoder architectures. Implementation of attention models.
  • NLP applications: word / character encoding and translation.
  • Video applications: predicting the next frame in a video sequence.

Generative Models: Variational Autoencoders (VAE) and Generative Adversarial Networks (GAN)

  • Introduction to generative models and their connection to CNNs.
  • Autoencoders: dimensionality reduction and limited generation.
  • Variational Autoencoders: generative modeling and approximation of data distributions. Defining and using latent space, the reparameterization trick, and reviewing applications and limitations.
  • Generative Adversarial Networks: Fundamentals.
  • Dual network architecture (Generator and Discriminator) with alternating learning and available cost functions.
  • GAN convergence and common difficulties encountered.
  • Improved convergence methods: Wasserstein GAN, Began, and Earth Mover’s Distance.
  • Applications in image/photograph generation, text generation, and super-resolution.

Deep Reinforcement Learning

  • Overview of reinforcement learning: controlling an agent within a defined environment.
  • Managing states and possible actions.
  • Using neural networks to approximate state functions.
  • Deep Q Learning: experience replay and application to video game control.
  • Policy optimization: on-policy & off-policy approaches, Actor-Critic architecture, and A3C.
  • Applications: controlling single video games or digital systems.

Part 2 – Theano for Deep Learning

Theano Basics

  • Introduction
  • Installation and Configuration

TheanoFunctions

  • Handling inputs, outputs, updates, and givens

Training and Optimizing Neural Networks with Theano

  • Neural Network Modeling
  • Logistic Regression
  • Implementing 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 to train models at scale
  • Visualizing and evaluating models with TensorBoard

TensorFlow Mechanics

  • Preparing the Data
  • Downloading datasets
  • Inputs and Placeholders
  • Building the Graphs
    • Inference
    • Loss
    • Training
  • Training the Model
    • The Graph
    • The Session
    • Training 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 to improve neural network learning

Convolutional Neural Networks

  • Objectives
  • Model Architecture
  • Core Principles
  • Code Organization
  • Launching and Training the Model
  • Evaluating a Model

Brief introductions to the following modules (provided subject to 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. Prior experience with image processing activities is also expected.

Participants are expected to have a pre-existing understanding of machine learning concepts and should have practical experience working with Python programming and its associated libraries.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories