Get in Touch

Course Outline

Part 1 – Deep Learning and DNN Concepts

Introduction to AI, Machine Learning & Deep Learning

  • A review of the history, basic concepts, and common applications of artificial intelligence, distinguishing reality from fantasy in the field
  • Collective Intelligence: aggregating knowledge shared among numerous virtual agents
  • Genetic algorithms: evolving a population of virtual agents through selection processes
  • Standard Machine Learning: definition and scope
  • 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 Forests
  • Machine Learning vs. Deep Learning: identifying problems where Machine Learning remains the state of the art (e.g., Random Forests & XGBoost)

Basic Concepts of a Neural Network (Application: multi-layer perceptron)

  • A refresher on essential mathematical foundations.
  • Defining a neural network: classical architecture, activation functions, and
  • The weighting of previous activations and network depth
  • Defining network learning: cost functions, back-propagation, Stochastic gradient descent, and maximum likelihood.
  • Modeling neural networks: adapting input and output data modeling to the problem type (regression, classification, etc.). The Curse of dimensionality.
  • Distinguishing between multi-feature data and signals. Selecting an appropriate cost function based on the data.
  • Function approximation by neural networks: overview and examples
  • Distribution approximation by neural networks: overview and examples
  • Data Augmentation: strategies for balancing datasets
  • Generalizing the results obtained from neural networks.
  • Initialization and regularization of neural networks: L1 / L2 regularization, and Batch Normalization
  • Optimization and convergence algorithms

Standard ML / DL Tools

This section offers a concise overview of the advantages, disadvantages, ecosystem positioning, and usage of key tools.

  • Data management tools: Apache Spark and Apache Hadoop Tools
  • Machine Learning libraries: Numpy, Scipy, and Sci-kit
  • High-level Deep Learning frameworks: PyTorch, Keras, and Lasagne
  • Low-level Deep Learning frameworks: Theano, Torch, Caffe, and 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. Extensions to 1D, 2D, and 3D.
  • An introduction to various CNN architectures that have established the state of the art in classification
  • Image-specific architectures: LeNet, VGG Networks, Network in Network, Inception, and ResNet. A review of the innovations introduced by each and their broader applications (e.g., 1x1 Convolution or residual connections)
  • Implementing attention models.
  • Application to standard classification cases (text or image)
  • CNNs for generation: super-resolution and pixel-to-pixel segmentation. Overview of
  • Key strategies for enhancing feature maps for image generation.

Recurrent Neural Networks (RNN).

  • Overview of RNNs: fundamental principles and applications.
  • Basic RNN operations: hidden activations, back propagation through time, and the unfolded version.
  • Evolution towards Gated Recurrent Units (GRUs) and LSTM (Long Short-Term Memory).
  • A look at different states and the advancements brought by these architectures
  • Addressing convergence and vanishing gradient problems
  • Classical architectures: time series prediction, classification, etc.
  • RNN Encoder-Decoder architecture. Use of attention models.
  • NLP applications: word / character encoding and translation.
  • Video Applications: predicting the next generated 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 and distribution approximation. Definition and use of latent space. The Reparameterization trick. Observed 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.
  • Improved convergence techniques: Wasserstein GAN, Began, and Earth Moving Distance.
  • Applications in image and photograph generation, text generation, and super-resolution.

Deep Reinforcement Learning.

  • Introduction to reinforcement learning: controlling an agent within a defined environment
  • Characterized by 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 methods. Actor-critic architecture. A3C.
  • Applications: controlling a single video game or a digital system.

Part 2 – Theano for Deep Learning

Theano Basics

  • Introduction
  • Installation and Configuration

Theano Functions

  • Inputs, outputs, updates, and givens

Training and Optimizing Neural Networks using Theano

  • Neural Network Modeling
  • Logistic Regression
  • Hidden Layers
  • Training a network
  • Computing and Classification
  • Optimization
  • Log Loss

Model Testing

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
  • Inputs and Placeholders
  • Building the Graph
    • Inference
    • Loss
    • Training
  • Training the Model
    • The Graph
    • The Session
    • Training Loop
  • Evaluating the Model
    • Building the Evaluation Graph
    • Evaluation 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
  • Enhancing neural network learning processes

Convolutional Neural Networks

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

Brief introductions to the following modules will be provided, subject to available time:

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

A background in physics, mathematics, and programming is required, along with prior involvement in image processing activities.

Participants should possess a foundational understanding of machine learning concepts and 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