1
Introduction to AI, machine learning and deep learning
- History, basic concepts and applications of artificial intelligence, far from the fantasies promoted by the industry.
- Collective intelligence: Aggregating knowledge shared by many virtual agents.
- Genetic algorithms: Evolving a population of virtual agents by selection.
- Common machine learning: Definition.
- Task Types: Supervised learning, unsupervised learning, reinforcement learning.
- Types of actions: Classification, regression, clustering, density estimation, dimensionality reduction.
- Examples of machine learning algorithms: linear regression, Naive Bayes, random tree.
- Machine learning versus deep learning: Why ML remains the state of the art (random forests & XGBoosts)?
2
Basic concepts of a neural network
- Reminder of mathematical basics.
- The neural network: Architecture, activation and weighting functions of previous activations
- Learning a neural network: Cost functions, back-propagation, stochastic gradient descent
- Modeling a neural network: Modeling input and output data according to the type of problem.
- Understanding a function by a neural network. Understanding a distribution by a neural network.
- Data Augmentation: How to balance a dataset.
- Generalization of the results of a neural network.
- Initializations and regularizations of a neural network: L1/L2 Regularization, Batch Normalization.
- Optimizations and convergence algorithms.
Demonstration
Approximation of a function and a distribution by a neural network.
3
Common machine learning and deep learning tools
- Data management tools: Apache Spark, Apache Hadoop.
- Common machine learning tools: Numpy, Scipy, Sci-kit.
- High level DL frameworks: PyTorch, Keras, Lasagne.
- Low-level DL frameworks: Theano, Torch, Caffe, Tensorflow.
Demonstration
Applications and limitations of the tools presented.
4
Convolutional Neural Networks (CNNs)
- Overview of CNNs: Fundamental principles and applications.
- Basic operation of a CNN: Convolutional layer, use of a kernel, padding and stride, etc.
- CNN architectures that have carried the state of the art in image classification: LeNet, VGG Networks, Network in Network, etc.
- Use of an attention model.
- Application to a usual classification case (text or image).
- CNNs for generation: Super-resolution, pixel-by-pixel segmentation.
- Main strategies for increasing Feature Maps for image generation.
Case study
Innovations brought by each CNN architecture and their more global applications (1x1 convolution or residual connections).
5
Recurrent Neural Networks (RNNs)
- Overview of RNNs: Fundamental principles and applications.
- Fundamental operation of RNN: Hidden activation, back propagation through time, unfolded version.
- Developments towards GRU (Gated Recurrent Units) and LSTM (Long Short Term Memory).
- Convergence problems and vanishing gradient.
- Types of classical architectures: Prediction of a time series, classification, etc.
- RNN Encoder Decoder architecture. Use of an attention model.
- NLP applications: Word/character encoding, translation.
- Video applications: Predicting the next generated frame of a video sequence.
Demonstration
Different states and evolutions brought by the Gated Recurrent Units and Long Short Term Memory architectures.
6
Generational models: VAE and GAN
- Overview of the generational models Variational AutoEncoder (VAE) and Generative Adversarial Networks (GAN).
- Auto-encoder: Dimensionality reduction and limited generation.
- Variational AutoEncoder: Generational model and approximation of the distribution of a data.
- Definition and use of latent space. Reparameterization trick.
- Fundamentals of Generative Adversarial Networks.
- Convergence of a GAN and difficulties encountered.
- Enhanced convergence: Wasserstein GAN, BeGAN. Earth Moving Distance.
- Applications for generating images or photos, generating text, super-resolution.
Demonstration
Applications of generational models and use of latent space.
7
Deep reinforcement learning
- Reinforcement learning.
- Useing a neural network to understand the state function.
- Deep Q Learning: Experience replay and applying it to video game controls.
- Optimizations of the learning policy. On-policy and off-policy. Actor critic architecture. A3C.
- Applications: Control of a simple video game or digital system.
Demonstration
Control of an agent in an environment defined by a state and possible actions.