1
What is Artificial Intelligence (up to Neural Networks)?
- The myth of artificial intelligence versus today’s reality.
- Intellectual tasks versus algorithms.
- Types of actions: classification, regression, clustering, density estimation, dimensionality reduction.
- Collective intelligence: aggregating shared knowledge from numerous virtual agents.
- Genetic algorithms: evolving a population of virtual agents through selection.
- Machine learning: an overview and key algorithms (XGBoost, Random Forest).
2
Neural Networks and Deep Learning
- What is a neural network?
- What does it mean for a neural network to learn? Deep vs. shallow networks, overfitting, underfitting, convergence.
- Understanding a function through a neural network: presentation and examples.
- Generation of internal representations within a neural network.
- Generalization of a neural network’s results.
- The deep learning revolution: the generality of tools and challenges.
Demonstration
Presentation of a classification algorithm and its limitations.
3
Applications of Deep Learning
- Data classification: various scenarios including raw data, images, audio, text, etc.
- The challenges of data classification and the decisions involved in choosing a classification model.
- Classification tools: using Multilayer Perceptrons or Convolutional Neural Networks in machine learning.
- Forecasting and sequential/temporal data: challenges and limitations of information prediction.
- Structural rules within data that can enable predictive logic; common forecasting tools.
- Data transformation/generation: reinterpretation operations such as denoising, image segmentation…
- Transformation within the same format: translating text from one language to another.
- Generation of “original” data: neural style transfer, generating images from textual descriptions.
- Reinforcement learning: controlling an environment.
- Experience replay and training neural networks on video games.
Demonstration
Classification of medical images, forecasting images in a video sequence, and controlling numerical simulations.
4
What Problems Can Be Solved with Machine/Deep Learning?
- Data conditions: volume, dimensionality, class balance, description.
- Raw data versus engineered features: making the right choice.
- Machine learning versus deep learning: using traditional ML algorithms or neural networks.
- Defining the problem: Unsupervised Learning versus Supervised Learning.
- Assessing the solution: understanding the gap between an assertion and the output of an algorithm.
Case study
Evaluating a problem that can be addressed with AI.
5
Preparing a Dataset
- Defining a dataset and distinguishing it from a traditional database (DB).
- Storing and monitoring data: controlling biases, cleaning/converting while allowing for iterative improvements.
- Understanding the data: using statistical tools to analyze data distribution and representation.
- Formatting data: deciding on input and output formats, linking them to the problem definition.
- Preparing the data: defining the Training Set, Validation Set, and Test Set.
- Establishing a framework to ensure that the algorithms used are truly relevant (or not).
Storyboarding workshops
Defining a dataset and distinguishing it from a traditional database (DB).
6
Searching for the Optimal Solution
- Methodologies for progressing towards the best solution for an ML/DL problem.
- Choosing a research direction, locating similar publications or existing projects.
- Iterating from the simplest algorithms to the most complex architectures.
- Maintaining a comprehensive benchmarking framework.
- Achieving an optimal solution.
Case study
Grouping and balancing a range of solutions to achieve the optimal outcome.
7
The Tools
- What tools are available today?
- Which tools are best suited for research versus industrial applications?
- From Keras/Lasagne to Caffe, Torch, Theano, TensorFlow, Apache Spark, or Hadoop.
- Industrializing a neural network by strictly managing its process and ensuring continuous monitoring.
- Implementing successive retraining sessions to keep a network current and optimal.
- Training users to understand the neural network.
Demonstration
Implementation of successive retraining sessions.