Course Outline
Part 1 – Deep Learning and DNN Concepts
Introduction to AI, Machine Learning & Deep Learning
- The history, core concepts, and common applications of artificial intelligence, moving beyond theoretical abstractions.
- Collective Intelligence: aggregating knowledge shared among numerous virtual agents.
- Genetic algorithms: evolving populations of virtual agents through selection processes.
- Standard Machine Learning: defining key concepts.
- Task categories: 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 current state of the art (e.g., Random Forests & XGBoosts).
Basic Concepts of a Neural Network (Application: multi-layer perceptron)
- Review of essential mathematical foundations.
- Definition of a neural network: classical architecture, activation functions, and input weighting.
- The concept of network depth.
- Defining network learning: cost functions, back-propagation, Stochastic gradient descent, and maximum likelihood.
- Modeling neural networks: adapting input and output data structures to problem types (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 using neural networks: theoretical presentation and case examples.
- Distribution approximation using neural networks: theoretical presentation and case examples.
- Data Augmentation: techniques for balancing datasets.
- Generalizing the results obtained from 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 tools, highlighting their advantages, disadvantages, position in the ecosystem, and usage.
- Data management tools: Apache Spark, Apache Hadoop Tools.
- 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).
- Overview of CNNs: fundamental principles and primary applications.
- Core CNN operations: convolutional layers and the use of kernels.
- Padding and stride, feature map generation, and pooling layers. Extensions to 1D, 2D, and 3D contexts.
- Examination of various CNN architectures that have achieved the state of the art in classification tasks.
- 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 convolutions or residual connections).
- Application of attention models.
- Practical application to standard classification cases (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).
- Overview of RNNs: fundamental principles and typical applications.
- Basic RNN mechanics: hidden state activation, back propagation through time, and the unfolded network representation.
- Evolution towards Gated Recurrent Units (GRUs) and LSTM (Long Short-Term Memory).
- Analysis of various states and the improvements brought by these advanced architectures.
- Addressing convergence issues and the vanishing gradient problem.
- Classic architectures: Time series prediction, classification, and other sequential tasks.
- RNN Encoder-Decoder architectures and the integration of attention models.
- NLP applications: word/character encoding and machine 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 scope generation.
- Variational Auto-encoders: as a generative model approximating data distribution. Definition and utilization of latent space, the reparameterization trick, and observed applications and limitations.
- Generative Adversarial Networks: core fundamentals.
- Dual Network Architecture (Generator and Discriminator) with alternating learning strategies and available cost functions.
- GAN convergence and common challenges encountered.
- Enhanced convergence techniques: Wasserstein GAN, BEGAN, and Earth Moving Distance.
- Applications in image and photograph generation, text creation, and super-resolution.
Deep Reinforcement Learning.
- Introduction to reinforcement learning: controlling an agent within a defined environment.
- Defining states and possible actions.
- Utilizing neural networks to approximate the state function.
- Deep Q Learning: experience replay and its application to video game control.
- Policy optimization: on-policy vs. 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
- Handling inputs, outputs, updates, and givens.
Training and Optimizing Neural Networks with Theano
- Neural Network Modeling.
- Logistic Regression.
- Implementing Hidden Layers.
- Training the network.
- Computing predictions and Classification.
- Optimization techniques.
- Log Loss calculation.
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 to train models at scale.
- Visualizing and evaluating models using TensorBoard.
TensorFlow Mechanics
- Data Preparation.
- Downloading data.
- Managing Inputs and Placeholders.
-
Building Graphs.
- Inference.
- Loss calculation.
- Training process.
-
Training the Model.
- The Graph structure.
- The Session context.
- The Train Loop.
-
Evaluating the Model.
- Building the Eval Graph.
- Interpreting Eval Output.
The Perceptron
- Activation functions.
- The perceptron learning algorithm.
- Binary classification using the perceptron.
- Document classification with the perceptron.
- Limitations of the perceptron model.
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.
- Strategies to improve neural network learning.
Convolutional Neural Networks
- Objectives.
- Model Architecture.
- Core Principles.
- Code Organization.
- Launching and Training the Model.
- Evaluating a 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, with specific experience in image processing activities.
Learners 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