Si on aidait le capitaine Némo à classifier les monstres marins ?

A presentation at Snowcamp 2023 in January 2023 in Grenoble, France by Stéphane Philippart

Slide 1

Slide 1

Si on aidait le capitaine Némo à classifier les monstres marins ? Eléa Petton & Stéphane Philippart @EleaPetton & @wildagsx

Slide 2

Slide 2

Slide 3

Slide 3

🐻‍❄️ Mais l’Intelligence Artificielle c’est quoi au final ?

Slide 4

Slide 4

🐻‍❄️

Slide 5

Slide 5

🐻‍❄️

Slide 6

Slide 6

🦙 Qu’est-ce que l’IA ? Toi humain tu sais différencier les animaux marins. Comment faire pour l’apprendre ? Attends, je vais te donner un algorithme qui va te permettre d’apprendre.

Slide 7

Slide 7

🦙 Qu’est-ce que l’IA ? Je me demande quelle est la différence entre tous ces termes ? IA

Slide 8

Slide 8

🦙 Qu’est-ce que l’IA ? IA Machine Learning Je me demande quelle est la différence entre tous ces termes ?

Slide 9

Slide 9

🦙 Qu’est-ce que l’IA ? IA Machine Learning Je me demande quelle est la différence entre tous ces termes ? Réseaux de neurones

Slide 10

Slide 10

🦙 Qu’est-ce que l’IA ? IA Machine Learning Je me demande quelle est la différence entre tous ces termes ? Réseaux de neurones Deep Learning

Slide 11

Slide 11

🦙 Le Machine Learning plus en détail Machine Learning Deep Learning Supervisé Classification Régression

Slide 12

Slide 12

🦙 Le Machine Learning plus en détail Machine Learning Deep Learning Non supervisé Clustering Réduction de dimension

Slide 13

Slide 13

🦙 Le Machine Learning plus en détail Machine Learning Deep Learning Renforcement

Slide 14

Slide 14

🦙 Le Machine Learning plus en détail Machine Learning Deep Learning Supervisé Classification Non supervisé Renforcement

Slide 15

Slide 15

🐻‍❄️ Différentes familles en IA NLP

Slide 16

Slide 16

🐻‍❄️ Le NLP, à quoi ça sert ? Traduction

Slide 17

Slide 17

🐻‍❄️ Le NLP, à quoi ça sert ? Traduction Classification de texte

Slide 18

Slide 18

🐻‍❄️ Le NLP, à quoi ça sert ? Traduction Classification de texte Résumés

Slide 19

Slide 19

🐻‍❄️ Le NLP, à quoi ça sert ? Traduction Classification de texte Résumés Génération de texte

Slide 20

Slide 20

🐻‍❄️ Le NLP, à quoi ça sert ? Traduction Classification de texte Résumés Génération de texte Réponses à des questions

Slide 21

Slide 21

🦙 Différentes familles en IA NLP Computer Vision

Slide 22

Slide 22

🦙 La Computer Vision, c’est quoi ? Classification d’images

Slide 23

Slide 23

🦙 La Computer Vision, c’est quoi ? Classification d’images Détection d’objets

Slide 24

Slide 24

🦙 La Computer Vision, c’est quoi ? Classification d’images Détection d’objets Segmentation d’images

Slide 25

Slide 25

🦙 La Computer Vision, c’est quoi ?

Slide 26

Slide 26

🐻‍❄️ Différentes familles en IA NLP Computer Vision Audio

Slide 27

Slide 27

🐻‍❄️ Pourquoi le son en IA ? Classification des données acoustiques

Slide 28

Slide 28

🐻‍❄️ Pourquoi le son en IA ? Classification des données acoustiques Classification des sons environnementaux

Slide 29

Slide 29

🐻‍❄️ Pourquoi le son en IA ? Classification des données acoustiques Classification des sons environnementaux Classification du langage naturel

Slide 30

Slide 30

🐻‍❄️ Pourquoi le son en IA ? Classification des données acoustiques Classification des sons environnementaux Classification du langage naturel Classification de la musique

Slide 31

Slide 31

🐻‍❄️ Comment créer une application intelligente ? Obtenir de la donnée

Slide 32

Slide 32

🐻‍❄️ Comment créer une application intelligente ? Obtenir de la donnée Traiter la donnée

Slide 33

Slide 33

🐻‍❄️ Comment créer une application intelligente ? Obtenir de la donnée Traiter la donnée Créer ou optimiser un modèle existant

Slide 34

Slide 34

🐻‍❄️ Comment créer une application intelligente ? Obtenir de la donnée Traiter la donnée Créer ou optimiser un modèle existant Entraîner son modèle

Slide 35

Slide 35

🐻‍❄️ Comment créer une application intelligente ? Obtenir de la donnée Traiter la donnée Créer ou optimiser un modèle existant Entraîner son modèle Utiliser son modèle

Slide 36

Slide 36

🦙 Importance du pré-traitement des données Qualité des données Informations utiles

Slide 37

Slide 37

🦙

Slide 38

Slide 38

🦙 Exemples de pré-traitement pour les données Gestion des valeurs nulles / manquantes Normalisation Gestion des variables qualitatives Encodage à chaud

Slide 39

Slide 39

🦙 Et pour les données audios ? N paramètres audio Librosa name length audios .wav paramètres audio Librosa … … fichier .csv … name

Slide 40

Slide 40

🦙 me cleaning the data me building the model

Slide 41

Slide 41

🐻‍❄️ Technos et Outils Le langage le plus utilisé : Python

Slide 42

Slide 42

🐻‍❄️ Technos et Outils Le langage le plus utilisé : Python Beaucoup d’IDE (PyCharm, VSCode …) Le cas à part de JupyterLab

Slide 43

Slide 43

🐻‍❄️ Technos et Outils Le langage le plus utilisé : Python Beaucoup d’IDE (PyCharm, VSCode …) Le cas à part de JupyterLab Les frameworks sont nombreux Peut dépendre du type de modèle ou donnée manipulée

Slide 44

Slide 44

🐻‍❄️ Technos et Outils Le langage le plus utilisé : Python Beaucoup d’IDE (PyCharm, VSCode …) Le cas à part de JupyterLab Les frameworks sont nombreux Peut dépendre du type de modèle ou donnée manipulée Compatibilité GPU (surtout pour la partie traitement de la donnée)

Slide 45

Slide 45

🐻‍❄️ Technos et Outils Le langage le plus utilisé : Python Beaucoup d’IDE (PyCharm, VSCode …) Le cas à part de JupyterLab Les frameworks sont nombreux Peut dépendre du type de modèle ou donnée manipulée Compatibilité GPU (surtout pour la partie traitement de la donnée) Construction de modèles, Apprentissage, Front, Back, …

Slide 46

Slide 46

🐻‍❄️ Technos et Outils Le langage le plus utilisé : Python Beaucoup d’IDE (PyCharm, VSCode …) Le cas à part de JupyterLab Les frameworks sont nombreux Peut dépendre du type de modèle ou donnée manipulée Compatibilité GPU (surtout pour la partie traitement de la donnée) Construction de modèles, Apprentissage, Front, Back, … Quelques frameworks connus : Pytorch, TensorFlow, Streamlit, …

Slide 47

Slide 47

🐻‍❄️ Démo time ! Artturi Jalli

Slide 48

Slide 48

🦙 Identifier un mammifère par rapport à son cri Notebook Analyse de l’audio Pré-traitement des données Construction du modèle Entraînement et évaluation du modèle Test et enregistrement modèle Bart van meele

Slide 49

Slide 49

🐻‍❄️ Identifier un mammifère par rapport à son cri Notebook Analyse de l’audio Pré-traitement des données Construction du modèle Entraînement et évaluation du modèle Test et enregistrement modèle Applications Back-End : exposition de l’API Front-End : analyse d’un son chargé ou enregistré Bart van meele

Slide 50

Slide 50

🐻‍❄️ Schéma d’architechture globale

Slide 51

Slide 51

🦙

Slide 52

Slide 52

🦙 Qu’avons nous appris aujourd’hui ? Notion d’ia Datascience, Machine Learning, Deep Learning

Slide 53

Slide 53

🦙 Qu’avons nous appris aujourd’hui ? Notion d’ia Datascience, Machine Learning, Deep Learning Place du son en IA Environnement, musique, NLP

Slide 54

Slide 54

🦙 Qu’avons nous appris aujourd’hui ? Notion d’ia Datascience, Machine Learning, Deep Learning Place du son en IA Environnement, musique, NLP prétraitement des données Répartition, transformation, labélisation

Slide 55

Slide 55

🦙 Qu’avons nous appris aujourd’hui ? Notion d’ia AI Notebook Datascience, Machine Learning, Deep Learning Développement de mon code étape par étape Place du son en IA Environnement, musique, NLP prétraitement des données Répartition, transformation, labélisation

Slide 56

Slide 56

🦙 Qu’avons nous appris aujourd’hui ? Notion d’ia AI Notebook Datascience, Machine Learning, Deep Learning Développement de mon code étape par étape Place du son en IA Entraînement d’une ia Environnement, musique, NLP Réseau de neurones, exportation prétraitement des données Répartition, transformation, labélisation

Slide 57

Slide 57

🦙 Qu’avons nous appris aujourd’hui ? Notion d’ia AI Notebook Datascience, Machine Learning, Deep Learning Développement de mon code étape par étape Place du son en IA Entraînement d’une ia Environnement, musique, NLP Réseau de neurones, exportation prétraitement des données App pour ia Répartition, transformation, labélisation Object Storage, Streamlit, Docker, API

Slide 58

Slide 58

🦙 Les métiers de l’IA Machine Learning engineer Data Scientist Developer

Slide 59

Slide 59

🦙 Les métiers de l’IA Data Scientist

Slide 60

Slide 60

🦙 Le Data Scientist Data Analysis Data Visuatization Programmation Machine Learning Maths Statistics

Slide 61

Slide 61

🦙 Les métiers de l’IA Machine Learning engineer

Slide 62

Slide 62

🦙 Le Machine Learning Engineer Data Science Maths & Statistics Programmation Frameworks Environnement de prod Services Cloud

Slide 63

Slide 63

🐻‍❄️ Les métiers de l’IA Developer

Slide 64

Slide 64

🐻‍❄️ Le Développeur Python Docker DATA Concepts IA Développement Frameworks Outillage

Slide 65

Slide 65

🦙 Eléa Petton Machine Learning Engineer @OVHcloud @EleaPetton eleapttn Eléa PETTON

Slide 66

Slide 66

🐻‍❄️ Stéphane Philippart 🦄 DevRel@OVHcloud 🥑 💬 Co-Créateur de TADx 🔗 https://philippart-s.github.io/blog @wildagsx philippart-s philippartstephane

Slide 67

Slide 67

🐻‍❄️

Slide 68

Slide 68

MERCI ! https://ovh.to/fRZNUrp

Slide 69

Slide 69

Pour tester Le notebook : L’app : https://github.com/eleapttn/nemo-notebook https://github.com/philippart-s/nemo-streamlit-front https://github.com/philippart-s/nemo-flask-back Quelques docs : https://docs.ovh.com/gb/en/publiccloud/ai/ https://blog.ovhcloud.com/tag/ai/ Quelques Exemples : https://github.com/ovh/ai-training-examples/

Slide 70

Slide 70

Références TensorFlow : https://www.tensorflow.org/guide?hl=fr JupyterLab : https://jupyter.org/ Pandas : https://pandas.pydata.org/ Sklearn : https://scikit-learn.org/stable/ Numpy : https://numpy.org/ Matplotlib : https://matplotlib.org/ Dataset des sons de mammifères marins : https://www.kaggle.com/datasets/shreyj1729/best-of-watkins-marine-mammal-sound-database Informations sur la dataset : https://cis.whoi.edu/science/B/whalesounds/index.cfm Classification de musique avec un CNN : https://blog.clairvoyantsoft.com/music-genre-classification-using-cnn-ef9461553726 Classification des genre musicaux : https://towardsdatascience.com/music-genre-classification-with-python-c714d032f0d8 Pré-traitement des données en Machine Learning : https://towardsdatascience.com/introduction-to-data-preprocessing-in-machine-learning-a9fa83a5dc9d

Slide 71

Slide 71