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, separating reality from hype.
- Collective Intelligence: aggregating knowledge shared by multiple virtual agents.
- Genetic algorithms: evolving a population of virtual agents through selection.
- Standard Machine Learning: definition.
- Task types: supervised learning, unsupervised learning, reinforcement learning.
- Action types: classification, regression, clustering, density estimation, dimensionality reduction.
- Examples of Machine Learning algorithms: Linear regression, Naive Bayes, Random Tree.
- Machine Learning vs. Deep Learning: areas where Machine Learning remains 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 neuron network: classical architecture, activation functions, and weighting of previous activations.
- Network depth.
- Defining network learning: cost functions, back-propagation, Stochastic Gradient Descent, maximum likelihood.
- Neural network modeling: representing input and output data based on the problem type (regression, classification) and addressing the curse of dimensionality.
- Distinguishing between multi-feature data and signals. Selecting cost functions based on data characteristics.
- Function approximation by neural networks: presentation and examples.
- Distribution approximation by neural networks: presentation and examples.
- Data Augmentation: techniques for balancing datasets.
- Generalization of neural network results.
- Initialization and regularization: L1 / L2 regularization, Batch Normalization.
- Optimization and convergence algorithms.
Standard ML / DL Tools
A comprehensive overview including advantages, disadvantages, ecosystem position, and use cases will be provided.
- Data management tools: Apache Spark, Apache Hadoop Tools.
- Machine Learning libraries: Numpy, Scipy, Sci-kit.
- 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 applications.
- Basic CNN operations: convolutional layers, kernel usage.
- Padding & stride, feature map generation, pooling layers, and 1D, 2D, 3D extensions.
- Overview of CNN architectures that achieved state-of-the-art results in classification.
- Image architectures: LeNet, VGG Networks, Network in Network, Inception, ResNet. Presentation of innovations introduced by each architecture and their broader applications (e.g., 1x1 Convolution, residual connections).
- Utilization of attention models.
- Application to common classification tasks (text or image).
- CNNs for generation: super-resolution, pixel-to-pixel segmentation.
- Main strategies for increasing 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, unfolded version.
- Evolution towards Gated Recurrent Units (GRUs) and LSTM (Long Short-Term Memory).
- Presentation of different states and architectural evolutions.
- Convergence and vanishing gradient issues.
- Classical architectures: time series prediction, classification, etc.
- RNN Encoder-Decoder architecture. Use of attention models.
- NLP applications: word/character encoding, translation.
- Video applications: predicting the next image in a video sequence.
Generative Models: Variational AutoEncoder (VAE) and Generative Adversarial Networks (GAN).
- Overview of generative models and their connection to CNNs.
- Auto-encoder: dimensionality reduction and limited generation.
- Variational Auto-encoder: generative modeling and distribution approximation. Definition and use of latent space. Reparameterization trick. Applications and observed limitations.
- Generative Adversarial Networks: Fundamentals.
- Dual Network Architecture (Generator and Discriminator) with alternating learning and available cost functions.
- GAN convergence and associated difficulties.
- Improved convergence methods: Wasserstein GAN, Began. Earth Mover Distance.
- Applications for image/photo generation, text generation, and super-resolution.
Deep Reinforcement Learning.
- Overview of reinforcement learning: agent control in a defined environment.
- Defined by state and possible actions.
- Using neural networks to approximate state functions.
- Deep Q Learning: experience replay and application to video game control.
- Learning policy optimization. On-policy && off-policy. Actor-critic architecture. A3C.
- Applications: controlling a single video game or digital system.
Part 2 – Theano for Deep Learning
Theano Basics
- Introduction
- Installation and Configuration
Theano Functions
- inputs, outputs, updates, givens
Training and Optimization of a neural network using Theano
- Neural Network Modeling
- Logistic Regression
- Hidden Layers
- Training a network
- Computing and Classification
- Optimization
- Log Loss
Testing the model
Part 3 – DNN using Tensorflow
TensorFlow Basics
- Creation, Initializing, Saving, and Restoring TensorFlow variables
- Feeding, Reading and Preloading TensorFlow Data
- Utilizing TensorFlow infrastructure for large-scale model training
- Visualizing and Evaluating models with TensorBoard
TensorFlow Mechanics
- Prepare the Data
- Download
- Inputs and Placeholders
-
Build the Graphs
- Inference
- Loss
- Training
-
Train the Model
- The Graph
- The Session
- Train Loop
-
Evaluate the Model
- Build the Eval Graph
- Eval Output
The Perceptron
- Activation functions
- The perceptron learning algorithm
- Binary classification with the perceptron
- Document classification with 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
- Improving the way neural networks learn
Convolutional Neural Networks
- Goals
- Model Architecture
- Principles
- Code Organization
- Launching and Training the Model
- Evaluating a Model
Basic Introductions to be given to the below modules (Brief Introduction to be provided based on time availability):
Tensorflow - Advanced Usage
- Threading and Queues
- Distributed TensorFlow
- Writing Documentation and Sharing your Model
- Customizing Data Readers
- Manipulating TensorFlow Model Files
TensorFlow Serving
- Introduction
- Basic Serving Tutorial
- Advanced Serving Tutorial
- Serving Inception Model Tutorial
Requirements
Background in physics, mathematics, and programming. Experience with image processing is recommended.
Participants should have a prior understanding of machine learning concepts and practical experience with Python programming and libraries.
Testimonials (2)
The adaptation of exos to our context and the consideration of our request
Amel Guetat - EURO-INFORMATION DEVELOPPEMENTS
Course - Fraud Detection with Python and TensorFlow
Machine Translated
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