Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- The history, core concepts, and standard applications of artificial intelligence, moving beyond common misconceptions
- Collective Intelligence: Aggregating knowledge shared among multiple virtual agents
- Genetic Algorithms: Evolving populations of virtual agents through selection processes
- Learning Machines: Key definitions and classifications
- Task Categories: Supervised learning, unsupervised learning, and reinforcement learning
- Action Types: Classification, regression, clustering, density estimation, and dimensionality reduction
- Machine Learning Algorithm Examples: Linear regression, Naive Bayes, and Random Forests
- Machine Learning vs. Deep Learning: Identifying problems where Machine Learning remains the state-of-the-art (e.g., Random Forests & XGBoosts)
Fundamentals of Neural Networks (Application: Multi-layer Perceptron)
- Refresher on essential mathematical foundations
- Defining neural networks: Classical architectures and activation functions
- Weighting of previous activations and network depth
- Defining the learning process: 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 the Curse of Dimensionality
- Distinguishing between multi-feature data and signals; selecting appropriate cost functions based on data characteristics
- Function approximation by neural networks: Theory and examples
- Distribution approximation by neural networks: Theory and examples
- Data Augmentation: Strategies 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
A brief overview is provided, highlighting the advantages, disadvantages, ecosystem positioning, and usage of key tools.
- Data management tools: Apache Spark, Apache Hadoop
- Machine Learning libraries: NumPy, SciPy, Scikit-learn
- High-level DL frameworks: PyTorch, Keras, Lasagne
- Low-level DL frameworks: Theano, Torch, Caffe, TensorFlow
Convolutional Neural Networks (CNN)
- Introduction to CNNs: Fundamental principles and applications
- Core operations: Convolutional layers, kernel usage
- Padding, stride, feature map generation, pooling layers; extensions to 1D, 2D, and 3D
- Overview of prominent CNN architectures that have achieved state-of-the-art performance in classification
- Image architectures: LeNet, VGG Networks, Network in Network, Inception, ResNet; examining innovations and broader applications (e.g., 1x1 convolutions, residual connections)
- Implementing attention models
- Practical 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
- Core operations: Hidden activations, back-propagation through time, and the unfolded version
- Evolution to Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM) networks
- Analysis of different states and architectural evolutions
- Addressing convergence and vanishing gradient issues
- Classic architectures: Time-series prediction and classification
- RNN Encoder-Decoder architectures and the use of attention models
- NLP applications: Word/character encoding and translation
- Video applications: Predicting subsequent frames in video sequences
Generative Models: Variational Autoencoder (VAE) and Generative Adversarial Networks (GAN)
- Overview of generative models and their relationship with CNNs
- Auto-encoders: Dimensionality reduction and limited generation capabilities
- Variational Auto-encoders: Generative models, distribution approximation, latent space definition, reparameterization trick, 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 challenges
- Enhanced convergence methods: Wasserstein GAN, Began, and Earth Mover’s Distance
- Applications: Image/photograph generation, text generation, and super-resolution
Deep Reinforcement Learning
- Introduction to reinforcement learning: Agent control within a defined environment
- Managing states and possible actions
- Using neural networks to approximate state functions
- Deep Q-Learning: Experience replay and application to video game control
- Policy optimization: On-policy and off-policy methods, Actor-Critic architecture, and A3C
- Applications: Controlling video games or digital systems
Part 2 – Theano for Deep Learning
Theano Basics
- Introduction
- Installation and Configuration
Theano Functions
- Handling inputs, outputs, updates, and givens
Training and Optimization of Neural Networks using Theano
- Neural Network Modeling
- Logistic Regression
- Hidden Layers
- Network Training
- Computing 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 for large-scale model training
- 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
- Perceptron learning algorithm
- Binary classification using the perceptron
- Document classification using the perceptron
- Limitations of the perceptron
From 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
- Strategies to improve neural network learning
Convolutional Neural Networks
- Objectives
- Model Architecture
- Core Principles
- Code Organization
- Launching and training the model
- Evaluating the model
Brief Introductions to the Following Modules (Coverage depends 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
Candidates should possess a background in physics, mathematics, and programming, with specific experience in image processing activities.
Participants are expected to have a prior understanding of machine learning concepts and hands-on 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