Lectures en convexité

Bonjour,

Je souhaite étudier la convexité et l'optimisation, en vue de lire ensuite des cours de "Machine Learning".
J'ai trouvé les cours suivants :

Analyse convexe, Sorbonne Université

Cours de l'ENSTA

Cours d'optimisation du master MVA

Le cours de l'Ensta a l'air le plus complet.

Qu'est-ce que vous pensez de ce choix de cours ?
Merci

Réponses

  • Tout dépend si tu cherches vraiment un cours de convexité ou quelque chose qui traite d'optimisation en général.
  • Bonsoir, j'étais étudiant à l'ensta il y a quelques temps et le cours de Jean-Charles Gilbert était vraiment excellent. Je conseille notamment de lire les documents manuscrits sur sa page car ils contiennent énormément de motivations heuristiques et d'illustrations géométriques et permettent ainsi de bien comprendre les notions et de rendre le cheminement du cours très "naturel". J'ai aussi suivi le cours du mva qui est très bien aussi. Sinon il y a des références classiques comme le [large]N[/large]esterov, le [large]B[/large]oyd et le [large]N[/large]emirovski entre autres.

    [Les noms propres prennent toujours une majuscule. AD]
  • Le cours de jean-Charles Gilbert est beaucoup plus complet que le cours du MVA. Le cours du MVA a l'air assez rapide.

    @Ramufasa : tu as fait l'ENSTA et le master MVA. Que fais-tu maintenant ? Une thèse en "Machine Learning" ?
  • Bonjour,
    J'ai fait effectivement fait l'ensta mais pas le master mva, j'ai simplement suivi le cours que tu as cité en candidat libre. Et oui, je suis en thèse en "machine learning" ^^
  • En fait ce dont tu as besoin c'est (éventuellement) tous les théorèmes d'existence de solutions à des problèmes d'optimisation et surtout un bon morceau sur les techniques de gradient non ?
    J'avais mon cours du msv qui était moyennement bien mais qui peut t'intéresser (en gros théorèmes classiques d'optimisation sous contrainte ou non, Fritz-John, algorithmes de gradients).
    Mais dans ce cas il te faut absolument un cours complémentaire pour le gradient stochastique.
  • Pour résoudre le problème d'optimisation d'un SVM "Support Vector Machine", il faut utiliser une formulation duale du lagrangien.

    Les connaissances requises sont au moins :
    - la formulation duale du lagrangien
    - la sous-différentielle
    - les méthodes proximales, sparse

    Ce n'est pas juste calculer un gradient.
  • @Ramufasa

    Beaucoup de thèses visent à inventer une n-ième variante de tel réseau de neurones. Cela me paraît un peu vain.
  • Ravi de savoir que tu connais mon sujet de thèse sans même connaitre mon nom ! ^^
  • Bonjour,

    Ne fais pas attention, Ramufasa, Zestiria a l'habitude de beaucoup parler à propos de sujets qu'il ne connaît pas.

    Cordialement,

    Rescassol
  • @Ramafusa : je ne parle pas de ta thèse, que je ne connais pas.

    Et que penses-tu des directions actuelles de recherche ? Les réseaux de neurones atteignent les meilleures performances de prédiction, dans beaucoup de domaines, donc beaucoup de thèses étudient les réseaux de neurones. Chacun y va de sa nouvelle variante de GAN ( generative adversarial network) ?

    Quelles sont les tendances actuelles, dans les sujets de thèse ?
  • Merci Rescassol.

    Zestiria, pas de souci, je n'ai pas mal pris ton message. Néanmoins, quand tu dis "beaucoup de thèses visent à...", c'est plutôt très faux de ce que j'en sais. En fait, c'est vrai si tu regardes des sujets de thèse en informatique ou dans un domaine d'application précis comme l'imagerie médicale ou le traitement du langage naturel.

    Dans les labos de maths, les gens cherchent moins à inventer de nouvelles variantes d'algorithmes connus qu'à les comprendre plus profondément. "Les réseaux de neurones atteignent les meilleures performances..." oui mais ce n'est pas satisfaisant d'un point de vue mathématique car il n'y a pas encore une compréhension fine de pourquoi.

    À l'inverse, dire que les réseaux de neurones sont des "boites noires" est plutôt faux car quelques résultats ont déjà été obtenus.

    Concernant les tendances actuelles, j'aime bien reprendre une classification faite par Gitta Kutyniok :
    - une question majeure concerne l'expressivité des réseaux de neurones : étant donnée une architecture fixée, quelle classe de fonctions peut-on approcher ? Un théorème de Cybenko montre que l'espace des réseaux de neurones sigmoidaux à 1 couche cachée est dense dans l'espace des fonctions continues (sur un compact) mais pas mal de chercheurs essaient actuellement d'obtenir des raffinements de ce résultat ou des résultats plus quantitatifs. Cela relève typiquement de l'analyse harmonique.
    - une autre concerne l'optimisation d'un réseau de neurones : c'est un problème non-convexe et de très grande dimension mais on s'en sort bien ce qui est plutôt contraire à ce que dit l'optimisation convexe. En particulier, du fait de la non-convexite on a de multiples optima et certains chercheurs essaient de comprendre quels sont les optima optimaux ^^ des approches consistent à voir la descente de gradient stochastique comme la discretisation d'une équation différentielle stochastique et à utiliser directement la version continue. Une autre question sur l'optimisation et l'existence de multiples optima est de caractériser le "biais implicite" de la descente de gradient stochastique ie le fait que cet algorithme "choisisse" des minima locaux menant à des solutions de plus petite norme dans un certain espace de Hilbert à noyau reproduisant.
    - une question concerne la généralisation. La théorie classique de Vapnik-Chervonenkis fait apparaître un "compromis biais-variance" comme en stats et on peut montrer que des modèles qui sur-apprennent généralisent mal. Cette théorie ne s'applique pas aux réseaux de neurones et dailleurs on voit empiriquement que des réseaux de neurones peuvent parfaitement reproduire leurs données d'entrainement tout en généralisant bien. C'est le phénomène de l'overfitting benin très étudié en ce moment par Belkin et Bartlett entre autres.
    - une autre question concerne l'interprétabilite et la représentation induite par un réseau de neurones mais ma flemme me fait arrêter.

    En bref, il y a d'innombrables questions théoriques encore non résolues et les thèses en maths s'intéressent principalement à ces questions là plutôt qu'à l'amélioration d'un paramètre dans un modèle pour obtenir de meilleurs résultats.

    PS : je peux donner des pointeurs vers la littérature pour les lecteurs intéressés !
  • Remarque : tu parlais des Gans, et c'est justement un sujet qui pose beaucoup de questions d'un point de vue théorique : quelles sont les propriétés de ce jeu à somme nulle ? Quelle est la trajectoire de la loi du générateur durant l'apprentissage dans un espace de mesures de probabilité approprié ? Quelles sont les propriétés du problème d'apprentissage sous-jacent (qui est un problème min-max) ? Quel est le rôle de la métrique choisie (divergence de Jensen-Shannon, distance de Wasserstein, ou autre) ? ...
  • Certains chercheurs utilisent les outils des matrices alétaoires par exemple pour comprendre mieux comment fonctionnent mieux les réseaux de neurones.

    Tu codes sous Pytorch ? Il me semble que c'est la référence maintenant, devant TensorFlow.
    Quelles ressources est-ce que tu conseilles pour apprendre à coder un réseau de neurones, être à l'aise pour trouver une architecture qui donne de bons résultats. Dans l'industrie,il faut surtout fournir un modèle qui a un bon pouvoir de prédiction, avoir le savoir-faire pour tester plein d'architectures, jusqu’à en trouver une qui marche bien. Comment est-ce qu'on acquiert ce savoir-faire ?

    Comment est-ce que tu fais pour suivre l'actualité ? Il y a trop de production.
    Tu suis les workshops des principales conférences ( Neurips, ICML, ICLR) ?

    @Rescassol : c'est un fil pour découvrir le Machine Learning.
  • Effectivement, beaucoup d'autres outils que ceux que j'ai cités sont utilisés.

    Sinon, je ne code que très très rarement et je suis incapable du moindre automatisme donc je cherche sur internet comment faire telle ou telle chose. Je n'ai donc pas de framework privilégié.

    Pour l'acquisition du savoir-faire, c'est comme pour tout : cela s'acquière par la pratique. Néanmoins, je conseille vraiment beaucoup de garder un pied dans la théorie, qui peut s'avérer très pratique (au sens propre).

    Enfin, je ne suis évidemment pas l'intégralité de l'actualité vue la quantité impressionnante d'équipes travaillant sur ce genre de sujets. Disons plutôt que je sais à peu près qui travaillent sur les thématiques qui m'intéressent et que je suis un peu leurs travaux. Les workshops sont un bon moyen de se mettre en appétit ie de comprendre les motivations et heuristique derrière une théorie et d'avoir un condensé de résultats théoriques et empiriques. Néanmoins, je préfère les "vrais" articles de recherche que les papiers de conférence (8 pages c'est un peu court pour des maths).
  • J'ai fini de lire le cours de M1 sur la convexité de Paris 6.

    Les démonstrations sont bien détaillées. Je vais lire les deux autres cours cités :
    - celui de l'Ensta de Jean-Charles Gilbert
    - celui du master MVA.
Connectez-vous ou Inscrivez-vous pour répondre.