Introduction to Deep Learning, ESPCI


This course is an introduction to deep-learning approach with lab sessions in pytorch (python module). The goal is to understand the data-driven approach and to be able to efficiently experiment with deep-learning on real data.

News

  • The next lab session is the 21st of Feb
  • The second homework is available on the drive. It is a notebook. The deadline is the 7th of February
  • For the 17/01, the first lab session: 3 notebooks to do in the following order (see the drive to get the files):
    • numpy starter (intro to numpy)
    • pytorch starter (intro to pytorch)
    • fashion mnist (your first NNet on a image classification task)
  • The first homework is available on the drive. The deadline is the 10th of january morning, before the course.
  • First course: January the 3th. Early in the morning and remote.

The resources / drive

Look at this drive for the slides, the material of lab sessions, homework, …

Expected schedules

It starts in january 2022 (the 3th). The course is scheduled on monday, starting at 8:30 in the morning.

  • 3/01, course: introduction, reminder and basics
  • 10/01, course on feed-forward neural networks
    • Multi-class classification
    • The feed-forward architecture and the back-propagation algorithm
    • Pytorch
  • 17/01, lab session : 3 notebooks to do in the following order (see the drive to get the files):
    • intro to numpy
    • intro to pytorch
    • your first NNet on a image classification task (Fashion MNIST)
  • 24/01, course on deep-learning and Image processing processing
    • Deep networks
    • Drop out
    • Convolution 2D for image processing
  • 31/01, course on Sequence classification
    • End of tricks (init. and normalization)
    • Sequence classification with 1D convolution
    • Two examples: text classification and DNA/RNA classification
    • Few words on the project
  • 07/02, lab session
    • Image classification
    • 2D convolution
  • 14/02, course on sequence model
    • Sequence processing with recurrent networks
    • LSTM and GRU
  • 21/02, lab sesion:
    • Convolution in 2D
  • 21/03, course: Advanced architecture - part 1 / Project
    • Case study : NMT
    • Tranformers, BERT and so on …
  • 28/03, course: Advanced architecture - part 2 / Project

python and Notebooks: how to

We will use python 3, pytorch and notebooks. If you need to work with own computer, there are 2 ways:

  • install anaconda 3 on your computer: see this page.
  • use colab with a google account (the easiest, nothing todo)

To use files stored on your google drive you can add in your colab notebook:

from google.colab import drive

drive.mount('/content/gdrive')
# in my drive, I have a directory "Colab Notebooks"
# the dataset is uploaded there
root_path = 'gdrive/My Drive/Colab Notebooks/'

If you are not familiar with python notebooks, see this page.

Projects

Here, you can find a list of possible projects. Feel free to interact with me. For some of them, just ask me the data, otherwise a link is provided. Of course, you can also propose a project. This section is under construction and maybe some projects will be added as soon as I will have more feedbacks from my colleagues.

  • Reconstruction of the vorticity field of a flow behind a cylinder from a handful sensors on the cylinder surface
Velocity fields Sea surface temperature
  • Using seismic signals to predict the timing of laboratory earthquakes.
  • Quantum-mechanical molecular energies prediction from the raw molecular geometry: see the QM7 database.
  • Classify Molecule polarization: the data comes from time-lapse fluorescence microscopy images of the bacterium Pseudomonas fluorescens SBW25. Each image is an individual bacterial cell. These bacteria produce a molecule called pyoverdin which is naturally fluorescent, so the images show the distribution of this molecule inside the cells. We have discovered that there are two distribution patterns of this molecule: homogeneous, or accumulated at the cell pole ("polarized").