4 points par GN⁺ 2025-03-22 | 1 commentaires | Partager sur WhatsApp
  • Pen & Paper est un recueil d’exercices corrigés en détail conçu pour des lecteurs ayant déjà abordé la théorie et les concepts du machine learning, afin d’approfondir leur compréhension par la résolution de problèmes
  • Lorsque les corrigés des exercices dans les manuels et les cours sont trop courts ou absents, l’apprentissage peut facilement se transformer en frustration ; l’ouvrage vise donc un niveau de détail des explications permettant de suivre le raisonnement pas à pas
  • Le code et les simulations sont importants, mais la plupart des problèmes sont conçus pour être résolus avec un stylo et du papier, afin de renforcer la pensée mathématique
  • Les exercices rassemblent principalement des problèmes issus des cours “Unsupervised Machine Learning” de l’University of Helsinki et “Probabilistic Modelling and Reasoning” de l’University of Edinburgh, avec un périmètre centré sur les méthodes non supervisées, l’inférence et l’apprentissage
  • Michael Gutmann souhaite que ce recueil continue de s’enrichir, et indique la publication des sources LaTeX, le signalement des erreurs via les issues GitHub, ainsi qu’une prise de contact directe pour des contributions plus importantes

Un livre pour approfondir sa compréhension par les exercices

  • Comme le dit l’expression « use it or lose it », une compétence rouille si on ne la pratique pas, et l’acquisition de nouvelles compétences demande aussi une application répétée
  • De nombreux manuels et cours proposent des exercices, mais lorsque les corrigés sont trop brefs ou inexistants, la résolution de problèmes devient facilement une source de frustration qu’on a tendance à éviter
  • Ce livre est un recueil d’exercices accompagnés de corrigés détaillés
    • Le niveau de détail visé doit permettre au lecteur de suivre la solution et de comprendre les techniques employées
    • Il ne remplace pas un manuel ou un cours de machine learning
    • Il s’adresse à une situation où l’on a déjà vu la théorie et les concepts associés, puis où l’on consolide sa compréhension par la résolution d’exercices

Une approche centrée sur le stylo et le papier

  • En machine learning, le code et les simulations informatiques sont très importants
  • Toutefois, la plupart des exercices de ce livre peuvent être résolus avec un stylo et du papier
    • Cette approche centrée sur le stylo et le papier réduit le volume et simplifie les explications
    • Elle aide à renforcer les capacités mathématiques
  • Utilisé en parallèle de travaux pratiques sur ordinateur, l’ouvrage peut approfondir encore davantage la compréhension des concepts

Thèmes abordés et périmètre

  • Les exercices rassemblent principalement des contenus développés dans deux cours
    • Unsupervised Machine Learning” de l’University of Helsinki
    • Probabilistic Modelling and Reasoning” de l’University of Edinburgh
  • L’ouvrage ne couvre pas l’ensemble du machine learning
  • Il met fortement l’accent sur les méthodes non supervisées, l’inférence et l’apprentissage
  • L’extrait fourni inclut, dans le chapitre 1 sur l’algèbre linéaire, un exemple de problème sur l’orthogonalisation de Gram–Schmidt
    • Il vérifie par produit scalaire que u1 et u2, construits à partir de deux vecteurs, sont orthogonaux
    • Si a2 est un multiple de a1, alors u2 devient le vecteur nul dans le processus d’orthogonalisation
    • Il montre que toute combinaison linéaire de a1 et a2, lorsqu’ils sont linéairement indépendants, peut être réécrite à l’aide de u1 et u2

Extension et modalités de contribution

  • Le recueil vise à s’étoffer au fil du temps par l’ajout de nouveaux exercices
  • Le code source LaTeX est publié dans le dépôt GitHub
  • Les erreurs ou coquilles peuvent être signalées via des issues GitHub
  • Pour des contributions plus importantes, il est indiqué de prendre contact directement

1 commentaires

 
GN⁺ 2025-03-22
Commentaires sur Hacker News
  • Ça a l’air chouette, mais ce qu’il y a de plus frustrant quand on étudie le machine learning, c’est qu’on a beau creuser la théorie très loin, on voit mal comment elle se relie aux choix concrets.
    Par exemple, j’aimerais savoir comment la théorie aide à décider du nombre de neurones dans une couche, du nombre de couches, de la fonction d’activation, ou encore s’il faut utiliser un réseau de neurones plutôt qu’une autre technique.

    • Ça peut aider : https://github.com/google-research/tuning_playbook
    • Quand on voit que presque tous les articles de machine learning comportent de grandes études d’ablation pour des éléments comme le nombre de neurones par couche, le nombre de couches ou la fonction d’activation, c’est plutôt le signe que, sur ces points, personne ne sait vraiment avec certitude.
      C’est un domaine où l’on essaie plus ou moins au hasard différentes choses pour voir ce qui marche, où l’on se copie mutuellement des idées, et où des lignes directrices floues finissent par émerger.
      Si vous cherchez quelque chose de logique et d’explicable, c’est presque le pire domaine possible ; l’essentiel consiste à étiqueter des jeux de données, payer le coût de calcul, et espérer que ça marche.
    • La plupart des choses ne s’apprennent pas uniquement par la théorie pure ou la pratique pure, et c’est aussi vrai pour presque tout ce qui relève du travail moderne.
      En machine learning, on ne peut pas tout déduire de la théorie. Si c’était possible, les performances des très grands grands modèles de langage ne nous auraient pas autant surpris.
      En même temps, si l’on ne peut pas raisonner sur les mathématiques pertinentes, il devient difficile de comprendre pourquoi quelque chose ne marche pas ou quelles options existent. De nombreux éléments s’entremêlent : architecture, fonction de perte, fonction d’activation, méthodes d’optimisation, hyperparamètres, temps et ressources d’entraînement, etc.
    • Aujourd’hui, la pratique du machine learning a une très grande avance sur la théorie. Même si la théorie rattrape son retard, la réponse à la question dépendra probablement de la nature du processus qui génère les données, et devra donc en fin de compte être trouvée empiriquement.
      Je pense que la valeur de la théorie est de fournir un cadre conceptuel général. C’est un peu comme la théorie asymptotique des algorithmes aujourd’hui : elle ne dit pas précisément quel algorithme utiliser, mais elle donne de grandes orientations.
    • Du point de vue d’un débutant, ce que j’ai surtout retenu du cours Coursera d’Andrew Ng, en particulier la partie sur les réseaux de neurones, c’est qu’ajouter plus de neurones et de couches que le « minimum nécessaire » est généralement acceptable.
      Avec une régularisation raisonnable, le risque de surapprentissage n’est pas énorme, mais malheureusement il n’existe pas de règle pour connaître ce minimum, donc il faut procéder par essais et erreurs. À l’inverse, agrandir le réseau sans discernement devient inefficace et finit par le ralentir.
      Pour la couche de sortie, la fonction d’activation est en général dictée par le problème à résoudre ; pour les couches internes, on commence généralement par ReLU, puis on teste des variantes courantes selon des heuristiques adaptées au problème.
      Il faut bien sûr aussi envisager de partir d’un autre modèle qui a réussi sur un problème similaire.
  • C’est vraiment propre. Ça me rappelle les exercices AI By Hand de Tom Yeh : https://www.byhand.ai/

    • C’est exactement le genre de chose que j’attendais, et je suis très reconnaissant. L’article d’origine est bon lui aussi, mais j’ai l’impression qu’il parle surtout à ceux qui connaissent déjà le sujet.
      Le support lui-même est excellent pour quelqu’un qui connaît déjà ce contenu.
  • Ça a l’air soigné. Dommage toutefois que les solutions soient juste après les questions : on ne peut presque pas éviter de lire la réponse à la question suivante avant d’avoir réfléchi par soi-même.

  • Vraiment très bien. Je travaille dans le machine learning, mais j’ai encore un syndrome de l’imposteur sur les bases mathématiques, en particulier l’algèbre linéaire et les opérations sur matrices/tenseurs.
    Je serais intéressé par d’autres ensembles d’exercices centrés sur les fondamentaux du deep learning. Ce qui me convient le mieux, c’est de pratiquer un peu chaque jour par moi-même, et d’apprendre selon les perspectives de plusieurs enseignants.

  • Parmi les praticiens actuels qui construisent du machine learning « utile », combien pourraient résoudre une partie de ces problèmes ? Et devraient-ils le pouvoir ?

    • Je ne pense pas. Ils ne doivent pas nécessairement pouvoir les résoudre, et ce n’est pas indispensable.
      Ce type d’exercices est utile pour développer la maturité mathématique qui mène à l’intuition nécessaire pour concevoir de nouveaux algorithmes ou des optimisations de bas niveau.
      Ce n’est pas nécessaire dans le cas courant où l’on entraîne, déploie et utilise des algorithmes de machine learning existants.
    • La bonne nouvelle, c’est que si vous ne vous intéressez pas à l’extension des méthodes de pointe et que vous voulez simplement faire des appels d’API, vous n’avez pas besoin d’apprendre le machine learning en profondeur.
    • Tout dépend de la manière dont on définit « praticien du machine learning », « construire » et « machine learning ». Si l’on regarde la section optimisation, certaines personnes comprennent cela très bien et peuvent rapidement faire tourner mentalement les fonctions de perte possibles, les méthodes de mise à jour des paramètres et les points de défaillance potentiels.
    • Certaines personnes voient l’apprentissage comme une corvée et veulent seulement apprendre le minimum nécessaire pour faire le travail. D’autres trouvent dans l’étude de l’intuition et du plaisir, et aiment résoudre des problèmes et lire des ressources.
      Les deux approches peuvent contribuer et mener au succès, mais elles sont différentes.
    • Je me pose la même question. J’ai travaillé plusieurs années comme ingénieur en machine learning et j’ai aussi plusieurs diplômes dans ce domaine.
      En parcourant le document, j’ai reconnu presque tout, mais si on m’interrogeait sans contexte, je ne pense pas que beaucoup de sujets me reviendraient en tête. À une époque, j’aurais peut-être pu.
      Je me demande dans quelle mesure les autres se souviennent de ce contenu. Je ne sais pas si je suis un imposteur qui n’a jamais été très bon en maths, ou s’il est normal d’oublier avec le temps ce qu’on n’utilise pas régulièrement.
  • C’est beau, surtout avec les solutions incluses. Je serais intéressé par davantage de problèmes à faire papier et crayon sur d’autres sujets.

    • Je ne sais pas quels autres sujets tu as en tête, mais rien qu’avec « 1000 exercises in probability », tu en as pour un moment. Le PDF se trouve en ligne.
      Pour d’autres énigmes orientées maths, tu peux regarder « The colossal book of short puzzles and problems » et « The art and craft of problem solving ».
  • Déjà discuté auparavant : Pen and paper exercises in machine learning (2021) - https://news.ycombinator.com/item?id=31913057 - juin 2022, 55 commentaires

  • C’est drôle de voir les mathématiciens toujours essayer de glisser l’algèbre linéaire et la théorie des matrices dans le machine learning. À les écouter, on pourrait croire que le monde académique a inventé les grands modèles de langage et qu’il représente l’expertise à consulter.
    Au contraire, je pense que le monde académique et les théoriciens ont retardé le machine learning, et qu’ils ont considéré les méthodes de calcul comme trop bas de gamme, au point d’imposer à plusieurs générations de doctorants des preuves symboliques comme dans cet exemple.

    • Si tu veux contribuer au machine learning au-delà de la simple utilisation de techniques existantes, la compétence mathématique est le principal facteur limitant.
      Qui contribue dans ce domaine sans être à l’aise en algèbre linéaire ?
      Et je me demande aussi pourquoi résumer tout le domaine aux grands modèles de langage.
    • Point de vue intéressant. Aurais-tu des ressources à recommander qui privilégient les méthodes de calcul plutôt que les preuves symboliques ?
    • Intéressant. Pourrais-tu partager un exemple de ce genre ?
  • arXiv n’est-il pas censé être destiné aux articles de niveau recherche ? Je suis surpris d’y voir ce type de ressource.