Get in Touch

Course Outline

Part 1 – Deep Learning and DNN Concepts

Introduction to AI, Machine Learning & Deep Learning

  • The history, core concepts, and standard applications of artificial intelligence, distinguishing reality from common misconceptions.
  • Collective Intelligence: aggregating knowledge shared among numerous virtual agents.
  • Genetic algorithms: evolving a population of virtual agents through selection processes.
  • Definition of a standard Learning Machine.
  • 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 & XGBoosts) remains the state of the art.

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

  • Review of mathematical foundations.
  • Definition of a neural network: classical architecture, activation functions,
  • Weighting of previous activations and network depth.
  • Defining network learning: cost functions, back-propagation, Stochastic gradient descent, and maximum likelihood.
  • Modeling neural networks: structuring input and output data based on problem type (regression, classification, etc.) and 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: overview and examples.
  • Distribution approximation by neural networks: overview and examples.
  • Data Augmentation: techniques for balancing datasets.
  • Generalization of neural network results.
  • Initialization and regularization of neural networks: L1 / L2 regularization and Batch Normalization.
  • Optimization and convergence algorithms.

Standard ML / DL Tools

This section provides an overview of key tools, highlighting their advantages, disadvantages, ecosystem positioning, and typical use cases.

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

Convolutional Neural Networks (CNN).

  • Introduction to CNNs: fundamental principles and applications.
  • Basic CNN operations: convolutional layers and kernel usage.
  • Padding & stride, feature map generation, and pooling layers, including 1D, 2D, and 3D extensions.
  • Overview of CNN architectures that have advanced the state of the art in classification.
  • Image architectures: LeNet, VGG Networks, Network in Network, Inception, and ResNet, detailing the innovations and broader applications (e.g., 1x1 convolutions or residual connections) of each.
  • Incorporating attention models.
  • Application to common classification tasks (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).

  • Introduction to RNNs: fundamental principles and applications.
  • Basic RNN operations: hidden activations, back propagation through time, and the unfolded version.
  • Evolution toward Gated Recurrent Units (GRUs) and LSTM (Long Short-Term Memory).
  • Overview of the different states and improvements introduced by these architectures.
  • Addressing convergence and vanishing gradient issues.
  • Classical architectures: temporal series prediction, classification, and more.
  • RNN Encoder-Decoder architecture 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 modeling and distribution approximation, including latent space definition, the reparameterization trick, and observed limitations.
  • Generative Adversarial Networks: fundamentals.
  • Dual Network Architecture (Generator and Discriminator) involving alternating learning and various cost functions.
  • GAN convergence and associated challenges.
  • Improved convergence methods: Wasserstein GAN, Began, and Earth Mover’s Distance.
  • Applications in image and photo generation, text generation, and super-resolution.

Deep Reinforcement Learning.

  • Introduction to reinforcement learning: controlling an agent within a defined environment.
  • Based on states and possible actions.
  • Using neural networks to approximate state functions.
  • Deep Q-Learning: experience replay and application to video game control.
  • Learning policy optimization: on-policy and off-policy methods, 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

  • Inputs, outputs, updates, and givens

Training and Optimizing Neural Networks with Theano

  • Neural Network Modeling
  • Logistic Regression
  • Hidden Layers
  • Training the 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.
  • Utilizing TensorFlow infrastructure for large-scale model training.
  • Visualizing and evaluating models with TensorBoard.

TensorFlow Mechanics

  • Data Preparation
  • Downloading
  • Inputs and Placeholders
  • Building the Graphs
    • 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 Perceptrons 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 techniques

Convolutional Neural Networks

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

Brief introductions to the following modules (content coverage depends on available time):

TensorFlow - Advanced Usage

  • Threading and Queues
  • Distributed TensorFlow
  • Writing documentation and sharing models
  • Customizing Data Readers
  • Manipulating TensorFlow Model Files

TensorFlow Serving

  • Introduction
  • Basic Serving Tutorial
  • Advanced Serving Tutorial
  • Serving the Inception Model Tutorial

Requirements

Participants should possess a background in physics, mathematics, and programming, with specific experience in image processing activities.

Attendees are expected to have prior knowledge of machine learning concepts and proficiency in Python programming, including familiarity with relevant libraries.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories