Florent D'halluin @flal
Pas Schwarzy, hein, mais c'est vraiment partout, et ça impacte beaucoup de contenu quand même, et on sait pas trop comment ça marche ....
6
6
0
3
5
6
4
3
1
7
8
0
5
Comment je donne un feedback utile à mon élève pour s'améliorer ?
??
Une autre façon d'évaluer
Une autre façon d'évaluer
Score : - 0.2
... pour s'améliorer
Score : - 0.2
Maintenant je peux donner un retour plus constructif ...
Comment prendre en compte ces corrections ?
Comment prendre en compte ces corrections ?
Moyenne des réglages
Je vais ajuster "un petit peu" dans ce sens
Pour être sûr de ne pas "oublier" les autres chiffres, je vais calculer les mises à jour sur plusieurs exemples et moyenner
Moyenne des réglages
Moyenne des réglages
Moyenne des réglages
Une petite partie "aléatoire" ( le batch )
Calcul de la mise à jour des paramètres
Evaluation
Mise à jour avec un taux d'apprentissage
Stochastic Gradient Descent
stochastic
gradient
descent
Il s'agit maintenant de jouer sur le taux d'apprentissage, et la taille des batchs ...
Taux d'apprentissage trop grand, batch trop petits...
Oh, là ! un réseau de neurones ...
-1
2
3
0.5
0.5
1.
0.5
-1
1
-0.5
-2
3
-1
2
3
0.5
1.
Ajustons les paramètres !
Et beh... faut ajouter des neurones alors !
Gradient
??
0.5
1.
0.5
-0.5
0.5
Et si au lieu de faire varier les paramètres, je les fixe, et je fais varier les entrées ?
Gradient
Stochastic Gradient Descent
+
Back-propagation
Pas de généralisation
Eviter le sur-apprentissage
astuce 1
Avoir suffisamment d'exemples et de variété par rapport à la complexité du modèle
Eviter le sur-apprentissage
Astuce 2
évaluer avec un jeu de données séparé (validation)
validation
Training
Eviter le sur-apprentissage
Astuce 3
Forcer le modèle à considérer l'ensemble de l'image, ( et à ignorer le bruit).
Et si on pouvait forcer le modèle a passer par une représentation plus générale de l'image ?
L'avantage :
- beaucoup moins de paramètres
- on "force" le réseau à généraliser
Des exemples de filtres (11x11) appris sur un vrai réseau...
Et on enchaine plusieurs passes....
http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
LeNet - 5 : < 1% d'erreur sur le MNIST.
(contre 2.5 % avec un réseau sans convolution, avec 5x moins de paramètres )
( pendant ce temps là, en 1998 ...)
CNN ( Convolutionnal Neural Network )
On en arrive à des centaines de couches,
des 100M de paramètres ... mais ça marche !
ImageNet challenge : reconnaitre 200 objects ou animaux.
On est maintenant à 3% d'erreur, un humain en moyenne en fait 5%...
Permet de travailler sur des "séquences" de données, de longueur variables
Exemple :
Astuce !
Applications :
Generative adversarial networks
Trop dépendant des données:
Volume => coût (stockage, temps de calcul)
Besoin de données "étiquettées" et propre
Biais
Le problème de l'inexplicabilité: "d'où vient la décision? pourquoi ?"
Florent D'halluin ( @flal ... )
Du machine-learning avec :