56
OMP 20171107 [email protected] 1/56 Des réseaux de neurone au Deep Learning, Quelles mises en œuvre ?

Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 [email protected] 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 1/56

Des réseaux de neurone au Deep Learning,Quelles mises en œuvre ?

Page 2: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 2/56

Résumé

● Nous ferons un retour sur quelques expériences de mise en oeuvre de réseaux de neurones dans le milieu académique (correction instrumentale; classification de l'occupation du sol à partir d'images multi-spectrales, multi-résolutions, multi-temporelles; système d'alerte de pollution des bassins versants à partir des données disponibles dans les agences de l'eau). Nous nous intéresserons à la découverte de la bonne topologie du réseau pour optimiser l'apprentissage et surtout la généralisation.

● Par suite, nous essayerons d'en tirer des enseignements pour la mise en oeuvre de solutions d'apprentissage profond.

Page 3: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 3/56

Agenda

● Retours d’EXpérience sur le perceptron multi-couche (PMC)– Classification de l’occupation des sols (images multi-spectrales,

multi-resolutions, multi-temporelles)

– Correction instrumentale

– Système de prévision de la pollution des bassins versants

● Quelle mise en œuvre des PMC : quelle méthode pour la recherche ?

● Quels apports du Deep learning ? Quelles nouvelles approches pour la recherche

● Discussion intérêts et limitations de l’apprentissage profond ?

Page 4: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 4/56

Comprendre et prédire ?

● Comprendre un phénomène observé à partir d’un modèle explicatif

● Une observation représentée par le tuple <X,Y> :

– X, un vecteur de variables/attributs/paramètres prédictifs

– Y, une variable/un vecteur cible dont on souhaite prédire la valeur pour des événements non observés

● On recherche F(X), tel que Y = F(X) + E(X)

– F(X), la fonction de prédiction modélisant notre phénomène

– E(X), l’erreur de prédiction (bruit, approximation)

● Données d’apprentissage → algo d’apprentissage automatique → F(X)

ens. d’observations {<X,Y>}

● F(X) est recherchée dans un espace de fonction/modèle

Page 5: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 5/56

3 Retours d’EXpérience sur les RNs

● Perceptrons multi-couches– REX 1 : segmentation d’image

=> Classification de l’occupation des sols

– REX 2 : correction de série temporelle

=> Correction instrumentale

– REX 3 : modélisation multi-critères de la pollution des eaux.

=> système d’alerte de la pollution des eaux des bassins versants

Page 6: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 6/56

REX1 : Classification de l’occupation des sols

● Travaux de 1995-1997 dans le cadre du programme « Bretagne eau pure » ● Objectif : suivi de l’impact des (bonnes) pratiques agricoles sur la pollution des bassins

versants. (zone tampon pour le maïs autour des cours d’eau, ...). Applicable aussi pour le contrôle des subventions.

● Méthode : utilisation de la télédétection pour remplacer les contrôleurs terrain● Données :

– En entrée : Construction d’une image multi-couche à partir d’images satellitaires (images IGN avion). multi-spectrale, multi-resolution, multi-temporelle (entrée X)

– En sortie : le numéro de classe. 6 classes de pixel à trouver (eau, bâti, maïs, blé, prairie, …) Vérité terrain par parcelle (sortie Y)

● Méthode d’apprentissage supervisée : perceptron multi-couche● Logiciel : code C maison● Matériel : Processeur Alpha de Digital (le premier 64 bit)● Recherche de F(X)=Y

Page 7: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 7/56

REX1 : Classification de l’occupation des sols

● Les entrées : images landsat et spot● En sortie, un seul pixel donne le numéro de classe. Pixel non classé si

la sortie n’est pas compris entre +- 20 % d’une valeur entière. ● Résultat : une seule couche cachée suffit.● 5 classes détectées à 99 %, une à 95 %● Impact de l’atmosphère● Quelques parcelles vérité terrain suffisent pour l’apprentissage! ● Incidence des parcours culturaux ? Choix des dates par un agronome,

nécessité de connaître les phénomènes étudiés (bien qu’un RN puisse être considèré comme une boîte noire)

● Exploration des entrées aussi

Page 8: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 8/56

REX : Classification des sols

● En entrée, un pixel avec ses composantes dans les différentes couches des différentes images● Landsat-5 : 1984-2013.

– Bandes spectrales : 0,45-0,52 µm, 0,52-0,6 µm, 0,63-0,69 µm, 0,76-0,9 µm, 1,55-1,75 µm, 2,08-2,35 µm

– Résolution : Générale : 30 m, Infrarouge thermique :120 m

● Spot 1,2,3 : 1986- … ?– 10 mètres en panchromatique (canal couvrant le domaine visible du spectre électromagnétique : 0,50–0,73 μm)

– 20 mètres en multispectral : Bande 1 : Vert (0,50–0,59 μm), Bande 2 : Rouge (0,61–0,68 μm), Bande 3 : Proche infrarouge (0,78–0,89 μm)

Input n

.

.

Page 9: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 9/56

REX2 : correction instrumentale● Travaux de 1996 : un thésard essayait vainement de corriger les mesures d’un instrument de précision de 1

degré avec une régression linéaire pour en améliorer la précision. PB : la fonction était discontinue...● Objectif : améliorer la précision de radiothermomètre pour des expérimentations en bio-climatologie. Etude

du couvert végétal.● Méthode : cible d’eau avec thermomètre immergé pour les températures de référence. ● Entrées : Température ambiante ? Température de l’électronique ? Température mesurée ? …● Sortie : la température corrigée● Finalement un RN très simple

<todo mettre un schéma d’un radio-thermomètre : E : température mesurée, température de l’électronique S : température corrigée >

● Résultat : passage d’une précision de 1 degré à 0,1 degré.

?Mesure corrigée

Mesure mesurée

Température de l’électronique

Température ambiante

Page 10: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 10/56

REX3 : système d’alerte de pollution d’un BV● Travaux 2011 : contexte du projet

européen Aquaflash (2009-2012)

● Encadrement du master 2 de

Sylvain Pinet avec Sabine Sauvage (Ecolab)

● Publication au colloque mondial SWAT de 2013 (Soil Water Assessment Tool – simulation hydrologique)

● Objectif : système de prévision de pollution des eaux de surface en périodes de crues

1) Identifier les processus et les 

facteurs de contrôle des transferts (à partir de données « simples à acquérir » sur le BV)

3) Construire une carte du bassin versant en fonction des risques de 

contamination

2) Implémenter un ANN qui modélise ces transferts pour chaque élément considéré

Page 11: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 11/56

REX3 : système d’alerte de pollution d’un BV

● Travaux 2011 : contexte du projet européen Aquaflash (2009-2012)

● Objectif : système de prévision de pollution des eaux de surface en périodes de crues

● Adour sur Garonne● Données● Logiciels :

– R : Pré-traitement des données R

– SWAT : création de données synthétiques

– YANNS : simulateur réseau de neurone

Page 12: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 12/56

ETAPE 1 PROCESSUS ET FACTEURS DE CONTROLE

Master 2 Recherche Bio-Statistiques et Modélisation21 Juin 2011

PRESSIONS NATURELLES

Précipitations Températures Vitesse du vent Pourcentage

d’humidité Rayonnement

solaire

12

Page 13: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 13/56

ETAPE 1 PROCESSUS ET FACTEURS DE CONTROLE

Master 2 Recherche Bio-Statistiques et Modélisation21 Juin 2011

PRESSIONS ANTHROPIQUES

PRESSIONS NATURELLES

Occupation des sols Itinéraires techniques Aménagement du territoire

13

Page 14: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 14/56

ETAPE 1 PROCESSUS ET FACTEURS DE CONTROLE

Master 2 Recherche Bio-Statistiques et Modélisation21 Juin 2011

PRESSIONS ANTHROPIQUES

PRESSIONS NATURELLES

CARACTERISTIQUES DES SOLS Pente

Superficie Conductivité hydraulique Profondeur

14

Page 15: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 15/56

OBJECTIF 1 PROCESSUS ET FACTEURS DE CONTROLE

Master 2 Recherche Bio-Statistiques et Modélisation21 Juin 2011

CARACTERISTIQUES DU COURS D’EAU

PRESSIONS ANTHROPIQUES

PRESSIONS NATURELLES

CARACTERISTIQUES DES SOLS

Débit de base Débit de surface Débit de sub-surface Débit de l’aquifère

15

Page 16: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 16/56

Démarche Données terrain à l’exutoireà l’échelle du bassin versant

Données simulées par SWAT à l’échelle des 73 sous

bassins versants

MODELE DE TRANSFERT POUR CHAQUE CONTAMINANT

Sorties obtenues par l’utilisation des modèles à l’échelle des sous

bassins versants

Données terrain sur l’ensemble du bassin

versant

Page 17: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 17/56

Modélisation des flux hydriques puis modélisation des flux de polluants

ANN – hydrologie

ANN – NO3inANN – MESin

Débit de surface

Débit de l’aquifère

Débit de sub-surface

PARAMETRES ISSUS DE RELEVES TERRAIN

QUANTITES DE CONTAMINANTS DISSOUS ET PARTICULAIRES DU MILIEU

17

Page 18: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 18/56

Entrées et sorties utilisées

pour chaque ANN (les paramètres

marqués d’un * ne sont pas pris en compte à l’échelle

mensuelle)

HYDROLOGIE TAUX DE MES TAUX DE NO3

ENTREES

PCP - Précipitations (mm) QSURF - Débit issu du ruissellement de surface (mm)

QSURF - Débit issu du ruissellement de surface (mm)

PCP7 - Précipitations moyennes depuis 7 jours (mm) *

AGRL - Terres agricoles diverses (%) QSUB - Débit issu de l'écoulement de sub-surface (mm)

PCP15 - Précipitations moyennes depuis 15 jours (mm) *

URMD - Réseaux urbains moyens (%) QAQUI - Débit issu de l'écoulement de l'aquifère (mm)

PCP30 - Précipitations moyennes depuis 30 jours (mm) *

WWHT - Blé d'hiver (%) AGRL - Terres agricoles diverses (%)

PEN - Pente moyenne (degré) CORN - Maïs (%) URMD - Réseaux urbains moyens (%)

SUP - Superficie totale (hectare) SUNF - Tournesol (%) WWHT - Blé d'hiver (%)

PROF - Profondeur moyenne des sols (mm)

FRST - Forêts (%) CORN - Maïs (%)

AGRL - Terres agricoles diverses (%) PAST - Pâturages (%) SUNF - Tournesol (%)

URMD - Réseaux urbains moyens (%) MESBASE - Taux de MES moyen en sortie (tonnes)

FRST - Forêts (%)

WWHT - Blé d'hiver (%) MESIN - Taux de MES entrant du sous bassin (tonnes)

PAST - Pâturages (%)

CORN - Maïs (%) PENTFA - Pentes très faibles (%) NO3BASE - Taux de NO3 moyen en sortie (kg)

SUNF - Tournesol (%) PENFA - Pentes faibles (%) NO3IN - Taux de NO3 entrant du sous bassin (kg)

FRST - Forêts (%) PENMOY - Pentes moyennes (%) PENTFA - Pentes très faibles (%)

PAST - Pâturages (%) PENFO - Pentes fortes (%) PENFA - Pentes faibles (%)

ETP - Évapotranspiration (mm/j) PENTFO - Pentes très fortes (%) PENMOY - Pentes moyennes (%)

COND - Conductivité hydraulique (mm/h)

SUP - Superficie totale (hectare) PENFO - Pentes fortes (%)

QBASE - Débit de base du sous bassin (/s)

DATE - Mois d'appartenance de l'échantillon

PENTFO - Pentes très fortes (%)

SUP - Superficie totale (hectare)

DATE - Mois d'appartenance de l'échantillon

SORTIES

QSURF - Débit issu du ruissellement de surface (mm)

MESOUT - TAUX de MES sortant du sous bassin (tonnes)

NO3OUT - TAUX de NO3 sortant du sous bassin (kg)

QSUB - Débit issu de l'écoulement de sub-surface (mm)

QAQUI - Débit issu de l'écoulement de l'aquifère (mm)

Page 19: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 19/56

Résultats pour les matières en suspension

> 84% de bonnes prédictions au niveau de la moyenne

> 87% de bonnes prédictions au niveau des crues majeures

Page 20: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 20/56

Résultats pour les nitrates

> 94% de bonnes prédictions au niveau de la moyenne

> 97% de bonnes prédictions au niveau des crues majeures

Page 21: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 21/56

Quelques rappels sur les RNs

● Un perceptron est un classifieur– Une seule couche cachée suffit pour faire un

approximateur universel (Théorême [Cybenko 1989]) (http://devlog.cnrs.fr/jdev2017/t7)

● Comment faire pour qu’il apprenne bien ?● Les Rns vu comme un objet informatique

Page 22: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 22/56

● Mettre une diapo presentant le calcul du RN● Mettre une diapo sur la propagation des erreurs

sur le RN

Page 23: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 23/56

Rappel sur les RN (vers le Deep learning : séparation extraction de caractéristiques et classifieur)

● Un simple Perceptron (neurone) est en fait un classifieur linéaire, capable de discriminer uniquement deux classes via une droite dans le plan.

● https://blogs.msdn.microsoft.com/mlfrance/2016/04/28/une-premiere-introduction-au-deep-learning/

X∈ℝn , Y∈ℝ

Page 24: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

Neural Networks

What a Multi Layer Perceptron (MLP) may compute

What does a hidden neuron

Divides the input space in two

Combining multiple hidden neurons

Allows identifying complex

areas of the input space

New (distributed)

representation of the input

T. Arti `eres (ECM, LIF-AMU) Deep Learning July 5, 2017 7 / 58

Présentation et vidéo de Thierry Artières (ECM, LIF-AMU)

aux JDEV 2017 http://devlog.cnrs.fr/jdev2017/t7

Page 25: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 25/56

Apprentissage supervisé par descente de gradient

Page 26: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 26/56

L’apprentissage, pourquoi faire ?

Trouver les bons paramètres du réseau/ de la fonction recherchée

et surtout trouver la bonne topologie du réseau !

Page 27: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 27/56

Comment initialiser votre RN ou comment éviter un minimum local ?

● Tirer aléatoirement des paramètres/poids du RN : faire plusieurs fois l’apprentissage (et donc le tirage) et comparer pour éviter de tomber sur un minimum local

● Fonction d’erreur : E(X,W) mesure écart entre valeur attendue et valeur fournie par le réseau.

● Surface d’erreur : ensemble des valeurs (w1 , w2 , ..., wp ,E) de dimension p + 1 avec W=<w1 , w2 , ..., wp > le tuple des paramètres du RN et E la fonction d’erreur

● Réseaux de neurones :

=> surface d’erreur complexe

● Il faut trouver son point le plus bas

● Rétropropagation du gradient :

correction d’erreur = déplacement sur la

surface d’erreur en suivant la ligne de plus grande pente

Page 28: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 28/56

Algorithme de rétropropagation standard

● Règle du « delta généralisé » : usuellement un terme d’inertie (momentum) est rajouté pour une descente de gradient sans oscillation :

en remplaçant (17) par

Source : Le perceptron multicouche et son algorithme de rétropropagation des erreurs - Marc Parizeau (2014)

α

i kj

y i(n) x w ji (n) y j(n) x wkj (n)

i j

y i(n) x w ji(n) e j (n)=Y j− y j(n)

Page 29: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 29/56

Evitez l’apprentissage localisé !

● Choisissez une bonne valeur pour le pas d’apprentissage et le terme d’inertie (momemtum) !

– Pas/taux d’apprentissage : vitesse de descente

– Momentum : limite la plasticité de l’apprentissage vis à vis d’une seule donnée (erronée)

● Présenter les données d’apprentissage aléatoirement à chaque itération pour éviter un apprentissage et désapprentissage local !

Page 30: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 30/56

Comment trouver la bonne topologie du réseau de neurone ?

=> 2 solutions : résolution mathématique ou exploration des topologies

● Il faut trouver une topologie adaptée à la complexité du modèle recherché (attention à la sous-modélisation et à la sur-modélisation)

● Il faut trouver les bons paramètres pour l’apprentissage de chaque réseau de neurone.

Page 31: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 31/56

Quelle est la bonne topologie de mon réseau ?

Recherche de F(X, w)=Y dans l’espace des fonctions de

avec x la dimension du vecteur X des entrées du RN

y la dimension du vecteur Y des sorties du RN

p le nombre des paramètres du RN de l couches et de n(i) paramètres par couche i : p =

=> la topologie doit être en adéquation avec la complexité de la fonction recherchée

Source http://scikit-learn.org

ℝx xℝpdansℝ y

∑i=2

l

n(i)(1+n( i−1))

Sous-dimensionnement Bon dimensionnement Sur-dimensionnement

Attention : le sur-dimensionnement du RN rend possible le sur-apprentissage (over-fitting) avec conséquence une mauvaise généralisation !

TODO : expliquer pourquoi 3 jeux de donnees. Un jeu de données utilisés pour la construction du modele ne peut pas etre utiliser pour la validation.

C’est un principe d’analyse de données.

Les jeux apprentissage et stop utilisées pour la construction du modele.=> il faut un jeu de generalisation

Rq : nb couche intermediaire. Representation lineairement independante. Lineairement independant ??

Page 32: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 32/56

Un code de RN (ex : un simulateur tel que YANNS avec une grammaire de RN)

NoNeurons=27;

Neurons[1..17] {

TransfertFn=Linear;

NoLayer=L1; }

Neurons[18..26] {

TransfertFn=Sigmoid;

NoLayer=L2; }

Neurons[27] {

TransfertFn=Linear;

NoLayer=L3; }

Inputs=[1..17];

Outputs=[27];

Bias {

Target=[18..26];

}

Connections {

Source=L1;

Target=L2; }

Connections{

Source=L2;

Target=L3; }

SCRIPT {

PATH=".\";

LEARNING="jeu.learn.txt";

STOP="jeu.stop.txt", bestNetwork;

TEST="jeu.test.txt";

}

LEARNING {

Algorithm=BACKPROPAGATION(online, 0.5);

AllWeightsInit=Uniform(-0.1, 0.1);

Momentum=0.0001;

NOMAXSTEP=1000;

MinLearningError=0.0000001;

MinStopError=increase;

MAOStopError=5;

Save="jeu.sortie.dsc";

Use="use.set.txt";

}

Boné, R & Crucianu, M & Asselin de Beauville, Jean-Pierre. (2017). Yet Another Neural Network Simulator.

Page 33: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 33/56

Quand arrêter l’apprentissage ?

● Minimisation de l’erreur de la généralisation

● Erreur quadratique sur la base de généralisation (stop) : elle consiste à minimiser la somme des carrés des erreurs entre la sortie du réseau et la valeur réelle de la sortie sur le corpus de généralisation

● Plusieurs conditions d’arrêt :

– OMAXSTEP=1000; // Arrêt de l’apprentissage de 1000 itérations sur le corpus d’apprentissage

– MinLearningError=0.0000001; // Arrêt de l’apprentissage si l’erreur sur le corpus d’apprentissage devient inférieur à 0.0000001

– MinStopError=increase; // Arrêt de l’apprentissage si l’erreur de sur le corpsus de généralisation/stop augmente

– MAOStopError=5; // Moyenne mobile des 5 dernières erreurs calculées sur le corpus de stop

Page 34: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 34/56

Quelle volume de données est nécessaire à l’apprentissage ?

Une règle empirique :

● Il faut 5 à 10 tuples <X,Y> (<entrée,sortie>) pour ajuster chaque poids

● p le nb paramètres du RN de l couches et de n(i) paramètres par couche i :

p = soit p=82 pour un RN 5 entrées/10 neurones en couche cachée/2 sorties

● Il faut donc un corpus d’apprentissage d’au moins 5x83 tuples

● Bonne représentation de l’espace des entrées par le corpus d’apprentissage et du corpus de généralisation

=> complexité pour l’apprentissage d’un RN : nb données * nb itération * coût une rétropropagation

∑i=2

l

n(i)(1+n( i−1))

w i

Page 35: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 35/56

Que faut-il faire si ça n’apprend pas ?● Analyser le processus/phénomène à étudier

– Est-ce les bonnes entrées ?

Attention : les entrées sur les erreurs sont multiplicatives. Enlever les entrées peu contributives

– Est-ce les bonnes sorties ?

● La mise en œuvre des Rns– Assez de données couvrantes ?

– Bonne distribution du corpus d’apprentissage et du corpus de généralisation

– Changer la fonction d’activation

– Choix du taux d’apprentissage et du momentum

● La nature des RN– L’apprentissage : descente de gradient ?

– Nature de la fonction ?

Expliquer les différences entre les fn d’activation.Pourquoi la RELU est utiliser dans les archi profond, car elle permet de propager la quantification du neurone aux couches suivantes

Page 36: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 36/56

Rechercher la meilleure topologie

● Celle qui donne la meilleure généralisation● Explorer des topologies

– Nb couches et nb de neurone limités

– Explorer aussi les entrées ! Limiter le nombre d’entrée.

● Analyser les résultats (vérifier si l’apprentissage a pu se dérouler correctement, ...)

● Rq :– Le nb de neurone intermédiaire m est généralement compris en n/2 et

2n avec n, le nb d’entrée

– Pour un classement, m ≥ nombre de classes (linéairement indépendantes)

Page 37: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 37/56

Méthode pour la recherche du meilleur réseau entraîné (complexité?)

1. Identification des données en entrée et en sortie (corpus d’apprentissage et corpus de généralisation)

2. Normalisation de ces données

3. Identification des paramètres optimisant l’apprentissage tels que les fonctions d’activation, taux d’apprentissage, momentum

4. // Recherche de la topologie plus adaptée

5. Itération sur les topologies de RN (de 2..4 couches, de 1..30 neurones par couches)– Itération (facultative ?) sur quelques paramétres à optimiser (fonctions d’activation, , taux

d’apprentissage, momentum) si nécessaire1. apprentissage du réseau (cf. slide )

6. Analyse des résultats (généralisations)

7. Identification, validation et (raffinement/optimisation?) du réseau optimal

8. Dénormalisation des données en sortie.

Page 38: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 38/56

Synthèse sur l’outil des Rns : quelle méthode pour la recherche ?

● Un estimateur de fonction boîte noire définie par ses entrées et ses sorties

● Modélisation d’un processus par une fontion● Nécessité de bien comprendre les entrées et le sorties du

processus étudié (connaissance à priori des données)● Intérêt : besoin de peu de données. Puissance de calcul moyenne.● Limitation des Rns : le « malheur d’un grand nombre de

paramètre » = les erreurs sur les paramètres sont multiplicatives !!

=> les Rns sont limitées à des modèles ayant peu de paramètres pouvant être les variables explicatives du processus étudié avec une bonne précision (cf. radio-thermomètre).

Page 39: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 39/56

Espace d'entrée

X

Extraction

des

primitives

Espace des primitives

Y

Système

de

décision

Espace des décisions

D

Processus de la reconnaissance de formes

Page 40: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

Machine Learning vs. Deep Learning

T. Arti `eres (ECM, LIF-AMU) Deep Learning July 5, 2017 14 / 58

Perceptron 3 couches

Deep learning

Page 41: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

Machine Learning vs. Deep Learning

T. Arti `eres (ECM, LIF-AMU) Deep Learning July 5, 2017 14 / 58

Perceptron 3 couches

Deep learning

Page 42: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

Caractéristique/forme bas niveauEx : pixel, lettre

Caractéristique/forme haut niveau de plus en plus synthétique (espace de représentation de plus en plus petit)Ex : objet, sequence de mot

Feature extraction : une hiérarchie

Caractéristique/forme niveau moyenEx : trait, mot

Page 43: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 43/56

Méthode

● Apprentissage profond : extraction des représentations et des caractéristiques. Yann Lecunn

● On part des données brutes● Ingénierie des primitives/caractéristiques (feature engineering)●

● Feature extraction / primitives/motif/forme● => paramètre fixe● Presenter exemple: son/spotify -

https://www.ibm.com/developerworks/community/blogs/jfp/entry/Feature_Engineering_For_Deep_Learning?lang=en

● Presenter exemple pour image

Page 44: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 44/56

Différentes types de couches, des architectures variées● Fn d’activation Rectified linear unit (ReLU)

=> suppression des valeurs négatives

● La convolution (cf. filtrage d’image

-passe bas, passe haut, moyen)

● Max pooling, Mean pooling, Sum pooling,

… (sous-échantillonnage)

● Fully Connected layer cad un perceptron

pour la classification

● https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/

● http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/

● https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/

Page 45: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 45/56

CNN (Convolution Neural Networks) ou Convnet : The LeNet Architecture (1990s)

● Reconnaissance visuelle

● shift invariant or space invariant artificial neural networks (SIANN)

● Apprentissage des poids des filtres de convolution

● L’hyper-paramètre de la convolution : la taille du filtre

● Par le pooling, indépendance à la rotation

● Par la convolution, indépendance à la translation

source : https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/

Page 46: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 46/56

Deep Learning

An image of a traffic sign is filtered by 4 5×5 convolutional kernels which create 4 feature maps, these feature maps are subsampled by max pooling. The next layer applies 10 5×5 convolutional kernels to these subsampled images and again we pool the feature maps. The final layer is a fully connected layer where all generated features are combined and used in the classifier (essentially logistic regression). Image by Maurice Peemen.

● Source : https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/

Page 47: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 47/56

CNN : a tiny VGG Net ● FC : Fulll Connected

Source: http://cs231n.github.io/convolutional-networks/, http://cs231n.stanford.edu/

● Honglak Lee, et al, “Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations” (link)

Page 48: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

Recent convNets architectures

I Standard convNets

x i = F i (x i− 1 )

[He et al, CVPR 2016] Thomas Pellegrini

Page 49: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

DenseNets: dense blocks

He et

al, CVPR 2016

Thomas Pellegrini

Page 50: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 50/56

Feature engineering (système de recommandation musicale de Spotify)

MP : Max Pooling

Couche d’entrée : spectre de l’analyse de Fourier

Source :https://www.ibm.com/developerworks/community/blogs/jfp/entry/Feature_Engineering_For_Deep_Learning?lang=en, http://benanne.github.io/2014/08/05/spotify-cnns.html

Feature extraction : structure du sous-réseau gelé

Apprentissage :Modification des poids

Page 51: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 51/56

Comment entraîner un CNN ?The overall training process of the Convolution Network may be summarized as below:

Step1: We initialize all filters and parameters / weights with random values

Step2: The network takes a training image as input, goes through the forward propagation step (convolution, ReLU and pooling operations along with forward propagation in the Fully Connected layer) and finds the output probabilities for each class.

Lets say the output probabilities for the boat image above are [0.2, 0.4, 0.1, 0.3]

Since weights are randomly assigned for the first training example, output probabilities are also random.

Step3: Calculate the total error at the output layer (summation over all 4 classes)

Total Error = ∑ ½ (target probability – output probability) ²

Step4: Use Backpropagation to calculate the gradients of the error with respect to all weights in the network and use gradient descent to update all filter values / weights and parameter values to minimize the output error.

The weights are adjusted in proportion to their contribution to the total error.

When the same image is input again, output probabilities might now be [0.1, 0.1, 0.7, 0.1], which is closer to the target vector [0, 0, 1, 0].

This means that the network has learnt to classify this particular image correctly by adjusting its weights / filters such that the output error is reduced.

Parameters like number of filters, filter sizes, architecture of the network etc. have all been fixed before Step 1 and do not change during training process – only the values of the filter matrix and connection weights get updated.

Step5: Repeat steps 2-4 with all images in the training set.

https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/

Page 52: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 52/56

Comment construire mon premier reseau profond

1. Set up ML package Environment

2. Data Preprocessing

3. Network architecture

4. Training and Hyper-parameter tuning:

5. General tips and points:

https://www.quora.com/How-do-I-build-and-run-my-first-deep-learning-network

Page 53: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 53/56

Apprentissage non supervisée des formes pour l’apprentissage profond

● http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Recommended_Readings

Page 54: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 54/56

Problèmes des réseaux profonds

● Explosion des topologies possibles (nb couches, type de couche)

● La découverte de la bonne topologie du réseau est un problème de recherche

● Optimisation plus complexe avec les hyper-paramètres (taille des filtres de convolution, des fenêtre et du type de polling)

● Explosion des données d’apprentissage à annoter par un expert (on passe de quelques centaines avec les perceptrons à plusieurs milliers)

● Explosion des besoins de calcul● Problématique de l’apprentissage

Page 55: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 55/56

Apprentissage profond, quelle mise en œuvre ?● Trouver la bonne architecture...un combinatoire exponentiel● Tout est dans l’ingénierie des primitives (feature engineering)● Dans les faits, ce n’est pas tout à fait boîte noire. Il faut analyser quelle est la

hiérarchie de caractéristiques à extraire qui vont servir d’entrée à notre algo de décision/de classification (et comment l’extraire)

● Rechercher dans la littérature les réseaux ou les portions de réseaux extracteurs des primitives/formes/caractéristiques des données d’entrée (image, son, texte, …)

● Trouver si possible des extracteurs déjà entraînés● Qu’est ce que c’est que de l’extraction de forme d’un ensemble de mesure (cf.

REX3) ?● Puis-je faire de la recherche par les données sans comprendre mon processus

avec l’apprentissage profond ?● Structurer des données non structurées ?● Recherche des caractéristiques de données brutes sans analyse/pré-traitement

d’un expert ?

Page 56: Des réseaux de neurone au Deep Learning, Quelles mises en ... · OMP 20171107 pascal.dayre@enseeiht.fr 3/56 Agenda Retours d’EXpérience sur le perceptron multi-couche (PMC) –

OMP 20171107 [email protected] 56/56

Vos questions, vos retours d’expériences ?