class: center, middle # Introduction to Deep Learning Edouard Yvinec .affiliations[ ![Sorbonne](images/logo_sorbonne.png) ![Isir](images/logo_isir.png) ![Datakalab](images/logo_datakalab.png) ![Epita](images/Epita.png) ] --- # Website .center[ ### https://edouardyvinec.netlify.app/posts/slides/ ] -- .center[ ### https://deepcourse-epita.netlify.app/ ] --- # Goal of the class ## Overview - When and where to use DL - "How" it works - Frontiers of DL -- ## Arcanes of DL - Implement using `Numpy`, and `Tensorflow` (`Keras`) - Engineering knowledge for building and training DL
credit to Olivier Grisel and Charles Ollion
--- # What is Deep Learning ### Good old Neural Networks, with more layers/modules -- ### Non-linear, hierarchical, abstract representations of data -- ### Flexible models with any input/output type and size -- ### Differentiable Functional Programming
credit to Olivier Grisel and Charles Ollion
--- # Why Deep Learning Now? - Better algorithms & understanding - .grey[Computing power (GPUs, TPUs, ...)] - .grey[Data with labels] - .grey[Open source tools and models]
credit to Olivier Grisel and Charles Ollion
--- # Why Deep Learning Now? - Better algorithms & understanding - Computing power (GPUs, TPUs, ...) - .grey[Data with labels] - .grey[Open source tools and models] .center[
_GPU and TPU_
]
credit to Olivier Grisel and Charles Ollion
--- # Why Deep Learning Now? - Better algorithms & understanding - Computing power (GPUs, TPUs, ...) - Data with labels - .grey[Open source tools and models] .center[
_Adapted from Andrew Ng_
]
credit to Olivier Grisel and Charles Ollion
--- # Why Deep Learning Now? - Better algorithms & understanding - Computing power (GPUs, TPUs, ...) - Data with labels - Open source tools and models .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: Speech-to-Text .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: Vision .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: Vision .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: NLP .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: NLP .center[
] -- Most of chatbots claiming "AI" do not use Deep Learning (yet?)
credit to Olivier Grisel and Charles Ollion
--- # DL Today: Vision + NLP .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: Image translation .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: Generative models .center[
Sampled celebrities [Nvidia 2017] ] --
.center[
StackGAN v2 [Zhang 2017] ]
credit to Olivier Grisel and Charles Ollion
--- # DL Today: Generative models .center[
Sound generation with WaveNet [DeepMind 2017] ] -- Guess which one is generated? .center[
_Tacotron 2 Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions, 2017_
]
credit to Olivier Grisel and Charles Ollion
--- # Language / Image models Open-AI GPT-3, or DALL-E: https://openai.com/blog/dall-e/ .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL in Science: Genomics .center[
] -- .center[
[AlphaFold by DeepMind](https://deepmind.com/blog/article/alphafold-a-solution-to-a-50-year-old-grand-challenge-in-biology)
]
credit to Olivier Grisel and Charles Ollion
--- # DL in Science: Chemistry, Physics .center[
]
credit to Olivier Grisel and Charles Ollion
--- # DL in Science: Chemistry, Physics .center[
] - Finite element simulator accelerated (~100 fold) by a 3D convolutional network
credit to Olivier Grisel and Charles Ollion
--- # DL for AI in games .center[
]
AlphaGo/Zero: Monte Carlo Tree Search, Deep Reinforcement Learning, self-play
credit to Olivier Grisel and Charles Ollion
--- # Outline of the class ### Neural Networks (2) -- ### Computer Vision (3) -- ### Few Shot and Unsupervised Learning (2) -- ### Generative models (2) -- ### New Architectures (2) --- # How this unit works #### Lectures 1h-1h30 - Can include a Quiz on Moodle (from time to time) - Small part of the final grade -- #### Coding sessions 2h-2h30 - BYO laptop, you can work in pairs - Homework every session (finish notebooks, read solutions) -- #### Final Project - Project of your choice in teams of 2-4 people. - Contact me via e-mail (ey@datakalab.com) to select a topic as early as possible. --- # Recommended reading - [deeplearningbook.org](http://www.deeplearningbook.org/): Math and main concepts - [Francois Chollet's book](https://www.manning.com/books/deep-learning-with-python): Keras programming - [Aurélien Géron's book](https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/): Generic Machine Learning with Scikit-learn and Deep Learning with TF/Keras
credit to Olivier Grisel and Charles Ollion
--- class: center,middle # Frameworks and Computation Graphs
credit to Olivier Grisel and Charles Ollion
--- # Libraries & Frameworks .center[
] This lecture is using **Pytorch**: high level frontend supported by facebook. -- If you are familiar with tensorflow/keras, feel free to use these frameworks instead. --- # Computation Graph .center[
] Neural network = parametrized, non-linear function
credit to Olivier Grisel and Charles Ollion
--- # Computation Graph .center[
] Computation graph: Directed graph of functions, depending on parameters (neuron weights)
credit to Olivier Grisel and Charles Ollion
--- # Computation Graph .center[
] Combination of linear (parametrized) and non-linear functions
credit to Olivier Grisel and Charles Ollion
--- # Computation Graph .center[
] Not only sequential application of functions
credit to Olivier Grisel and Charles Ollion
--- # Computation Graph .center[
] Automatic computation of gradients: all modules are **differentiable**! -- Theano (now Aesara), **Tensorflow 1**, etc. build a static computation graph via static declarations. -- **Tensorflow 2**, **PyTorch**, **JAX**, etc. rely on dynamic differentiable modules: "define-by-run". -- Vector computation on **CPU** and accelerators (**GPU** and **TPU**).
credit to Olivier Grisel and Charles Ollion
--- # Computation Graph .center[
] Simple keras implementation ```py model = Sequential() model.add(Dense(H, input_dim=N)) # defines W0 model.add(Activation("tanh")) model.add(Dense(K)) # defines W1 model.add(Activation("softmax")) ```
credit to Olivier Grisel and Charles Ollion
--- # Internship Offers (2022-2023): Datakalab proposes 3 internships for software engineers and 1 internship for hardware engineer:
- python engineer: product implementation of the research work from our lab (hot topic: DNN compression) - python engineer: model conversion and build a model zoo (Segmentation, Body Pose, Sound) - python engineer: context adaptation product structuration (API rest) and server resource sharing - hardware engineer: implement low level inference kernels (c/c++/ros) for several inference engines of our partners. Create the test benches for ST, NXP, Qualcom, GreenWaves, ...
Possibility to organize a happy hour if we get many candidates.
contact: Lucas Fischer (lf@datakalab.com)
--- # Internship Offers (2022-2023): ISIR proposes 1 internship for research. - emotion detection and face analysis: generation and manipulation of facial images for FER specialisation with few data. This offer can lead to a PhD contract.
contact: Kevin Bailly (kb@datakalab.com)
--- class: middle, center # Lab 1: here in 15min!