Conférence donnée par Olivier Eeckhoutte (Lean Deep) sur le sujet du Deep Learning pour Nutigo. Nutigo est une nouvelle association qui traite des sujets d'innovation.
2. About me
Olivier Eeckhoutte
• Cloud AWS expert
• Web & Mobile ❤ (JavaScript / NodeJS / Angular / Ionic…)
• Deep Learning geek (Tensorflow / Scikit / Python)
• Co-organisateur: Meetup Big Data et Machine Learning Lille
• Salarié chez SwissLife
• Entrepreneuriat en // :
• Lean Deep: D’abord Consul9ng & forma9on (1 an)
• Puis depuis Mi-avril: Développement d’un produit dans la domo9que
• Des nuits courtes J
Linkedin: hYps://www.linkedin.com/in/oliviereeckhouYe/
Let’s keep in touch !
@oliviereeckhout
4. Agenda
• Démo
• Introduction
• Machine Learning
• Deep Learning
• REX technologies utilisées
• Mes 2 pipelines
• Containers
• TensorFlow
• Cloud AWS
• Ressources pour apprendre
5. Introduction au Machine Learning
Définition
“ Faculté donnée à un ordinateur d’apprendre un comportement à partir
d’exemples ”
“ L’appren9ssage automa9sé désigne l’ensemble des techniques permeYant, par
voie algorithmique, avec ou sans assistance, de prendre une décision jugée
adéquate sur la base d’informa9ons non structurées a priori et inconnues du
système auquel elles sont présentées. ”
“L’ensemble des techniques permeYant à une machine d’apprendre à réaliser une
tâche sans avoir à la programmer explicitement pour cela.” Arthur Samuel, 1950
7. Introduction au Machine Learning
Comment cela fonctionne ? (1/3) – un peu de vocabulaire
En 2 étapes !
1. On entraine un Modèle en u9lisant des données labellisées
• Le “Modèle de Machine Learning” apprend les rela9ons entre les a7ributs/ features
des données (inputs) et les résultats (outputs)
Colonne
output
Colonnes
inputs
Nombre portes Nombre fenêtres Couleur Longueur (m) Véhicule
4 6 Blanc 1,5 Voiture
20 100 Bleu 230 TGV
2 4 Bleu 5 Camion
2 6 Rouge 1 Voiture
4 8 Blanc 1,75 Voiture
8. Introduction au Machine Learning
Comment cela fonctionne ? (2/3)
1ère étape: Phase d’appenFssage
1. On entraine un Modèle en u9lisant des données labellisées
Training
Data
Pre-processing
• Dummisa9on
• Image
processing
• Normalisa9on
• Réduc9on
dimension…
Learning
• Supervisé
• Non supervisé
• …
Error Analysis
• Précision/ Recall
• Over-fipng
• Test/ Cross
valida9on
• …
Model
ObjecFf: construire un modèle qui généralise:
à Être capable de prédire le futur alors qu’on l’a entraîné sur des données passées
9. Introduction au Machine Learning
Comment cela fonctionne ? (3/3)
2ème étape: PrédicFon
Ensuite, on peut faire des prédic9ons sur les nouvelles données dont on ne connaît pas le
label/ target
New Data
Model
Predicted
Data
PredicFon
10. Introduction au Machine Learning
2 catégories principales (1/2)
ApprenFssage Supervisé
à Les exemples sont des couples
(entrée, sor9e associée)
à Données é9quetées disponibles
• Exemple: Combien coûte
ceYe maison ?
• Autre exemple: est-ce que
cet email est un spam ?
INPUTS OUTPUT
11. Introduction au Machine Learning
2 catégories principales (2/2)
ApprenFssage non supervisé
à On ne dispose que des valeurs (entrée)
à Pas de données é9quetées
• Exemple: Segmenter les clients d’un magasin
en clusters qui ont des comportements
similaires
• Il n’y a pas de bonne réponse (ou de réponse
absolue)
12. Introduction au Machine Learning
Apprentissage supervisé – 2 type de problèmes (1/2)
ClassificaFon
Le résultat est une valeur parmi N
sans ordre quelconque et dans un
ensemble prédéfini
Exemple:
Ce film est-il un film d’horreur, un
film d’ac9ons ou un film
roman9que ?
13. Introduction au Machine Learning
Apprentissage supervisé – 2 type de problèmes (2/2)
Régression
Le résultat est une valeur dans un
ensemble de valeurs con9nues
Exemple:
Quel est le prix prévisionnel de cet
appartement dans les 6 prochains
mois ?
15. Introduction au Machine Learning
Beaucoup Enormément d’algorithmes disponibles
En fonc9on du problème,
des données (linéaires ou non, de leur type, de la volumétrie…)
à Type de d’appren9ssage ≠
Quelle précision recherche-t-on ?
Combien de temps souhaite-t-on aYendre ?
Veut-on comprendre les résultats ? (Accepter l’effet boite noire ?)
à Algorithmes ≠ à u9liser
Beaucoup de ressources pour bien choisir son algorithme d’appren9ssage. Ex:
hYps://docs.microsoy.com/en-us/azure/machine-learning/machine-learning-
algorithm-choice
16. Introduction au Machine Learning
Enormément d’algorithmes disponibles
Il n’y a pas de solu9on miracle ! è Il faut tester ! (…grid search)
17. • Utilise des réseaux de neurones pour résoudre des problèmes complexes
comme:
- Reconnaissance d’images
- Analyse de sentiments
- Chatbot...
• Inspiré du fonctionnement du cerveau
• Ordinateur virtuel composé de milliers d'unités (les neurones) qui chacune
effectue de petits calculs très simples.
• Plus le réseau est entraîné avec des données et plus les prédictions seront
précisent
Introduction au Deep Learning
Un cerveau au cœur des machines
OutputInput
18. Le système découvre lui-même les attributs et construit le modèle
d’entrainement
Avènement grâce:
• La puissance des GPUs très adaptés à ce type de calcul
• Au Big Data
è Besoin:
• Besoin de (nombreuses) machine(s) puissante(s) et coûteuse(s)
Introduction au Deep Learning
Différence avec le Machine Learning
19. Exemple MNIST (reconnaissance de caractères):
Images de 28x28 pixels
à Subdiviser le problème: prendre des sous parties de l’image
pour simplifier (i.e:, des groupements de pixels de 5×5, 4×4…)
à Opérer une fonction afin d’extraire des motifs (feature detection)
dans cette sous-partie (i.e: d’opération de convolution)
à Ces fonctions permettent de faire ressortir certaines caractéristiques des images:
Introduction au Deep Learning
Convolutional Neural Networks (1/3)
illustra5ons:
h7p://stanford.edu
20. On opère ≠ transformations sur ≠ parties retravaillées (grâce aux filtres) de l’image d’entrée
On combine le résultats des transformations (opération de pooling) et on recommence le process. à Succession de couches, et
extrac9on de l’informa9ons dans chacune d’entre elle.
Introduction au Deep Learning
Convolutional Neural Networks (2/3)
Exemple simplifié:
1. La première se focalise sur des pe9tes por9ons
de l’image (5×5 par exemple).
2. La seconde récupère le résultat de toutes les
por9ons précédentes et essaye de repérer de
nouveaux indicateurs.
3. La troisième va encore plus loin, en suivant le
même principe, permeYant d’iden9fier assez
précisément les contours du visage.
(Illustra5on: David J. Klein)
à Génération d’une cartographie des pixels importants dans l’image.
21. Introduction au Deep Learning
Convolutional Neural Networks (3/3) — Synthèse
EXTRACTION DE CARACTERISTIQUES CLASSIFICATION
MLP
24. • Développé par et utilisé en interne chez Google
• Très large communauté (cf. graph précédent)
• Open Source depuis novembre 2015
• API Python/ Scala/ Java au-dessus d’un moteur en C/ C++
• Support pour multiple GPUs
• Tensorboard: outil de visualisation de l’apprentissage
• Exemple illustratif (non testé) à https://gist.github.com/naturegirl/0bc6b4a14ee5269e4b4b4091c170bb92
Framework de Deep Learning
Avantages
25. Le Cloud avec Docker
Besoin de 2 pipelines — AWS ❤
Training
Data
Pre-processing Learning Error Analysis Model
New Data
Model
Predicted
Data
PredicFon
26. Le Cloud avec Docker
AWS ❤
Pourquoi 2 pipelines ?
• 1 pipeline on-demand pour
l’apprentissage
• 1 pipeline de prédiction avec
API Python/ NodeJS
Pourquoi AWS ?
• Flexibilité
• Nombre considérable de
fonctionnalités
• Customisation
• Intégration avec un grand
nombre de services tierces
• Puissance
27. 1ère Pipeline avec coûts optimisés! pour
entraîner son IA chez AWS
- ECS
- ECR
- Cloud Formation
- S3
- Spot Fleet
32. - Systèmes de recommandation (Netflix)
- Véhicules autonomes
- Reconnaissance de visages
- Segmentation clients
- Diagnostiques médicaux
- Détection de fraudes
- Speech Recognition
- Analyse de Sentiments
- Détection de plagiat
- Classification de documents
- Reconnaissance de textes manuscrits
PerspecFve
33. Machine Learning
- Meetup: Big Data et Machine Learning Lille (Free)
- Stanford à http://cs231n.stanford.edu/syllabus.html (Free)
- Mooc d’Andrew Ng à Coursera (Prof. Stanford) (Free)
- Udacity Nanodegree program
- Udacity Moocs (Free)
- Intro à la statistique avec R – MOOC (Free)
- https://blogs.msdn.microsoft.com/mlfrance
AWS
https://aws.amazon.com/blogs
Apprendre
35. Les avantages d’ECS
Un service totalement managé
Manager des clusters Orchestration
simplifiée et flexible
Intégré auxautresservices
AWSet extensible
Securisé Performance at scale
36. Optimiser sa facture
Spot et Spot Fleet. les règles sont simples…
Marché où le prix des
instances varie en fonction
de l’offre et de la demande
Vous ne payez jamais plus
que ce que vous avez
enchéri. Quand le marché
dépasse votre offre, vous
avez 2 minutes avant que la
machine soit coupée
è Entre 50 à 70% d’économie
sur les machines
On
Spot Fleet
Lancer plusieurs
Instances Spot
37. Cloud Formation pour designer son infra.
Avantages
Infrastructure as code
à Versionner ses stacks
(fichiers JSON ou YAML)
Simplicité d’utilisation
à Drag and drop
Templates
d’Approvisionnement des
ressources
à “Build Once” des stacks