Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- The history, core concepts, and practical applications of artificial intelligence, moving beyond the fantastical often associated with the field
- Collective Intelligence: aggregating knowledge shared by numerous virtual agents
- Genetic algorithms: evolving a population of virtual agents through selection
- Definition of a standard learning machine
- 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 Tree
- Machine learning versus Deep Learning: identifying problems where traditional Machine Learning remains the state of the art (e.g., Random Forests & XGBoosts)
Basic Concepts of a Neural Network (Application: multi-layer perceptron)
- Review of mathematical foundations.
- Definition of a neural network: classical architecture, activation functions
- Weighting of previous activations and network depth
- Learning in neural networks: cost functions, back-propagation, stochastic gradient descent, and maximum likelihood
- Modeling neural networks: adapting input and output data to the problem type (regression, classification, etc.). The curse of dimensionality.
- Distinction between multi-feature data and signals. Selecting appropriate cost functions based on the data.
- Approximating functions with neural networks: presentations and examples
- Approximating distributions with neural networks: presentations and examples
- Data Augmentation: techniques for balancing a dataset
- Generalizing the results of a neural network.
- Initializing and regularizing a neural network: L1 / L2 regularization, Batch Normalization
- Optimization and convergence algorithms
Standard ML / DL Tools
A concise overview will cover the advantages, disadvantages, ecosystem positioning, and usage of these tools.
- Data management tools: Apache Spark, Apache Hadoop Tools
- Machine Learning: 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, kernel usage,
- Padding & stride, feature map generation, and pooling layers. Extensions to 1D, 2D, and 3D.
- Overview of CNN architectures that have advanced the state of the art in classification
- Images: LeNet, VGG Networks, Network in Network, Inception, Resnet. Innovations introduced by each architecture and their broader applications (e.g., 1x1 convolution or residual connections)
- Utilizing attention models.
- Application to common classification tasks (text or image)
- CNNs for generation: super-resolution and pixel-to-pixel segmentation. Overview of
- Key strategies for enhancing feature maps in image generation.
Recurrent Neural Networks (RNN).
- Overview of RNNs: fundamental principles and applications.
- Basic RNN operations: hidden activations, back-propagation through time, and the unfolded version.
- Evolution towards Gated Recurrent Units (GRUs) and LSTM (Long Short Term Memory).
- Discussion of different states and the advancements brought by these architectures
- Convergence and vanishing gradient problems
- Classical architectures: time series prediction, classification ...
- RNN Encoder-Decoder architecture. Utilization of attention models.
- NLP applications: word / character encoding and translation.
- Video Applications: predicting the next generated image in a video sequence.
Generational models: Variational AutoEncoder (VAE) and Generative Adversarial Networks (GAN).
- Overview of generative models and their link to CNNs
- Auto-encoders: dimensionality reduction and limited generation
- Variational Auto-encoders: generative models and distribution approximation. Definition and use of latent space. The reparameterization trick. Observed applications and limitations
- Generative Adversarial Networks: Fundamentals.
- Dual Network Architecture (Generator and discriminator) with alternate learning and available cost functions.
- GAN convergence and associated challenges.
- Improved 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 in a defined environment
- Based on a state and possible actions
- Using a neural network to approximate the state function
- Deep Q Learning: experience replay and application to video game control.
- Policy learning optimization. On-policy & off-policy. Actor-critic architecture. A3C.
- Applications: controlling a single video game or a digital system.
Part 2 – Theano for Deep Learning
Theano Basics
- Introduction
- Installation and Configuration
TheanoFunctions
- inputs, outputs, updates, 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 to train models at scale
- Visualizing and evaluating models with TensorBoard
TensorFlow Mechanics
- Preparing the Data
- Downloading
- Inputs and Placeholders
-
Building the Graphs
- Inference
- Loss
- Training
-
Training the Model
- The Graph
- The Session
- Train Loop
-
Evaluating the Model
- Building the Eval Graph
- Eval 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
- Enhancing neural network learning techniques
Convolutional Neural Networks
- Goals
- Model Architecture
- Principles
- Code Organization
- Launching and Training the Model
- Evaluating a Model
Brief introductions to the following modules (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
A background in physics, mathematics, and programming is required. Experience with image processing activities is beneficial.
Delegates should have prior familiarity with machine learning concepts and hands-on experience with Python programming and its 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