Méthodes d'optimisation pour l'apprentissage automatique
IFP Energies nouvelles (IFPEN) est un acteur majeur de la recherche et de la formation dans les domaines de l’énergie, du transport et de l’environnement. De la recherche à l’industrie, l’innovation technologique est au cœur de son action, articulée autour de trois priorités stratégiques : mobilité durable, énergies nouvelles et hydrocarbures responsables.
Dans le cadre de la mission d’intérêt général confiée par les pouvoirs publics, IFPEN concentre ses efforts sur :
- l’apport de solutions aux défis sociétaux de l’énergie et du climat, en favorisant la transition vers une mobilité durable et l’émergence d’un mix énergétique plus diversifié ;
- la création de richesse et d’emplois, en soutenant l’activité économique française et européenne et la compétitivité des filières industrielles associées.
Partie intégrante d’IFPEN, l’école d’ingénieurs IFP School prépare les générations futures à relever ces défis.
Méthodes d'optimisation pour l'apprentissage automatique
Contexte
En apprentissage automatique, la technologie actuellement prédominante pour effectuer la phase d’entraînement des réseaux de neurones est la méthode du gradient stochastique (SGD, Stochastic Gradient Descent). Cette méthode a été largement adoptée par la communauté du machine learning grâce à sa simplicité d’implémentation et sa relative efficacité au regard des problèmes d’apprentissage.
En contrepartie, elle présente plusieurs défauts comme la mauvaise qualité de l’approximation stochastique du gradient et le manque d’informations de courbure via les dérivées secondes.
Objectifs
Dans le cadre de ce stage, nous nous intéressons aux méthodes de second ordre qui font intervenir les informations de « courbure » via la matrice hessienne ou une approximation par la matrice dite de Fisher. Ces informations sont censées améliorer l’ordre de convergence et réduire le bruit. La piste que nous souhaitons explorer est celle du gradient naturel, où au lieu de raisonner sur les paramètres on travaille avec des distributions de probabilité intrinsèques.
Cependant, la matrice de Fisher est pleine et donc onéreuses à stocker et à inverser. Les premières approximations de la matrice de cette matrice imposant une structure diagonale ou bloc-diagonale sont trop grossières et font perdre l’intérêt des informations. Plus récemment, plusieurs approximations de nature statistique ont été suggérées pour la matrice de Fisher. Nous sommes plus particulièrement intéressés par celle de Martens et Grosse, appelée K-FAC.
Ces auteurs exploitent au mieux la structure d’un réseau DNN et aboutissent à une approximation diagonale par bloc, chaque bloc regroupant correspondant à une couche et représenté par un produit tensoriel (au sens de Kronecker) de deux matrices plus petites, peu chères à stocker et faciles à inverser.
Après une prise en main des fondamentaux algorithmiques et informatiques, le stagiaire sera amené à étudier cette approche et la développer sur les réseaux DNN avec des jeux de données de référence issus de ImageNet. Il s’appuiera sur les logiciels existants comme TensorFlow qui proposent des briques dédiées à la mise en œuvre parallèle des algorithmes étudiés. En effet, l’amélioration de la phase apprentissage des réseaux de neurones avec des gros volume de données font recours au calcul parallèle afin accélérer cette étape qui peut prendre jusqu’à plusieurs jours de calcul.
Profil recherché
Ingénieur Grandes Écoles ou étudiants Master 2.
- Connaissances en optimisation continue, statistiques, machine learning.
- Expérience de programmation en Python, Tensorflow.
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.