Soutenance de thèse - ENSEAjerofell/pdf/thesis_pres_jfellus.pdfJérôme Fellus Encadrant : David...

Post on 02-Aug-2020

5 views 0 download

Transcript of Soutenance de thèse - ENSEAjerofell/pdf/thesis_pres_jfellus.pdfJérôme Fellus Encadrant : David...

Jérôme Fellus

Encadrant : David PicardDirecteur de thèse : Philippe-Henri Gosselin

Mardi 3 octobre 2017

Soutenance de thèse

Algorithmes décentralisés et asynchrones pour l'apprentissage statistique large échelle et 

application à l'indexation multimédia

Apprentissage statistique

Apprentissage statistique

OUISTITI ?

Apprentissage statistique

OUISTITI ?

1 0

Apprentissage statistique

OUISTITI ?

1 0

Modèle Fonction de coût

Optimisation Numérique

● Suite de modèles

Optimisation Numérique

● Suite de modèles

Optimisation Numérique

● Suite de modèles

Optimisation Numérique

● Suite de modèles

● Procédure séquentielle● Produit un unique résultat

Parallélisation et Optimisation stochastique

● Problèmes

– Si grand et/ou a beaucoup de paramètres → étapes coûteuses

– Que faire si dépasse la capacité mémoire ?

Parallélisation et Optimisation stochastique

● Problèmes

– Si grand et/ou a beaucoup de paramètres → étapes coûteuses

– Que faire si dépasse la capacité mémoire ?

Parallelisation/Distribution Optimisation stochastique

Partitionner en sous-ensembles confiés à processeurs distincts

Utiliser un sous-ensemble aléatoire de à chaque étape

● Solutions

Parallélisation et Optimisation stochastique

● Problèmes

– Si grand et/ou a beaucoup de paramètres → étapes coûteuses

– Que faire si dépasse la capacité mémoire ?

Parallelisation/Distribution Optimisation stochastique

Partitionner en sous-ensembles confiés à processeurs distincts

Utiliser un sous-ensemble aléatoire de à chaque étape

Complexité d'une étape

Coût d’agrégation des résultats intermédiaires

Complexité d'une étape

Nombre d'étapes

● Solutions

Parallélisation et Optimisation stochastique

● Problèmes

– Si grand et/ou a beaucoup de paramètres → étapes coûteuses

– Que faire si dépasse la capacité mémoire ?

Parallelisation/Distribution Optimisation stochastique

Partitionner en sous-ensembles confiés à processeurs distincts

Utiliser un sous-ensemble aléatoire de à chaque étape

Complexité d'une étape

Coût d’agrégation des résultats intermédiaires

Complexité d'une étape

Nombre d'étapes

Nœud maître

● Solutions

Parallélisation et Optimisation stochastique

● Problèmes

– Si grand et/ou a beaucoup de paramètres → étapes coûteuses

– Que faire si dépasse la capacité mémoire ?

Parallelisation/Distribution Optimisation stochastique

Partitionner en sous-ensembles confiés à processeurs distincts

Utiliser un sous-ensemble aléatoire de à chaque étape

Complexité d'une étape

Coût d’agrégation des résultats intermédiaires

Complexité d'une étape

Nombre d'étapes

Nœud maîtreGoulot d'étranglement Point de faiblesse

● Solutions

Optimisation par consensus● Système décentralisé

– Chaque processeur (nœud) i possède un jeu de données et un modèle local

– Tous les nœuds sont identiques (exécutent la même procédure)

– Le réseau a une connectivité arbitraire (graphe connexe)

    

Optimisation par consensus● Système décentralisé

– Chaque processeur (nœud) i possède un jeu de données et un modèle local

– Tous les nœuds sont identiques (exécutent la même procédure)

– Le réseau a une connectivité arbitraire (graphe connexe)

    

Contrainte de consensus

Minimiser

« Modèle consensus »

Optimisation par consensus● Système décentralisé

– Chaque processeur (nœud) i possède un jeu de données et un modèle local

– Tous les nœuds sont identiques (exécutent la même procédure)

– Le réseau a une connectivité arbitraire (graphe connexe)

● Fonction de coût

Contrainte de consensus

Minimiser

« Modèle consensus »

Risque empirique Risque structurel Contrainte de consensus

Phénomène de Synchronisation

● Consensus : Idée générale = moyenner les modèles entre nœuds

● Moyenner = relation symétrique → exige des communications synchrones

Phénomène de Synchronisation

● Consensus : Idée générale = moyenner les modèles entre nœuds

● Moyenner = relation symétrique → exige des communications synchrones

● Synchronisation locale → synchronisation globale

Phénomène de Synchronisation

● Consensus : Idée générale = moyenner les modèles entre nœuds

● Moyenner = relation symétrique → exige des communications synchrones

● Synchronisation locale → synchronisation globale

Système Asynchrone● Interdire l'attente entre nœuds

● Les nœuds émettent sans se préoccuper des conditions de réception de leur message

Système Asynchrone● Interdire l'attente entre nœuds

● Les nœuds émettent sans se préoccuper des conditions de réception de leur message

● 100% du temps est passé à calculer ou communiquer

Système Asynchrone● Interdire l'attente entre nœuds

● Les nœuds émettent sans se préoccuper des conditions de réception de leur message

● 100% du temps est passé à calculer ou communiquer

Système Asynchrone● Interdire l'attente entre nœuds

● Les nœuds émettent sans se préoccuper des conditions de réception de leur message

● 100% du temps est passé à calculer ou communiquer

Système Asynchrone● Interdire l'attente entre nœuds

● Les nœuds émettent sans se préoccuper des conditions de réception de leur message

● 100% du temps est passé à calculer ou communiquer

● Protocole asymétrique : interdit le moyennage entre nœuds → solutions alternatives

Résumé : Décentralisation et Asynchronisme

Système centralisé synchrone Système décentralisé synchrone

Système décentralisé asynchrone

Plan

Introduction

Analyse théorique

Contributions algorithmiques

Application à l'indexation multimédia distribuée

Séparabilité

● Fonction de coût séparable

Séparabilité

● Fonction de coût séparable

Séparabilité

● Fonction de coût séparable

Séparabilité

● Fonction de coût séparable

● Règles d'apprentissage séparables

Séparabilité

● Fonction de coût séparable

● Règles d'apprentissage séparables

– Les opérations non-linéaires restent locales

– Les échanges entre nœuds sont linéaires

Moyennage décentralisé et asynchrone

→ centralisé, synchrone

→ centralisé, synchrone

→ décentralisé, synchrone

Moyennage décentralisé et asynchrone

→ centralisé, synchrone

→ décentralisé, synchrone

Moyennage décentralisé et asynchrone

→ centralisé, synchrone

– → décentralisé, synchrone

– → décentralisé, asynchrone

Moyennage décentralisé et asynchrone

Paradigme proposé :Protocoles Gossip asynchrones perturbés

Paradigme proposé :Protocoles Gossip asynchrones perturbés

● Fonction non-linéaire locale (<=> programme)

● Combinaisons linéaires asynchrones entre nœuds

Paradigme proposé :Protocoles Gossip asynchrones perturbés

● Fonction non-linéaire locale (<=> programme)

● Combinaisons linéaires asynchrones entre nœuds

Paradigme proposé :Protocoles Gossip asynchrones perturbés

→ Converge vers la bonne solution si la règle d'apprentissage est séparable !

● Fonction non-linéaire locale (<=> programme)

● Combinaisons linéaires asynchrones entre nœuds

Paradigme proposé :Protocoles Gossip asynchrones perturbés

● Propriétés– Les opérations non-linéaires et les mélanges linéaires se déroulent en même temps (algorithmique non-conventionnelle)

– Non seulement les opérateurs sont calculés de manières asynchrone, mais c'est l'ensemble du schéma algorithmique qui devient asynchrone

– Tolère les convergences partielles : une approximation grossière de chaque opération est souvent suffisante pour garantir la convergence globale du processus

Paradigme proposé :Protocoles Gossip asynchrones perturbés

● Propriétés– Les opérations non-linéaires et les mélanges linéaires se déroulent en même temps (algorithmique non-conventionnelle)

– Non seulement les opérateurs sont calculés de manières asynchrone, mais c'est l'ensemble du schéma algorithmique qui devient asynchrone

– Tolère les convergences partielles : une approximation grossière de chaque opération est souvent suffisante pour garantir la convergence globale du processus

Paradigme proposé :Protocoles Gossip asynchrones perturbés

Lien avec Chaine de Markov

Intuitionpetit

« couplage »

linéarité « REGIME CONVERGENT »

Intuitionpetit

grand

« couplage »

linéarité

Perturbations non-linéaires

« REGIME CONVERGENT »

« REGIME CHAOTIQUE»

Intuitionpetit

grand

« couplage »

linéarité

Perturbations non-linéaires

Transition de phase

« REGIME CONVERGENT »

« REGIME CHAOTIQUE»

Ergodicité

Si (Chaîne de Markov)

● Cas où constante :

Théorie spectrale de Perron-Frobenius (puissances de matrices)

Si (Chaîne de Markov)

irréductible et apériodique

Ergodicité 

Ergodicité

● Cas où constante :

Théorie spectrale de Perron-Frobenius (puissances de matrices)

Si (Chaîne de Markov)

irréductible et apériodique

● Extension aux matrices aléatoires (i.i.d.)

irréductible et apériodique

Ergodicité 

Ergodicité

● Cas où constante :

Théorie spectrale de Perron-Frobenius (puissances de matrices)

Si (Chaîne de Markov)

irréductible et apériodique

● Extension aux matrices aléatoires (i.i.d.)

irréductible et apériodique

Ergodicité 

et(e.g.,

« doublement stochastique » )

Ergodicité

● Cas où constante :

Théorie spectrale de Perron-Frobenius (puissances de matrices)

Si (Chaîne de Markov)

Ergodicité forte(rang 1 constante)

irréductible et apériodique

● Extension aux matrices aléatoires (i.i.d.)

irréductible et apériodique

Ergodicité 

et(e.g.,

« doublement stochastique » )

Ergodicité

● Cas où constante :

Théorie spectrale de Perron-Frobenius (puissances de matrices)

Si (Chaîne de Markov)

Ergodicité forte(rang 1 constante)

irréductible et apériodique

● Extension aux matrices aléatoires (i.i.d.)

irréductible et apériodique

Ergodicité 

et(e.g.,

« doublement stochastique » )

Ergodicité

● Cas où constante :

Théorie spectrale de Perron-Frobenius (puissances de matrices)

Si (Chaîne de Markov)

Ergodicité forte(rang 1 constante)

irréductible et apériodique

Ergodicité faible(rang 1 pas constante)

● Extension aux matrices aléatoires (i.i.d.)

irréductible et apériodique

Ergodicité 

et(e.g.,

« doublement stochastique » )

et(e.g.,

« simplement stochastique » )

CAS ASYNCHRONE

Ergodicité

● Cas où constante :

Théorie spectrale de Perron-Frobenius (puissances de matrices)

Si (Chaîne de Markov)

Ergodicité forte(rang 1 constante)

irréductible et apériodique

Ergodicité faible(rang 1 pas constante)

● Extension aux matrices aléatoires (i.i.d.)

irréductible et apériodique

Ergodicité 

et(e.g.,

« doublement stochastique » )

et(e.g.,

« simplement stochastique » )

?

CAS ASYNCHRONE

Ergodicité

Ergodicité faible

● On peut se contenter de l'ergodicité faible ! [Kempe03, Iutzeler13]

● On peut se contenter de l'ergodicité faible ! [Kempe03, Iutzeler13]

Procotoles Gossip Sum-Weight

→ Vitesse de convergence vers rang 1

Ergodicité faible

● Caractérisation de l'ergodicité faible

– Coefficients d’ergodicité (e.g., Dobrushin-Seneta)

● On peut se contenter de l'ergodicité faible ! [Kempe03, Iutzeler13]

Procotoles Gossip Sum-Weight

→ Vitesse de convergence vers rang 1

Ergodicité faible

● Caractérisation de l'ergodicité faible

– Coefficients d’ergodicité (e.g., Dobrushin-Seneta)

● On peut se contenter de l'ergodicité faible ! [Kempe03, Iutzeler13]

Procotoles Gossip Sum-Weight

● Convergence asymptotique

● On perd la borne explicite du cas fortement ergodique → pas d'info sur ● Pas suffisant dans notre cas !

→ Vitesse de convergence vers rang 1

Ergodicité faible

Ce que l’on ne sait pas :Convergence non-asymptotique

● But :

Ce que l’on ne sait pas :Convergence non-asymptotique

● But : ● Borne :

Ce que l’on ne sait pas :Convergence non-asymptotique

● But : ● Borne :

Numérateur ok : Coefficient de Seneta de ● Borne inférieure sur dénominateur ?

Ce que l’on ne sait pas :Convergence non-asymptotique

● But : ● Borne :

Numérateur ok : Coefficient de Seneta de ● Borne inférieure sur dénominateur ?● Comportement imprévisible

si j→*

si k→j

sinon

Formulation comme un problème de croissance de population

Formulation comme un problème de croissance de population

Chaine de Markov homogène sur {1,…,n}

Formulation comme un problème de croissance de population

Question : Combien d'étapes faut-il pour que tous les nœuds soient atteints au moins une fois ?

Chaine de Markov homogène sur {1,…,n}

Formulation comme un problème de croissance de population

Question : Combien d'étapes faut-il pour que tous les nœuds soient atteints au moins une fois ?

Difficultés: Probabilité de croissance non-homogène Dépend de la structure du réseau !

Chaine de Markov homogène sur {1,…,n}

Cas du graphe complet

Cas du graphe complet

● Fonction génératrice des probabilité de T

Cas du graphe complet

● Fonction génératrice des probabilité de T

● Inégalité de concentration (Markov, Chernoff, ...)

avec un probabilité au moins

Cas général : constante de Cheeger

● faible → goulot d'étranglement● élevé → bonne « conductance »

● Géométrie Riemannienne : constante isopérimétrique de Cheeger

Cas général : constante de Cheeger

● Directement liée à→ Borné par un processus de Bernoulli

→ Distribution géométrique

● faible → goulot d'étranglement● élevé → bonne « conductance »

● Géométrie Riemannienne : constante isopérimétrique de Cheeger

Cas général : constante de Cheeger

● Directement liée à→ Borné par un processus de Bernoulli

→ Distribution géométrique

● faible → goulot d'étranglement● élevé → bonne « conductance »

● Inégalité de Cheeger :

– Relation entre conductance et spectre d'un graphe

● Géométrie Riemannienne : constante isopérimétrique de Cheeger

Cas général : constante de Cheeger

● Directement liée à→ Borné par un processus de Bernoulli

→ Distribution géométrique

● faible → goulot d'étranglement● élevé → bonne « conductance »

● Inégalité de Cheeger :

– Relation entre conductance et spectre d'un graphe

● Géométrie Riemannienne : constante isopérimétrique de Cheeger

Contribution théorique

● TODO : THEOREME 1

Plan

Introduction

Analyse théorique

Contributions algorithmiques

Application à l'indexation multimédia distribuée

K-Means

K catégories

K-Means

K catégories

minimiser

K-Means

K catégories

minimiser

K centroïdes

Todo gif animé KMeans

K-Means

K catégories

minimiser

K centroïdes

Assignation :

Mise à jour :

Todo gif animé KMeans

K-means décentralisé

K-means décentralisé

Epidemic K-Means [DiFatta, 2011]

K-means décentralisé

Epidemic K-Means [DiFatta, 2011]

K-means décentralisé

Epidemic K-Means [DiFatta, 2011]

TODOCONVERGENCE EPIDEMIC KMEANS

Perturber plutôt qu'écraser

● Newscast EM : Self-correction mechanism [Kowalczyk, 2005]

Perturber plutôt qu'écraser

● Newscast EM : Self-correction mechanism [Kowalczyk, 2005]

Perturber plutôt qu'écraser

● Newscast EM : Self-correction mechanism [Kowalczyk, 2005]

Perturber plutôt qu'écraser

● Newscast EM : Self-correction mechanism [Kowalczyk, 2005]

Perturber plutôt qu'écraser

● Newscast EM : Self-correction mechanism [Kowalczyk, 2005]

– Initialement : astuce d’accélération en environnement synchrone

– Finalement : indispensable au fonctionnement asynchrone !

AGKM : Asynchronous Gossip K-Means

AGKM : Analyse de convergence● Question : "Pour quelles valeurs de AGKM converge-t-il ?"

AGKM : Analyse de convergence● Question : "Pour quelles valeurs de AGKM converge-t-il ?"

● Dépend :

– Des données

– Du réseau

– De l’ordonnancement

AGKM : Analyse de convergence● Question : "Pour quelles valeurs de AGKM converge-t-il ?"

● Dépend :

– Des données

– Du réseau

– De l’ordonnancement

AGKM : Analyse de convergence● Question : "Pour quelles valeurs de AGKM converge-t-il ?"

● Dépend :

– Des données

– Du réseau

– De l’ordonnancement

1. Lorsque se stabilise sur minimum local, converge spontanément vers 0

2. Condition suffisante pour que décroisse :

3.

4.

AGKM : Résultats expérimentaux

Analyse en Composantes Principales (PCA)

Analyse en Composantes Principales (PCA)

Analyse en Composantes Principales (PCA)

Analyse en Composantes Principales (PCA)

● Conserve le maximum de variance● Conserve au mieux la distance euclidienne● Conserve au mieux le produit scalaire (utile pour classification)

PCA décentralisée et asynchrone

Late PCA [Ordonez, 2014]

PCA décentralisée et asynchrone

Algorithme non-iteratif → ok pour fonctionnement asynchrone

Late PCA [Ordonez, 2014]

PCA décentralisée et asynchrone

Algorithme non-iteratif → ok pour fonctionnement asynchrone

Late PCA [Ordonez, 2014]

PCA décentralisée et asynchrone

Algorithme non-iteratif → ok pour fonctionnement asynchrone

Late PCA

Early PCA

[Ordonez, 2014]

PCA décentralisée et asynchrone

Algorithme non-iteratif → ok pour fonctionnement asynchrone

Late PCA

Early PCA

Échanges restreints à des matrices Dxq

[Ordonez, 2014]

Schéma Early PCAAstuce : décomposition en valeurs singulières (SVD)

Schéma Early PCAAstuce : décomposition en valeurs singulières (SVD)

Schéma Early PCAAstuce : décomposition en valeurs singulières (SVD)

Solution naïve : reconstruire A+B

Schéma Early PCAAstuce : décomposition en valeurs singulières (SVD)

Solution naïve : reconstruire A+B

Astuce :

Schéma Early PCAAstuce : décomposition en valeurs singulières (SVD)

Solution naïve : reconstruire A+B

Astuce :

AGPCA : Asynchronous Gossip PCA

Astuce SVD (pas de matrice DxD)

Décomposition de A+B par Iterations Orthogonales (OI) « dans l’espace compressé »

AGPCA : Analyse théorique

● Scenario avec pertes

● Scenario sans pertes

AGPCA : Analyse théorique

● Scenario avec pertes

● Scenario sans pertes

AGPCA : Analyse théorique

● Scenario avec pertes

● Scenario sans pertes

AGPCA : Résultats expérimentaux

Gradients stochastiques moyennés● Descente de Gradient

Complet (FG)

Gradients stochastiques moyennés● Descente de Gradient

Complet (FG)● Descente de Gradient

Stochastique (SGD)

Gradients stochastiques moyennés● Descente de Gradient

Complet (FG)● Descente de Gradient

Stochastique (SGD)

● Méthodes proximales

Gradients stochastiques moyennés● Descente de Gradient

Complet (FG)● Descente de Gradient

Stochastique (SGD)

● Méthodes proximales ● Descente de gradients moyennés

Gradients stochastiques moyennés● Descente de Gradient

Complet (FG)● Descente de Gradient

Stochastique (SGD)

● Méthodes proximales ● Descente de gradients moyennés

STAG : Short-Term Averaged Gradient

● Idée : Moyenner les L derniers gradients (mémoire limitée)

STAG : Short-Term Averaged Gradient

● Idée : Moyenner les L derniers gradients (mémoire limitée)

STAG : Short-Term Averaged Gradient

● Idée : Moyenner les L derniers gradients (mémoire limitée)

● Structure du problème : exemple de la SVM (primale)

STAG : Short-Term Averaged Gradient

● Idée : Moyenner les L derniers gradients (mémoire limitée)

● Rayon de convergence ? Vitesse de convergence ? L optimal selon le problème ?

● Structure du problème : exemple de la SVM (primale)

AGSTAG : Asynchronous Gossip Short-Term Averaged Gradient

AGSVM : Asynchronous Gossip SVM

Astuces (structure du problème SVM)● On insère uniquement les gradients

non-nuls (exemples mal classés)● On ne mémorise pas les gradients,

seulement l'indice de l'exemple mal classé

● Possible que si le régularisateur n'est pas moyenné (régularisation explicite)

✔ Faible empreinte mémoire✔ Coût de communication réduit

AGSTAG : Résultats expérimentaux

Préférer une régularisation expliciteavec tirage sans remise desexemples d'apprentissage

Si tolérance élevée : préférer SGD (pas constant)Si tolérance faible : préférer L=n/2

Sur cette tache, convergence acceptable en moins d'une époque ! (redondance)

AGSTAG : Résultats expérimentaux (2)

Moyenner seulement les gradients→ Divergence !

Il faut moyenner aussiles paramètres w (hyperplans)

Plan

Introduction

Analyse théorique

Contributions algorithmiques

Application à l'indexation multimédia distribuée

Application à l'indexation multimédia● Recherche multimédia par le contenu (dataset INRIA Holidays, 1491 images)

● Classification d'images (dataset PASCAL VOC2007, 9963 images)

Pipeline

AGKM

AGPCA

AGSVM

Initialisations multiples + moyennage des modèles = meilleure catégorisation

Combat les minima locaux ?

Recherche par similarité (Holidays dataset)

Recherche par similarité (Holidays dataset) (2)

On peut réduire drastiquement les coûts de communication sans impacter

significativement les résultats de recherche

Classification d'images (VOC2007 dataset)

Pas de moyennage local → convergence plus rapide

Réduction des coûts de communication → Convergence plus lente mais même résultat

Conclusion et perspectives● Système d'apprentissage décentralisé et asynchrone : Protocoles Gossip Asynchrones Perturbés– Étude théorique

● Application à l'indexation multimédia– Recherche par similarité

● Validation dans le contexte du projet financeur PIA Culture3DCloud– Plateforme d'indexation décentralisée et asynchrone pour les collections

patrimoniales (images, modèles 3D)

● LibAGML : une librairie logicielle de machine learning sous licence GPL pour illustrer/explorer les capacités des protocoles Gossip asynchrones

● Perspectives– Borne étroite sur les protocoles sum-weight

– Étude pratique de large systèmes hétérogènes en environnement réel (réseaux, algorithmes, architectures machine)

– Données « vivantes » (non-stationnaires) : en flux, intermittentes, volatiles, développementales

– Développement d'accelerateurs matériels sur FPGA

– Contributions algorithmiques (AGKM, AGPCA, AGSTAG)

– Classification d'images

Publications● Revues

– Jérôme Fellus, David Picard et Philippe-Henri Gosselin. Asynchronous Gossip Principal Components Analysis. in Neurocomputing, 2015

– Jérôme Fellus, David Picard et Philippe-Henri Gosselin. Indexation multimédia par dictionnaires visuels en environnement décentralisé : Une approche par protocoles Gossip, in Traitement du Signal, 2015

● Conférences– Jérôme Fellus, David Picard et Philippe-Henri Gosselin. Asynchronous decentralized convex optimization through short-term gradient averaging. in European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (ESANN). Avril 2015, Bruges, Belgique

– Jérôme Fellus, David Picard et Philippe-Henri Gosselin. Dimensionality reduction in decentralized networks by Gossip aggregation of principal components analyzers. in European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (ESANN). Avril 2014, Bruges, Belgique.

– Jérôme Fellus, David Picard et Philippe-Henri Gosselin. Decentralized K-means using randomized Gossip protocols for clustering large datasets. in ICDM Workshop on Knowledge Discovery Using Cloud and Distributed Computing Platforms, Dec 2013, Dallas,Texas, États-Unis

– Jérôme Fellus, David Picard et Philippe-Henri Gosselin. Calcul décentralisé de dictionnaires visuels pour l’indexation multimédia dans les bases de données réparties sur les réseaux. in Orasis, Congrès des jeunes chercheurs en vision par ordinateur (ORASIS), Juin 2013, Cluny, France.