Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- Historical context, core concepts, and standard applications of artificial intelligence, moving beyond common misconceptions.
- Collective Intelligence: aggregating knowledge shared across multiple virtual agents.
- Genetic algorithms: evolving a population of virtual agents through selection mechanisms.
- Standard Learning Machine: formal definition.
- 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 Trees.
- Machine Learning vs. Deep Learning: identifying problems where Machine Learning (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 neural network: classical architecture, activation functions,
- weighting of previous activations, and network depth.
- Defining network learning: cost functions, back-propagation, Stochastic gradient descent, and maximum likelihood.
- Neural network modeling: structuring input and output data based on the problem type (regression, classification, etc.). The curse of dimensionality.
- Distinguishing between multi-feature data and signals. Selecting an appropriate cost function based on data characteristics.
- Function approximation by neural networks: overview and examples.
- Distribution approximation by neural networks: overview and examples.
- Data Augmentation: techniques 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 brief overview covering the advantages, disadvantages, ecosystem positioning, and usage of key tools is included.
- Data management tools: Apache Spark and Apache Hadoop.
- Machine Learning: 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 and kernel usage.
- Padding and stride, feature map generation, and pooling layers. Extensions to 1D, 2D, and 3D.
- Review of various CNN architectures that have advanced the state of the art in classification.
- Image architectures: LeNet, VGG Networks, Network in Network, Inception, and ResNet. Discussion of innovations introduced by each and their broader applications (e.g., 1x1 convolution or residual connections).
- Implementation of attention models.
- Application to common classification tasks (text or image).
- Generative CNNs: super-resolution and pixel-to-pixel segmentation.
- Key strategies for enhancing feature maps in image generation.
Recurrent Neural Networks (RNN).
- Overview of RNNs: fundamental principles and applications.
- Basic RNN operations: hidden activation, back-propagation through time, and unfolded versions.
- Evolution into Gated Recurrent Units (GRUs) and LSTM (Long Short-Term Memory).
- Discussion of different states and the advancements brought by these architectures.
- Convergence challenges and the vanishing gradient problem.
- Classical architectures: time series prediction and classification.
- RNN Encoder-Decoder architectures and the use of attention models.
- NLP applications: word and character encoding, 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 modeling and distribution approximation. Defining and utilizing latent space. The reparameterization trick. Observed applications and limitations.
- Generative Adversarial Networks: core fundamentals.
- Dual Network Architecture (Generator and Discriminator) with alternating learning and available cost functions.
- GAN convergence and common difficulties encountered.
- Improved convergence techniques: Wasserstein GAN, BigGAN, and Earth Mover's Distance.
- Applications in image/photograph generation, text generation, and super-resolution.
Deep Reinforcement Learning.
- Introduction to reinforcement learning: controlling an agent within a defined environment.
- Based on states and possible actions.
- Using neural networks to approximate the state function.
- Deep Q-Learning: experience replay and application to video game control.
- Policy optimization: On-policy and Off-policy methods. Actor-Critic architecture. A3C.
- Applications: controlling single video games or digital systems.
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.
- Utilizing TensorFlow infrastructure to train models at scale.
- Visualizing and evaluating models with TensorBoard.
TensorFlow Mechanics
- Data Preparation.
- Downloading.
- Inputs and Placeholders.
-
Building the 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 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 processes.
Convolutional Neural Networks
- Objectives.
- Model Architecture.
- Core Principles.
- Code Organization.
- Launching and Training the Model.
- Evaluating a Model.
Brief introductions to the following modules will be provided, subject to 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 prior involvement in image processing activities.
Delegates are expected to have a foundational understanding of machine learning concepts and experience with Python programming and its associated libraries.
Testimonials (2)
Getting people that never used AI some repetition in prompting and people that do use AI to consider different methods to using it.
Matthew Gay - Tarsus Pharmaceuticals
Course - Artificial Intelligence (AI) Overview
The training was organized and well-planned out, and I come out of it with systematized knowledge and a good look at topics we looked at