/AI-ML_at_ENSPIMA

Primary LanguageJupyter Notebook

AI-Machine_Learning_at_ENSPIMA

(September 2024)

Goals

The main objective of this module is the introduction to Artificial Intelligence through one of its important component which is Machine Learning (ML) with Neural Networks (NN).

The main classes of problems addressed by ML are exposed, with their principles, tools and limits of use, in the field of engineering. Programming, training and operating a neural network is illustrated from a practical point of view in Python language with the tensorflow and keras Python modules.

Contents

The module includes:

  • two lecture sessions of 1h20,
  • 4 practical sessions of 3h each preferably carried out on the laptops of the students articulated around two sequences:
    • Discovery of Machine Learning: programming, training and evaluation of a dense neural network dedicated to the recognition of images from the MNIST data bank (handwritten digits).
    • Application to the context of aeronautical maintenance: design, training and evaluation of a dense neural network for the detection/classification of faults in data from a motor test bench.

Intended learning outcomes:

  • Know the main classes of problems addressed by Machine Learning.
  • Know how to explain the behaviour of an artificial neuron and the overall architecture of a neural network.

With this course you will learn how to :

  • build a dense or convolutional neural network with the Python tensorflow & keras modules
  • download, preprocess and use a set of labeled data in order to train a neural network
  • train a neural network and use precision and loss curves to limit the overfit
  • operate a trained network (by oneself or by others) using a new dataset.

Pedagogical method of acquisition

Practical work is done in Python language, preferably on student laptops. The educational progression is done using a series of notebooks "with holes", of increasing difficulty, which allow the acquisition of the targeted skills.

Prerequisites

Know the Python language for data processing and plotting curves using the numpy and matplotlib Python modules. Level of mathematics: bachelor.

Evaluation

  • an MCQ assessed individually (coef. 1/4)
  • a report of practical work in pairs (coef. 3/4).