Get in Touch

Course Outline

Part 1 – Deep Learning and DNN Concepts

Introduction to AI, Machine Learning & Deep Learning

  • History, fundamental concepts, and common applications of artificial intelligence, separating fact from fantasy
  • Collective Intelligence: aggregating knowledge shared among numerous virtual agents
  • Genetic algorithms: evolving populations of virtual agents through selection
  • Fundamentals of 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, Random Forests
  • Machine Learning vs. Deep Learning: scenarios where traditional Machine Learning remains state-of-the-art (e.g., Random Forests & XGBoost)

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

  • Review of mathematical fundamentals
  • Definition of a neural network: classical architecture, activation functions,
  • Weighting of previous activations, and network depth
  • Defining neural network learning: cost functions, back-propagation, Stochastic Gradient Descent (SGD), and maximum likelihood estimation.
  • Neural network modeling: structuring input and output data based on the problem type (regression, classification, etc.). Understanding the curse of dimensionality.
  • Distinguishing between multi-feature data and signals. Selecting appropriate cost functions for different data types.
  • Function approximation by neural networks: presentation and examples
  • Distribution approximation by neural networks: presentation and examples
  • Data Augmentation techniques for balancing datasets
  • Generalization of results from neural networks.
  • Initialization and regularization techniques: L1 / L2 regularization, Batch Normalization
  • Optimization and convergence algorithms

Standard ML / DL Tools

A concise overview of available tools, including their advantages, disadvantages, ecosystem positioning, and use cases.

  • Data management tools: Apache Spark, Apache Hadoop
  • Machine Learning libraries: NumPy, SciPy, Scikit-learn
  • High-level Deep Learning frameworks: PyTorch, Keras, Lasagne
  • Low-level Deep Learning frameworks: Theano, Torch, Caffe, TensorFlow

Convolutional Neural Networks (CNNs).

  • Overview of CNNs: core principles and applications
  • Core operations of a CNN: convolutional layers, kernel usage,
  • Padding & stride, feature map generation, pooling layers. Extensions for 1D, 2D, and 3D data.
  • Overview of state-of-the-art CNN architectures in classification tasks
  • Image architectures: LeNet, VGG Networks, Network-in-Network, Inception, ResNet. Highlighting innovations from each architecture and their broader applications (e.g., 1x1 convolutions, residual connections)
  • Implementation of attention models.
  • Practical application to common classification tasks (text or image)
  • CNNs for generative tasks: super-resolution, pixel-to-pixel segmentation. Overview of
  • Key strategies for enhancing feature maps in image generation.

Recurrent Neural Networks (RNNs).

  • Overview of RNNs: core principles and applications.
  • Core operation of RNNs: hidden activations, back-propagation through time, unfolded versions.
  • Evolution toward Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM) networks.
  • Overview of different states and architectural advancements
  • Addressing convergence issues and vanishing gradients
  • Classic architectures: Time series prediction, classification, etc.
  • RNN Encoder-Decoder architecture. Utilization of attention models.
  • NLP applications: word/character encoding, translation.
  • Video Applications: predicting the next frame in a video sequence.

Generative Models: Variational AutoEncoders (VAE) and Generative Adversarial Networks (GANs).

  • Overview of generative models and their relationship with CNNs
  • Auto-encoders: dimensionality reduction and limited generation capabilities
  • Variational Auto-encoders: generative modeling and distribution approximation. Definition and usage of latent space. The reparameterization trick. Applications and observed limitations.
  • Generative Adversarial Networks: Core fundamentals.
  • Dual network architecture (Generator and Discriminator) with alternating learning and available cost functions.
  • GAN convergence and associated challenges.
  • Improved convergence methods: Wasserstein GAN, BEGAN, Earth Mover’s Distance.
  • Applications for generating images or photographs, text generation, and super-resolution.

Deep Reinforcement Learning.

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

Part 2 – Theano for Deep Learning

Theano Basics

  • Introduction
  • Installation and Configuration

Theano Functions

  • Inputs, outputs, updates, and givens

Training and Optimizing a Neural Network using Theano

  • Neural Network Modeling
  • Logistic Regression
  • Hidden Layers
  • Training a network
  • Computing and Classification
  • Optimization techniques
  • 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

  • Preparing the Data
  • Downloading datasets
  • Inputs and Placeholders
  • Building the Graphs
    • Inference
    • Loss calculation
    • Training steps
  • Training the Model
    • The Graph structure
    • 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 with 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
  • Improving neural network learning processes

Convolutional Neural Networks

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

Basic Introductions to be given to the following modules (Brief overviews 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 the Inception Model Tutorial

Requirements

Background knowledge in physics, mathematics, and programming. Experience in image processing activities is beneficial.

Participants should already understand fundamental machine learning concepts and have practical experience with Python programming and its libraries.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories