Get in Touch

Course Outline

Part 1 – Deep Learning and DNN Concepts

Introduction to AI, Machine Learning & Deep Learning

  • History, core concepts, and practical applications of artificial intelligence, separating reality from speculation.
  • Collective Intelligence: Aggregating knowledge from multiple virtual agents.
  • Genetic algorithms: Evolving populations of virtual agents through selection.
  • Standard Learning Machines: Definitions and characteristics.
  • 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 Machine Learning remains the state-of-the-art (e.g., Random Forests and XGBoosts).

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

  • Review of mathematical foundations.
  • Defining a network of neurons: classical architecture, activation functions, and weighting of previous activations.
  • Network depth and structure.
  • Defining neural network learning: cost functions, back-propagation, stochastic gradient descent, and maximum likelihood.
  • Modeling neural networks: configuring input and output data based on problem type (regression, classification) and addressing the curse of dimensionality.
  • Differentiating between multi-feature data and signals; selecting appropriate cost functions.
  • Function approximation using neural networks: presentation and examples.
  • Distribution approximation using neural networks: presentation 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

A concise presentation covering the advantages, disadvantages, ecosystem positioning, and usage of key 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.
  • Core operations of a CNN: 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 architectures: LeNet, VGG Networks, Network-in-Network, Inception, and ResNet. Presentation 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 tasks: super-resolution and pixel-to-pixel segmentation.
  • Main strategies for enhancing feature maps in image generation.

Recurrent Neural Networks (RNN).

  • Overview of RNNs: fundamental principles and applications.
  • Core operations: hidden activation, back propagation through time, and unfolded versions.
  • Evolution towards Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM) networks.
  • Overview of different states and architectural advancements.
  • Addressing convergence and vanishing gradient challenges.
  • 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 relationship with CNNs.
  • Auto-encoders: Dimensionality reduction and limited generation capabilities.
  • Variational Auto-encoders: Generative modeling and distribution approximation. Definition and use of latent space. The reparameterization trick. Applications and observed limitations.
  • Generative Adversarial Networks: Fundamental principles.
  • Dual network architecture (Generator and Discriminator) with alternating learning and available cost functions.
  • GAN convergence and associated challenges.
  • Improving convergence: Wasserstein GAN, BegGAN, and Earth Mover Distance.
  • Applications in generating images, photographs, text, and super-resolution.

Deep Reinforcement Learning.

  • Overview of reinforcement learning: Agent control within a defined environment.
  • Defining states and possible actions.
  • Using neural networks to approximate state functions.
  • Deep Q-Learning: Experience replay and its application to video game control.
  • Optimization of learning policies: On-policy vs. off-policy. Actor-critic architectures and 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 preloading TensorFlow data
  • Leveraging TensorFlow infrastructure for scalable model training
  • Visualizing and evaluating models with TensorBoard

TensorFlow Mechanics

  • Preparing the Data
  • Downloading datasets
  • 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 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 how neural networks learn

Convolutional Neural Networks

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

Basic Introductions to be given to the below 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 possess a background in physics, mathematics, and programming, along with experience in image processing.

Prior knowledge of machine learning concepts and practical experience with Python programming and its associated libraries are required.

 35 Hours

Testimonials (2)

Upcoming Courses

Related Categories