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)?
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.
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.
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).
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.
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.
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.