Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- The history, basic concepts, and common applications of artificial intelligence, moving beyond the often-fanciful portrayals of the field.
- Collective Intelligence: aggregating knowledge shared by numerous virtual agents.
- Genetic algorithms: evolving a population of virtual agents through selection.
- Definition of standard Machine Learning.
- 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 Forest.
- Machine Learning vs. Deep Learning: identifying problems where 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 mathematical foundations.
- Definition of a neural network: classical architecture, activation functions, and the weighting of previous activations.
- Network depth and its implications.
- Defining network learning: cost functions, back-propagation, Stochastic gradient descent, and maximum likelihood.
- Modeling neural networks: structuring input and output data based on the problem type (regression, classification, etc.), and addressing the curse of dimensionality.
- Distinguishing between multi-feature data and signals; selecting an appropriate cost function for the data.
- Function approximation by neural networks: theory and examples.
- Distribution approximation by neural networks: theory and examples.
- Data Augmentation: strategies for balancing datasets.
- Generalizing the results of a neural network.
- Initializing and regularizing neural networks: L1 / L2 regularization and Batch Normalization.
- Optimization and convergence algorithms.
Standard ML / DL Tools
This section provides an overview of key tools, highlighting their advantages, disadvantages, position in the ecosystem, and typical use cases.
- Data management tools: Apache Spark and Apache Hadoop.
- Machine Learning libraries: Numpy, Scipy, and Sci-kit.
- 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: 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 driven the state-of-the-art in classification.
- Image processing architectures: LeNet, VGG Networks, Network in Network, Inception, and ResNet. Discussion of the innovations introduced by each and their broader applications (e.g., 1x1 convolutions or residual connections).
- Application of 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: fundamental principles and applications.
- Basic RNN operations: hidden activations, backpropagation through time, and the unfolded version.
- Evolution into Gated Recurrent Units (GRU) and LSTM (Long Short-Term Memory).
- Overview of different states and the advancements provided by these architectures.
- Convergence issues and the vanishing gradient problem.
- Classical architectures: time series prediction, classification, and more.
- RNN Encoder-Decoder architectures and the use 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 models and distribution approximation. Definition and use of latent space, the reparameterization trick, and observed applications and limitations.
- Generative Adversarial Networks: fundamentals.
- Dual network architecture (Generator and Discriminator) with alternating learning and available cost functions.
- GAN convergence and common difficulties.
- Improved convergence techniques: Wasserstein GAN and BEGAN. Earth Mover’s Distance.
- Applications in image and photograph generation, text generation, and super-resolution.
Deep Reinforcement Learning
- Introduction to reinforcement learning: controlling an agent within a defined environment.
- Managing states and possible actions.
- Utilizing neural networks to approximate the state function.
- Deep Q-Learning: experience replay and its application to controlling video games.
- Policy optimization: on-policy & off-policy methods, Actor-Critic architecture, and 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 Optimizing Neural Networks with Theano
- Modeling Neural Networks
- Logistic Regression
- Hidden Layers
- Training a Network
- Computation and Classification
- Optimization
- Log Loss
Model Testing
Part 3 – DNN using TensorFlow
TensorFlow Basics
- Creating, initializing, saving, and restoring TensorFlow variables.
- Feeding, reading, and preloading data in TensorFlow.
- Leveraging TensorFlow infrastructure to train models at scale.
- Visualizing and evaluating models with TensorBoard.
TensorFlow Mechanics
- Data Preparation
- Downloading
- Inputs and Placeholders
-
Building the Graph
- 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 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
- Improving neural network learning processes
Convolutional Neural Networks
- Objectives
- Model Architecture
- Principles
- Code Organization
- Launching and Training the Model
- Evaluating a Model
Brief introductions to the following modules (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, along with prior involvement in image processing activities.
Participants should have a prior understanding of machine learning concepts and experience working 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