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.