Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- History, core concepts, and common applications of artificial intelligence, moving beyond the fantasy often associated with the field
- Collective Intelligence: aggregating knowledge shared among many virtual agents
- Genetic algorithms: evolving populations of virtual agents through selection processes
- Definition of a 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 Forests
- Machine Learning vs. Deep Learning: identifying problems where 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
- Defining network learning: cost functions, back-propagation, Stochastic gradient descent, and maximum likelihood
- Modeling neural networks: structuring input and output data based on problem type (regression, classification, etc.), and addressing 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: techniques for balancing datasets
- Generalization of neural network results
- Initialization and regularization of neural networks: L1/L2 regularization and Batch Normalization
- Optimization and convergence algorithms
Standard ML/DL Tools
A concise overview highlighting the advantages, disadvantages, ecosystem positioning, and use cases of key tools.
- Data management tools: Apache Spark, Apache Hadoop
- Machine Learning libraries: NumPy, SciPy, Sci-kit
- High-level Deep Learning frameworks: PyTorch, Keras, Lasagne
- Low-level Deep Learning frameworks: Theano, Torch, Caffe, TensorFlow
Convolutional Neural Networks (CNN)
- Overview of CNNs: fundamental principles and applications
- Core CNN operations: convolutional layers, kernel usage,
- Padding & stride, feature map generation, pooling layers; 1D, 2D, and 3D extensions
- Overview of CNN architectures that have set new benchmarks in classification
- Image classification: LeNet, VGG Networks, Network in Network, Inception, ResNet. Discussion of innovations introduced by each architecture and their broader applications (e.g., 1x1 convolutions or residual connections)
- Implementation of attention models
- Application to standard classification tasks (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
- Core RNN operations: hidden state activation, back propagation through time, and unfolded versions
- Evolution towards Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM)
- Overview of various states and architectural evolutions
- Addressing convergence and vanishing gradient problems
- Classical architectures: time series prediction, classification
- RNN Encoder-Decoder architectures; utilization 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)
- Overview of generative models and their relationship with CNNs
- Autoencoders: dimensionality reduction and limited generation capabilities
- Variational Autoencoders: generative modeling 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 training and available cost functions
- GAN convergence and common difficulties
- Improved convergence techniques: Wasserstein GAN, BEGAN, and Earth Mover's Distance
- Applications: image/photograph generation, text generation, and super-resolution
Deep Reinforcement Learning
- Overview of reinforcement learning: agent control within a defined environment
- Interaction based on states and possible actions
- Utilizing neural networks to approximate state-value functions
- Deep Q-Learning: experience replay and application to video game control
- Policy optimization: on-policy vs. off-policy methods; Actor-Critic architecture; A3C
- Applications: controlling single video games or digital systems
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
- Network Training
- 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 for large-scale model training
- Visualizing and evaluating models with TensorBoard
TensorFlow Mechanics
- Data Preparation
- Data Downloading
- Inputs and Placeholders
-
Building 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 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
- Strategies for improving neural network learning
Convolutional Neural Networks
- Objectives
- Model Architecture
- Core Principles
- Code Organization
- Launching and Training the Model
- Model Evaluation
Brief Introductions to the following modules (content provided based on available time):
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, along with prior experience in image processing activities.
Participants are expected to have a prior understanding of machine learning concepts and practical 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