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, distinguishing reality from the myths often associated with this field
  • Collective Intelligence: aggregating knowledge shared among multiple virtual agents
  • Genetic algorithms: evolving populations of virtual agents through selection
  • Defining standard learning machines
  • 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 Trees
  • Machine Learning vs. Deep Learning: identifying scenarios where traditional ML (e.g., Random Forests & XGBoosts) remains the state-of-the-art

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

  • Review of mathematical foundations
  • Defining a neuron network: classical architecture, activation functions, and
  • Weighting of previous activations and network depth
  • Defining network learning: cost functions, back-propagation, Stochastic Gradient Descent, and maximum likelihood
  • Modeling a neural network: structuring input and output data based on the 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 type
  • Approximating functions using neural networks: presentation and examples
  • Approximating distributions using neural networks: presentation and examples
  • Data Augmentation: techniques for balancing datasets
  • Generalizing results from neural networks
  • Initialization and regularization techniques: L1 / L2 regularization, Batch Normalization
  • Optimization and convergence algorithms

Standard ML / DL Tools

A brief overview covering advantages, disadvantages, ecosystem positioning, and use cases will be provided for the following tools.

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

Convolutional Neural Networks (CNN).

  • Overview of CNNs: fundamental principles and applications
  • Basic CNN operations: convolutional layers and kernel usage
  • Padding & stride, feature map generation, and pooling layers. Extensions for 1D, 2D, and 3D data.
  • Overview of CNN architectures that achieved state-of-the-art results in classification
  • Key image architectures: LeNet, VGG, Network in Network, Inception, ResNet. Overview of innovations introduced by each (e.g., 1x1 Convolution, residual connections) and their broader applications
  • Utilization of attention models
  • Application to common classification tasks (text or image)
  • CNNs for generation: super-resolution, pixel-to-pixel segmentation
  • Main strategies for enhancing feature maps in image generation

Recurrent Neural Networks (RNN).

  • Overview of RNNs: fundamental principles and applications
  • Basic RNN operations: hidden activations, backpropagation through time, and unfolded versions
  • Evolution towards Gated Recurrent Units (GRUs) and LSTM (Long Short-Term Memory)
  • Overview of different states and architectural improvements
  • Addressing convergence and vanishing gradient problems
  • Classical architectures: time series prediction, classification, etc.
  • Encoder-Decoder architectures. Utilization of attention models
  • NLP applications: word / character encoding, 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 modeling and distribution approximation for given inputs. Definition and usage of latent space. The reparameterization trick. Applications and observed limitations
  • Generative Adversarial Networks: Fundamentals
  • Dual Network Architecture (Generator and Discriminator) with alternating learning and available cost functions
  • GAN convergence and encountered difficulties
  • Improving convergence: 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 functions
  • Deep Q-Learning: experience replay and application to video game control
  • Optimizing learning policies: On-policy && Off-policy. Actor-Critic architecture. A3C
  • 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 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 preprocessing TensorFlow data
  • Utilizing TensorFlow infrastructure for large-scale model training
  • Visualizing and evaluating models with TensorBoard

TensorFlow Mechanics

  • Preparing the data
  • Downloading data
  • 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 Outputs

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
  • Improving neural network learning methods

Convolutional Neural Networks

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

Basic Introductions to be given to the following modules (Brief Introduction to be 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 involvement in image processing activities.

Delegates must possess a prior 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