Course Outline
Part 1 – Concepts of Deep Learning and DNNs
Introduction to AI, Machine Learning & Deep Learning
- History, core concepts, and standard applications of artificial intelligence, moving beyond the field's common misconceptions
- Collective Intelligence: aggregating knowledge shared among multiple virtual agents
- Genetic algorithms: evolving a population of virtual agents through selection processes
- Definition of traditional Learning Machines
- Types 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 Machine Learning remains the current state of the art (e.g., Random Forests & XGBoost)
Foundational Concepts of Neural Networks (Application: multi-layer perceptron)
- Review of mathematical fundamentals
- Defining a neural network: classical architecture, activation functions, and
- Weighting of preceding activations and network depth
- Defining neural network learning: 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.) and addressing the curse of dimensionality
- Distinguishing between multi-feature data and signals; selecting an appropriate cost function based on the data
- 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 of their advantages, disadvantages, ecosystem position, and typical use cases is included.
- Data management tools: Apache Spark and Apache Hadoop
- 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).
- Overview of CNNs: fundamental principles and applications
- Basic CNN operations: convolutional layers and kernel usage
- Padding & stride, feature map generation, and pooling layers. Extensions to 1D, 2D, and 3D
- Overview of various CNN architectures that have established the state of the art in classification
- Image processing: LeNet, VGG Networks, Network in Network, Inception, and Resnet. Analysis of innovations introduced by each architecture and their broader applications (e.g., 1x1 convolution or residual connections)
- Utilizing attention models
- Application to standard classification cases (text or image)
- CNNs for generation: super-resolution and pixel-to-pixel segmentation. Overview of
- Key strategies for enhancing feature maps for image generation
Recurrent Neural Networks (RNN).
- Overview of RNNs: fundamental principles and applications
- Basic RNN operations: hidden activation, back propagation through time, and the Unfolded version
- Progression towards Gated Recurrent Units (GRUs) and LSTM (Long Short Term Memory)
- Overview of various states and the advancements provided by these architectures
- Convergence and vanishing gradient issues
- Classical architectures: time-series prediction, classification, and more
- RNN Encoder-Decoder architecture. Application 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
- Variational Auto-encoders: generative modeling and distribution approximation. Defining and utilizing latent space. The Reparameterization trick. Observed applications and limitations
- Generative Adversarial Networks: Fundamentals
- Dual Network Architecture (Generator and discriminator) with alternating learning and available cost functions
- GAN convergence and associated challenges
- Improved convergence techniques: Wasserstein GAN, Began, and Earth Moving Distance
- Applications in image or photo 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 state functions
- Deep Q Learning: experience replay and application to video game control
- Optimizing learning policies. On-policy && off-policy. Actor-critic architecture. A3C
- Applications: controlling a single video game or digital system
Part 2 – Theano for Deep Learning
Theano Basics
- Introduction
- Installation and Configuration
Theano Functions
- Inputs, outputs, updates, and givens
Training and Optimizing Neural Networks with Theano
- Neural Network Modeling
- Logistic Regression
- Hidden Layers
- Network Training
- Computation and Classification
- Optimization
- Log Loss
Model Testing
Part 3 – DNNs 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
- Data Preparation
- Downloading
- Inputs and Placeholders
-
Graph Construction
- Inference
- Loss
- Training
-
Model Training
- The Graph
- The Session
- Training Loop
-
Model Evaluation
- 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
- Nonlinear decision boundaries
- Feedforward and feedback artificial neural networks
- Multilayer perceptrons
- Minimizing the cost function
- Forward propagation
- Back propagation
- Enhancing neural network learning methods
Convolutional Neural Networks
- Objectives
- Model Architecture
- Principles
- Code Organization
- Launching and Training the Model
- Evaluating a Model
Basic Introductions to the following modules (Brief introduction 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
A background in physics, mathematics, and programming is required. Experience with image processing activities is also expected.
Participants should have a prior grasp of machine learning concepts and experience working 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