Course Outline
Part 1 – Concepts of Deep Learning and DNNs
Overview of AI, Machine Learning, and Deep Learning
- Historical context, fundamental concepts, and standard applications of artificial intelligence, moving beyond mere theoretical fantasies
- Collective Intelligence: the aggregation of knowledge shared among numerous virtual agents
- Genetic algorithms: evolving a population of virtual agents through selection processes
- Definition of a standard learning machine
- 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 Tree
- Machine Learning versus Deep Learning: identifying problems where machine learning remains the state of the art (e.g., Random Forests & XGBoosts)
Foundational Neural Network Concepts (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
- Neural network modeling: adapting input and output data modeling to problem types (regression, classification, etc.), including the curse of dimensionality
- Distinguishing between multi-feature data and signals; selecting appropriate cost functions based on data characteristics
- Function approximation via neural networks: theory and examples
- Distribution approximation via neural networks: theory and examples
- Data Augmentation: techniques for balancing datasets
- Generalizing neural network results
- Initialization and regularization of neural networks: L1/L2 regularization and Batch Normalization
- Optimization and convergence algorithms
Standard ML/DL Toolkits
A brief overview is provided, highlighting the advantages, disadvantages, ecosystem positioning, and usage of various tools.
- Data management: Apache Spark and Apache Hadoop tools
- Machine Learning libraries: Numpy, Scipy, and Scikit
- High-level DL frameworks: PyTorch, Keras, and Lasagne
- Low-level DL frameworks: Theano, Torch, Caffe, and TensorFlow
Convolutional Neural Networks (CNNs)
- Introduction to CNNs: core principles and applications
- Fundamental CNN operations: convolutional layers, kernel usage,
- Padding and stride, feature map generation, and pooling layers, including 1D, 2D, and 3D extensions
- Review of CNN architectures that have established the state of the art in classification
- Image processing examples: LeNet, VGG Networks, Network in Network, Inception, and ResNet; discussing innovations like 1x1 convolutions and residual connections
- Integration 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 (RNNs)
- Introduction to RNNs: core principles and applications
- Fundamental RNN operations: hidden activation, back-propagation through time, and unfolded representations
- Evolution towards Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTM) networks
- Analysis of architectural states and the advancements brought by these models
- Addressing convergence and vanishing gradient issues
- Classical 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 the next frame in a video sequence
Generative Models: Variational Autoencoders (VAE) and Generative Adversarial Networks (GAN)
- Overview of generative models and their connection to CNNs
- Autoencoders: dimensionality reduction and basic generation capabilities
- Variational Autoencoders: generative modeling and distribution approximation; definition and use of latent space, reparameterization trick, and associated limitations
- Generative Adversarial Networks: fundamental concepts
- Dual network architecture (Generator and Discriminator) with alternating training and cost functions
- GAN convergence challenges and common difficulties
- Improved convergence methods: 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: agent control within a defined environment
- State representation 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 vs off-policy approaches, Actor-Critic architecture, and A3C
- Applications in controlling video games or digital systems
Part 2 – Deep Learning with Theano
Foundations of Theano
- Introduction
- Installation and configuration
Theano Functions
- Managing inputs, outputs, updates, and givens
Training and Optimizing Neural Networks with Theano
- Modeling neural networks
- Implementing logistic regression
- Incorporating hidden layers
- Network training procedures
- Computation and classification tasks
- Optimization techniques
- Log Loss calculation
Model Testing
Part 3 – DNNs using TensorFlow
TensorFundamentals
- 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 using TensorBoard
TensorFlow Mechanics
- Data preparation
- Downloading data
- Managing inputs and placeholders
-
Constructing Graphs
- Inference
- Loss calculation
- Training operations
-
Model Training
- Graph management
- Session handling
- Training loops
-
Model Evaluation
- Building evaluation graphs
- Evaluating outputs
The Perceptron
- Activation functions
- Perceptron learning algorithm
- Binary classification using perceptrons
- Document classification with perceptrons
- 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 neural networks
- Multilayer perceptrons
- Minimizing cost functions
- Forward propagation
- Back propagation
- Enhancing neural network learning strategies
Convolutional Neural Networks
- Objectives
- Model architecture
- Core principles
- Code organization
- Launching and training models
- Model evaluation
Brief introductions to the following modules will be provided, subject to time availability:
Advanced TensorFlow Usage
- Threading and queues
- Distributed TensorFlow
- Documentation and model sharing
- Customizing data readers
- Manipulating TensorFlow model files
TensorFlow Serving
- Introduction
- Basic serving tutorial
- Advanced serving tutorial
- Serving Inception models tutorial
Requirements
A background in physics, mathematics, and programming is required. Experience in image processing activities is also expected.
Participants should possess prior knowledge of machine learning concepts and have practical 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