Get in Touch

Course Outline

Part 1 – Deep Learning and DNN Concepts

Introduction to AI, Machine Learning & Deep Learning

  • The history, core concepts, and typical applications of artificial intelligence, distinguishing reality from the fantasy often associated with the field
  • Collective Intelligence: Aggregating knowledge shared by numerous virtual agents
  • Genetic algorithms: Evolving populations of virtual agents through selection processes
  • Standard Learning Machines: Definitions and core principles
  • 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 traditional machine learning (such as Random Forests and XGBoost) remains the state of the art

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

  • A review of essential mathematical foundations
  • Defining neural networks: 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: Input and output data modeling based on problem type (regression, classification, etc.), and understanding the curse of dimensionality
  • Distinguishing between multi-feature data and signals, and 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: Strategies for balancing datasets
  • Generalizing the results of neural networks
  • Initialization and regularization of neural networks: L1/L2 regularization and Batch Normalization
  • Optimization and convergence algorithms

Standard ML / DL Tools

A concise overview covering advantages, disadvantages, ecosystem positioning, and usage is provided.

  • Data management tools: Apache Spark and Apache Hadoop tools
  • Machine Learning libraries: NumPy, SciPy, and scikit-learn
  • 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 applications
  • Basic CNN operations: Convolutional layers, kernel usage
  • Padding, stride, feature map generation, and pooling layers, including 1D, 2D, and 3D extensions
  • Introduction to various CNN architectures that have established state-of-the-art performance in classification
  • Image processing architectures: LeNet, VGG Networks, Network in Network, Inception, and ResNet, including their innovations and broader applications (e.g., 1x1 convolutions, residual connections)
  • Utilizing attention models
  • Application to common classification tasks (text or image)
  • CNNs for generation: Super-resolution and pixel-to-pixel segmentation, with an overview
  • 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 unfolded versions
  • Evolution towards Gated Recurrent Units (GRUs) and LSTM (Long Short-Term Memory)
  • Presentation of different states and architectural advancements
  • Convergence and vanishing gradient issues
  • Classical architectures: Time series prediction, classification, etc.
  • 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).

  • Overview of generative models and their connection to CNNs
  • Auto-encoders: Dimensionality reduction and limited generation capabilities
  • Variational Auto-encoders: Generative models, distribution approximation, definition and use of latent space, the reparameterization trick, and observed applications and limitations
  • Generative Adversarial Networks: Fundamental concepts
  • Dual Network Architecture (Generator and Discriminator) with alternating learning, and available cost functions
  • GAN convergence and common difficulties
  • Improved convergence techniques: Wasserstein GAN, BigGAN, 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
  • Based on state and possible actions
  • Utilizing 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 approaches, Actor-Critic architecture, and A3C
  • Applications: Control of a single video game or digital system

Part 2 – Theano for Deep Learning

Theano Basics

  • Introduction
  • Installation and Configuration

TheanoFunctions

  • 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 to train models at scale
  • Visualizing and evaluating models using TensorBoard

TensorFlow Mechanics

  • Data Preparation
  • Downloading Data
  • Inputs and Placeholders
  • Building 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 with 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
  • Enhancing neural network learning methods

Convolutional Neural Networks

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

Brief introductions to the following modules (provided based 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

Participants should have a background in physics, mathematics, and programming, along with prior involvement in image processing activities.

It is expected that delegates possess a foundational understanding of machine learning concepts and have practical experience with Python programming and its associated libraries.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories