cnx cours2014 1 7 - sorbonne-universite.fr › sdi › isi › fr › img_auth.php › 5 › 54 ›...

18
Deep-learning VI B. Gas - V 0.1 (2014) UE 5AI02/5AK03 - ISIR/UPMC

Upload: others

Post on 08-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Deep-learning

    VI

    B. Gas - V 0.1 (2014) UE 5AI02/5AK03 - ISIR/UPMC

  • Deep-network

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Importance du codage pour la classification: certains codages sont plus adaptés que d’autres pour une classification donnée. Les données complexes peuvent être décomposées en une somme de données moins complexe. Deep-Learning: architecture composée de multiples transformations non linéaires. Deep-learning: années 2000 (Hinton)  

    Deep-MLP non supervisé

  • Deep-network

    Réseaux de neurones: - Approximateur universel -  La couche cachée apprend des caractéristiques -  Données complexes -> couche cachée complexe -  Données complexes -> long temps d’apprentissage -  Réseau complexe -> nécessite un grand nombre de

    données d’apprentissage -> Ajouter des couches cachées.

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Avantage

    Avantage à utiliser un réseau de neurone de type « deep-network » « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Inconvénients

    Les inconvénients de l’apprentissage traditionnel

    Rappel:

    -  Initialisation aléatoire des poids -  Rétropropagation de l’erreur sur toutes les couches

    -  Il est difficile de constituer d’importantes bases de d’apprentissage labélisées ( -> sur-apprentissage, mauvaise généralisation)

    -  La complexité des architectures de type deep-networks conduit à l‘augmentation des minima locaux

    -  L’ajout de couches cachées conduit à une diminution des amplitudes des

    dérivées du gradient sur les premières couches, ce problème de

    « diffusion des gradients » conduit à un déséquilibre de la vitesse

    d’apprentissage entre les premières couches et les dernières couches

    -  Un effet collatéral de la « diffusion des gradients » est l’apprentissage des dernières couches sur des caractéristiques mal extraites par les

    premières couches.

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Réseaux diabolo

    Les réseaux de neurone « diabolo » permettent de faire de la compression

    ou de la classification par « modélisation ».

    projection  

    reconstruction  

    Image   Image estimée  

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Réseaux diabolo

    Les réseaux de neurone « diabolo » permettent de faire de la compression

    ou de la classification par « modélisation ».

    Apprentissage par rétropropagation :

    apprentissage  

    Image  Erreur  

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Diabolos en classification

    D4  

    D3  

    D2  

    D1  

    e2  

    e1  

    e3  

    e4  

    Forme à classer  

    Formes prédites  Erreurs de prédiction  

    classe  

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Diabolos sur la base NIST

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • projection  

    Représentation « compacte » de l’image  

    Image   Image estimée  

    Diabolos codeurs

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Sursoir au problème de la diffusion des gradients: apprendre les couches

    séparément les unes après les autres (greedy layer-wise training):

    -  Apprendre un MLP à une couche cachée -  Puis apprendre un MLP à deux couches cachées -  Etc. jusqu’à obtention de la structure finale…

    Deep-MLP supervisé

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Sursoir au problème de la diffusion des gradients: apprendre les couches

    séparément les unes après les autres:

    -  A chaque étape une couche cachée est ajoutée -  Les poids précédents sont les poids initiaux des étapes suivantes -  Plus d’initialisation aléatoire globale

    -  Couches stabilisées au fur et à mesure par exploitation de la diffusion des gradients

    -  Le dernier ajout correspond à la structure finale

    Deep-MLP supervisé

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Avantage:

    -  Initialisation des poids non aléatoire -> l’apprentissage du réseau final démarre sur une meilleure configuration initiale des poids.

    -  Reste le problème du manque d’exemples de la base de données relativement à la complexité du problème

    -  Une base non étiquetée est plus facile à constituer qu’une base étiquetée -> apprentissage non supervisé.

    2 étapes:

    -  Apprentissage non supervisé des couches cachées les unes après les autres (pile d’auto-encodeurs)

    -  Apprentissage supervisé de la structure finale

    Deep-MLP non-supervisé

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Apprentissage de la première couche cachée (diabolo non supervisé):

    x1

    x2

    x3

    xn

    x̂1

    x̂2

    x̂3

    x̂n

    h(1)1

    h(1)2

    h(1)m1

    Deep-MLP Diabolo

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Apprentissage de la deuxième couche cachée (diabolo non supervisé):

    h(1)1

    h(1)2

    h(1)m1

    ĥ(1)1

    ĥ(1)2

    ĥ(1)m1

    h(2)1

    h(2)2

    h(2)m2

    Deep-MLP Diabolo

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • Apprentissage de la troisième couche cachée (diabolo non supervisé):

    h(2)m2

    h(2)2

    h(2)1 h(3)1

    h(3)2

    h(3)m3 ĥ(2)m2

    ĥ(2)2

    ĥ(2)1

    Deep-MLP Diabolo

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé

  • x1

    x2

    x3

    xn

    x̂1

    x̂2

    x̂3

    x̂n

    h(1)1

    h(1)2

    h(1)m1

    h(2)1

    h(2)2

    h(2)m2

    h(3)1

    h(3)2

    h(3)m3

    Apprentissage de la structure finale (MLP supervisé):

    Deep-MLP Diabolo

  • Avantages de la solution :

    -  Structuration hiérarchisée du réseau: les couches apprennent les caractéristiques de 1er ordre, puis deuxième ordre, etc.

    -  Ensemble d’apprentissage potentiellement volumineux -> meilleure généralisation

    -  Meilleure optimisation (minimum optimal): la descente de gradient a plus de chances de converger vers un minimum local intéressant du fait de

    l’apport d’informations « a priori » important par le processus non

    supervisé.

    -  La dernière étape d’apprentissage est rapide et n’opère qu’un

    ajustement fin des poids pour obtenir la classification finale

    Deep-MLP Diabolo

    « Deep-networks » MLP - N couches Réseaux diabolo

    Diabolos codeurs Deep-MLP supervisé

    Deep-MLP Diabolo

    Deep-MLP non supervisé