Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- The history, fundamental concepts, and common applications of artificial intelligence, moving beyond common misconceptions in the field
- Collective Intelligence: the aggregation of knowledge shared by numerous virtual agents
- Genetic algorithms: evolving a population of virtual agents through selection processes
- Standard Machine Learning: definition and core principles.
- 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 traditional machine learning (e.g., Random Forests & XGBoost) remains the state of the art
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
- Definition of network learning: cost functions, back-propagation, Stochastic gradient descent, and maximum likelihood.
- Modeling neural networks: handling input and output data based on problem type (regression, classification, etc.), and addressing the curse of dimensionality.
- Distinguishing between multi-feature data and signals, and selecting appropriate cost functions.
- Function approximation using neural networks: overview and examples
- Distribution approximation using neural networks: overview and examples
- Data Augmentation: techniques for balancing datasets
- Generalizing results from neural networks.
- Initialization and regularization of neural networks: L1 / L2 regularization, and Batch Normalization
- Optimization and convergence algorithms
Standard ML / DL Tools
This section provides a concise overview of key tools, highlighting their advantages, disadvantages, ecosystem positioning, and typical use cases.
- Data management tools: Apache Spark, and Apache Hadoop Tools
- Machine Learning: Numpy, Scipy, and Sci-kit
- High-level DL frameworks: PyTorch, Keras, and Lasagne
- Low-level DL frameworks: Theano, Torch, Caffe, and TensorFlow
Convolutional Neural Networks (CNN).
- Introduction to CNNs: fundamental principles and applications
- Basic CNN operations: convolutional layers, kernel usage,
- Padding & stride, feature map generation, pooling layers, and 1D, 2D, and 3D extensions.
- Overview of various CNN architectures that established the state of the art in classification
- Image models: LeNet, VGG Networks, Network in Network, Inception, and ResNet. Discussion of innovations introduced by each architecture and their broader applications (e.g., 1x1 convolutions or residual connections)
- Utilizing attention models.
- Application to standard 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: fundamental principles and applications.
- Basic RNN operations: hidden activations, back propagation through time, and unfolded versions.
- Evolution toward Gated Recurrent Units (GRUs) and LSTM (Long Short Term Memory).
- Overview of different states and advancements brought by these architectures
- Issues with convergence and vanishing gradients
- Classical architectures: time series prediction, classification, and more...
- RNN Encoder-Decoder architecture. Use of attention models.
- NLP applications: word / character encoding, and translation.
- Video Applications: predicting the next image in a video sequence.
Generative Models: Variational AutoEncoder (VAE) and Generative Adversarial Networks (GAN).
- Introduction to generative models and their connection 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, applications, and observed limitations
- Generative Adversarial Networks: Fundamentals.
- Dual Network Architecture (Generator and Discriminator) with alternating learning and available cost functions.
- GAN convergence and common challenges.
- Improved convergence techniques: Wasserstein GAN, Began, and Earth Mover’s Distance.
- Applications in image/photo generation, text generation, and super-resolution.
Deep Reinforcement Learning.
- Introduction to reinforcement learning: controlling an agent in a defined environment
- Based on state and possible actions
- Using neural networks to approximate state functions
- Deep Q Learning: experience replay, and application to video game control.
- Optimization of learning policies. On-policy && off-policy methods. 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
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
- Creation, initialization, 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
- Data Preparation
- Downloading Data
- 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 neural network learning methods
Convolutional Neural Networks
- Objectives
- Model Architecture
- Principles
- Code Organization
- Launching and Training the Model
- Evaluating a Model
Brief introductions to the following modules (content provided based on time availability):
TensorFlow - Advanced Usage
- Threading and Queues
- Distributed TensorFlow
- Writing Documentation and Sharing Models
- Customizing Data Readers
- Manipulating TensorFlow Model Files
TensorFlow Serving
- Introduction
- Basic Serving Tutorial
- Advanced Serving Tutorial
- Serving Inception Model Tutorial
Requirements
Participants should have a background in physics, mathematics, and programming, with specific experience in image processing activities.
A prior understanding of machine learning concepts is required, along with practical experience in 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