Get in Touch
 Duration 35 hours

Course Outline

Part 1 – Deep Learning and DNN Fundamentals

Introduction to AI, Machine Learning & Deep Learning

  • Overview of the history, core concepts, and standard applications of artificial intelligence, distinguishing reality from the domain’s often-held fantasies.
  • Collective Intelligence: The aggregation of knowledge shared across multiple virtual agents.
  • Genetic Algorithms: Evolving a population of virtual agents through selection mechanisms.
  • Definition of standard Learning Machines.
  • Categories of tasks: Supervised learning, unsupervised learning, and reinforcement learning.
  • Types of actions: 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 remains the state-of-the-art (e.g., Random Forests & XGBoost).

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

  • Review of essential mathematical foundations.
  • Defining a neuron network: Classical architectures, activation functions, and weighting of prior activations.
  • Understanding network depth.
  • Defining network learning: Cost functions, back-propagation, Stochastic Gradient Descent, and maximum likelihood.
  • Modelling neural networks: Configuring input and output data based on problem types (regression, classification, etc.) and addressing the curse of dimensionality.
  • Differentiating between multi-feature data and signals, and selecting appropriate cost functions accordingly.
  • Function approximation by neural networks: Theory and practical examples.
  • Distribution approximation by neural networks: Theory and practical examples.
  • Data Augmentation: Strategies for balancing datasets.
  • Generalizing the results of neural networks.
  • Initialisation and regularisation of neural networks: L1/L2 regularisation and Batch Normalisation.
  • Optimization and convergence algorithms.

Standard ML/DL Tools

A concise overview of these tools, highlighting their advantages, limitations, ecosystem positioning, and practical 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: Core principles and applications.
  • Fundamental operations of a CNN: Convolutional layers, kernel usage, padding, stride, feature map generation, and pooling layers.
  • Extensions across 1D, 2D, and 3D dimensions.
  • Overview of prominent CNN architectures that set new standards in classification.
  • Image processing examples: LeNet, VGG Networks, Network in Network, Inception, and ResNet, including the innovations introduced by each and their broader applications (e.g., 1x1 convolutions or residual connections).
  • Utilising 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: Core principles and applications.
  • Basic RNN operations: Hidden activations, back-propagation through time, and unfolded versions.
  • Evolution towards Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM) networks.
  • Understanding the distinct states and advancements brought by these architectures.
  • Addressing convergence and vanishing gradient issues.
  • Classical architectures: Time-series prediction and classification.
  • RNN Encoder-Decoder architectures and the integration 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 modelling, distribution approximation, definition and use of latent space, reparameterisation trick, along with observed applications and limitations.
  • Generative Adversarial Networks: Core fundamentals.
  • Dual network architecture (Generator and Discriminator) involving alternating learning and available cost functions.
  • GAN convergence and common challenges.
  • Improved convergence techniques: Wasserstein GAN, Began, and Earth Moving Distance.
  • Applications in image/photo generation, text generation, and super-resolution.

Deep Reinforcement Learning.

  • Introduction to reinforcement learning: Controlling an agent within a defined environment.
  • Understanding states and possible actions.
  • Using neural networks to approximate state functions.
  • Deep Q Learning: Experience replay and its application to video game control.
  • Policy optimization: On-policy vs off-policy approaches, Actor-Critic architecture, and A3C.
  • Applications: Controlling single video games or digital systems.

Part 2 – Theano for Deep Learning

Theano Fundamentals

  • Introduction.
  • Installation and configuration.

Theano Functions

  • Managing inputs, outputs, updates, and givens.

Training and Optimising Neural Networks with Theano

  • Modelling Neural Networks.
  • Logistic Regression.
  • Implementing Hidden Layers.
  • Training the network.
  • Computing and Classification.
  • Optimization.
  • Log Loss.

Model Testing

Part 3 – DNN using TensorFlow

TensorFlow Fundamentals

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

TensorFlow Mechanics

  • Data preparation.
  • Downloading datasets.
  • Defining inputs and placeholders.
  • Constructing Graphs:
    • Inference.
    • Loss.
    • Training.
  • Training the Model:
    • The Graph.
    • The Session.
    • Training Loop.
  • Evaluating the Model:
    • Building the Eval Graph.
    • Eval 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

  • Non-linear decision boundaries.
  • Feedforward and feedback artificial neural networks.
  • Multilayer perceptrons.
  • Minimising the cost function.
  • Forward propagation.
  • Back-propagation.
  • Enhancing neural network learning methods.

Convolutional Neural Networks

  • Objectives.
  • Model architecture.
  • Underlying principles.
  • Code organisation.
  • Launching and training the model.
  • Model evaluation.

Brief introductions to the following modules (provided based on time availability):

TensorFlow - Advanced Usage

  • Threading and Queues.
  • Distributed TensorFlow.
  • Writing documentation and sharing models.
  • Customising 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. Prior experience with image processing activities is beneficial.

Learners are expected to have a preliminary understanding of machine learning concepts, along with hands-on experience in Python programming and relevant libraries.

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories