Get in Touch
 Duration 35 hours

Course Outline

Part 1 – Concepts of Deep Learning and DNNs

Overview of AI, Machine Learning, and Deep Learning

  • Historical context, fundamental concepts, and standard applications of artificial intelligence, moving beyond mere theoretical fantasies
  • Collective Intelligence: the aggregation of knowledge shared among numerous virtual agents
  • Genetic algorithms: evolving a population of virtual agents through selection processes
  • Definition of a standard learning machine
  • Task categories: 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 Tree
  • Machine Learning versus Deep Learning: identifying problems where machine learning remains the state of the art (e.g., Random Forests & XGBoosts)

Foundational Neural Network Concepts (Application: Multi-layer Perceptron)

  • Review of mathematical foundations
  • Definition of a neural network: classical architecture, activation functions, and the weighting of previous activations
  • Network depth and its implications
  • Defining network learning: cost functions, back-propagation, stochastic gradient descent, and maximum likelihood
  • Neural network modeling: adapting input and output data modeling to problem types (regression, classification, etc.), including the curse of dimensionality
  • Distinguishing between multi-feature data and signals; selecting appropriate cost functions based on data characteristics
  • Function approximation via neural networks: theory and examples
  • Distribution approximation via neural networks: theory and examples
  • Data Augmentation: techniques for balancing datasets
  • Generalizing neural network results
  • Initialization and regularization of neural networks: L1/L2 regularization and Batch Normalization
  • Optimization and convergence algorithms

Standard ML/DL Toolkits

A brief overview is provided, highlighting the advantages, disadvantages, ecosystem positioning, and usage of various tools.

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

Convolutional Neural Networks (CNNs)

  • Introduction to CNNs: core principles and applications
  • Fundamental CNN operations: convolutional layers, kernel usage,
  • Padding and stride, feature map generation, and pooling layers, including 1D, 2D, and 3D extensions
  • Review of CNN architectures that have established the state of the art in classification
  • Image processing examples: LeNet, VGG Networks, Network in Network, Inception, and ResNet; discussing innovations like 1x1 convolutions and residual connections
  • Integration of 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 (RNNs)

  • Introduction to RNNs: core principles and applications
  • Fundamental RNN operations: hidden activation, back-propagation through time, and unfolded representations
  • Evolution towards Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM) networks
  • Analysis of architectural states and the advancements brought by these models
  • Addressing convergence and vanishing gradient issues
  • Classical architectures: time series prediction and classification
  • 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 Autoencoders (VAE) and Generative Adversarial Networks (GAN)

  • Overview of generative models and their connection to CNNs
  • Autoencoders: dimensionality reduction and basic generation capabilities
  • Variational Autoencoders: generative modeling and distribution approximation; definition and use of latent space, reparameterization trick, and associated limitations
  • Generative Adversarial Networks: fundamental concepts
  • Dual network architecture (Generator and Discriminator) with alternating training and cost functions
  • GAN convergence challenges and common difficulties
  • Improved convergence methods: Wasserstein GAN, Began, and Earth Mover's Distance
  • Applications in image/photograph generation, text generation, and super-resolution

Deep Reinforcement Learning

  • Introduction to reinforcement learning: agent control within a defined environment
  • State representation and possible actions
  • Utilizing neural networks to approximate state functions
  • Deep Q-Learning: experience replay and application to video game control
  • Policy optimization: on-policy vs off-policy approaches, Actor-Critic architecture, and A3C
  • Applications in controlling video games or digital systems

Part 2 – Deep Learning with Theano

Foundations of Theano

  • Introduction
  • Installation and configuration

Theano Functions

  • Managing inputs, outputs, updates, and givens

Training and Optimizing Neural Networks with Theano

  • Modeling neural networks
  • Implementing logistic regression
  • Incorporating hidden layers
  • Network training procedures
  • Computation and classification tasks
  • Optimization techniques
  • Log Loss calculation

Model Testing

Part 3 – DNNs using TensorFlow

TensorFundamentals

  • Creating, initializing, saving, and restoring TensorFlow variables
  • Feeding, reading, and preloading data in TensorFlow
  • Leveraging TensorFlow infrastructure for large-scale model training
  • Visualizing and evaluating models using TensorBoard

TensorFlow Mechanics

  • Data preparation
  • Downloading data
  • Managing inputs and placeholders
  • Constructing Graphs
    • Inference
    • Loss calculation
    • Training operations
  • Model Training
    • Graph management
    • Session handling
    • Training loops
  • Model Evaluation
    • Building evaluation graphs
    • Evaluating outputs

The Perceptron

  • Activation functions
  • Perceptron learning algorithm
  • Binary classification using perceptrons
  • Document classification with perceptrons
  • Limitations of the perceptron model

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 neural networks
  • Multilayer perceptrons
  • Minimizing cost functions
  • Forward propagation
  • Back propagation
  • Enhancing neural network learning strategies

Convolutional Neural Networks

  • Objectives
  • Model architecture
  • Core principles
  • Code organization
  • Launching and training models
  • Model evaluation

Brief introductions to the following modules will be provided, subject to time availability:

Advanced TensorFlow Usage

  • Threading and queues
  • Distributed TensorFlow
  • Documentation and model sharing
  • Customizing data readers
  • Manipulating TensorFlow model files

TensorFlow Serving

  • Introduction
  • Basic serving tutorial
  • Advanced serving tutorial
  • Serving Inception models tutorial

Requirements

A background in physics, mathematics, and programming is required. Experience in image processing activities is also expected.

Participants should possess prior knowledge of machine learning concepts and have practical experience with Python programming and its associated libraries.

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories