Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning, and Deep Learning
- The history, core concepts, and typical applications of artificial intelligence, distinguishing reality from fiction in the field.
- Collective Intelligence: the aggregation of knowledge shared among multiple virtual agents.
- Genetic algorithms: evolving populations of virtual agents through selection processes.
- Definition of standard Machine Learning paradigms.
- 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 ML methods like Random Forests and XGBoost remain state-of-the-art.
Basic Concepts of Neural Networks (Application: Multi-layer Perceptron)
- Review of mathematical foundations.
- Defining neural networks: classical architectures and activation mechanisms.
- Weighting of previous activations and determining 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 (e.g., regression, classification) and addressing the curse of dimensionality.
- Distinguishing between multi-feature data and signals, and selecting appropriate cost functions.
- Approximating functions using neural networks: presentations and case studies.
- Approximating distributions using neural networks: presentations and case studies.
- 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
This section provides an overview of key tools, highlighting their advantages, disadvantages, ecosystem positioning, 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).
- Overview of CNNs: core principles and practical applications.
- Basic CNN operations: convolutional layers and the use of kernels.
- Padding and stride, feature map generation, and pooling layers. Extensions to 1D, 2D, and 3D.
- Review of CNN architectures that have set the benchmark for classification performance.
- Image processing architectures: LeNet, VGG Networks, Network in Network, Inception, and ResNet, including their innovations and broader applications (e.g., 1x1 convolutions, residual connections).
- Implementation of attention models.
- Applying CNNs to common classification tasks (text or image).
- CNNs for generative tasks: super-resolution and pixel-to-pixel segmentation.
- Key strategies for enhancing feature maps in image generation.
Recurrent Neural Networks (RNN).
- Overview of RNNs: fundamental principles and applications.
- Basic RNN operations: hidden activations, back-propagation through time, and unfolded representations.
- Evolution towards Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM) networks.
- Analysis of different states and architectural improvements introduced by these models.
- Addressing convergence and vanishing gradient issues.
- Classical architectures: time series prediction, classification, and other tasks.
- RNN Encoder-Decoder architectures and the 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 capabilities.
- Variational Auto-encoders: generative modeling and distribution approximation. Definition and use of latent spaces, reparameterization trick, and observed limitations.
- Generative Adversarial Networks: fundamental concepts.
- Dual network architecture (Generator and Discriminator) with alternating learning and available cost functions.
- Convergence challenges in GANs and common difficulties encountered.
- Improved convergence techniques: Wasserstein GAN, Began, and Earth Mover’s Distance.
- Applications in image/photograph generation, text generation, and super-resolution.
Deep Reinforcement Learning.
- Introduction to reinforcement learning: controlling an agent within a defined environment.
- Environment states and possible actions.
- Utilizing 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 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 Optimizing Neural Networks using Theano
- Modeling Neural Networks
- Logistic Regression
- Hidden Layers
- Network Training
- 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 TensorFlow data.
- Leveraging TensorFlow infrastructure for large-scale model training.
- Visualizing and evaluating models with TensorBoard.
TensorFlow Mechanics
- Data Preparation
- Downloading Data
- 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
- 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 efficiency
Convolutional Neural Networks
- Objectives
- Model Architecture
- Principles
- Code Organization
- Launching and Training the Model
- Evaluating the Model
Brief introductions to the following modules will be provided, subject to 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, along with prior involvement in image processing tasks.
Attendees are expected to possess a fundamental understanding of machine learning concepts and have 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