Comprendre le machine learning : de la théorie aux algorithmes [e-book gratuit de 449 p.]
(cs.huji.ac.il)- Understanding Machine Learning, écrit par Shai Shalev-Shwartz et Shai Ben-David, est un livre publié en 2014 par Cambridge University Press
- Il traite des fondements théoriques et des algorithmes du machine learning.
- Avec l'autorisation de Cambridge University Press, le PDF du manuscrit a été mis en ligne et peut être téléchargé uniquement pour un usage personnel
- Non destiné à la redistribution
1 commentaires
Avis sur Hacker News
Si vous voulez comprendre facilement le machine learning, je recommande The StatQuest Illustrated Guide to Machine Learning de Josh Starmer : https://www.goodreads.com/book/show/75622146-the-statquest-i...
Jusqu’ici, je n’ai pas vu d’enseignant expliquer des concepts complexes aussi clairement et succinctement que Starmer ; le format ressemble presque à un livre pour enfants, ce qui le rend facile à lire et à comprendre
Il a aussi publié récemment un livre sur les réseaux de neurones, tout aussi bon, et je le recommande vivement même si vous êtes déjà expert, car il donne de bonnes méthodes pour enseigner et transmettre des concepts complexes du machine learning
Je l’ai beaucoup utilisée comme ressource complémentaire quand j’étudiais les statistiques à l’université
Cela dit, j’aurais du mal à le recommander comme moyen d’apprendre le machine learning au-delà d’un niveau superficiel, et il donne aussi une impression un peu datée
Je n’ai pas encore lu le livre sur les réseaux de neurones, mais il pourrait combler cette lacune
Je me demande aussi s’il est raisonnable de penser qu’en venant d’un parcours d’ingénieur logiciel web/développement, on peut accéder à des postes en machine learning/IA en travaillant sérieusement les livres recommandés ici
Mon travail consiste à utiliser le machine learning pour l’analyse économétrique, et la plupart des économistes ne comprennent pas intuitivement le machine learning
Si vous voulez comprendre les bases du machine learning, Probability for computer scientists de Stanford a été une excellente ressource : https://www.youtube.com/watch?v=2MuDZIAzBMY&list=PLoROMvodv4...
Sa manière de traiter la théorie des probabilités et les fondements théoriques du machine learning est meilleure que dans n’importe quel autre cours que j’aie vu, même s’il s’agit essentiellement d’un cours de probabilités couvrant les bases du machine learning
Le cours d’Andrew Ng est également légendaire, mais il suppose une certaine aisance mathématique en algèbre linéaire
Les notes de cours CS109 en PDF sont aussi disponibles : https://chrispiech.github.io/probabilityForComputerScientist...
Si vous voulez une compréhension théorique des sujets de machine learning, Learning From Data de Caltech était aussi très bien : https://work.caltech.edu/telecourse
Il existe aussi un livre pour ce cours de Caltech : https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...
Pour comprendre comment construire des réseaux de neurones à partir de zéro, Neural Networks: Zero to Hero est très bien : https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...
https://bloomberg.github.io/foml/#home est le cours que je préfère personnellement
Si l’objectif est d’apprendre l’IA générative moderne, je recommande plutôt https://udlbook.github.io/udlbook/
J’en ai lu une partie il y a quelques années et, de mémoire, c’était très théorique, avec beaucoup de théorie statistique de l’apprentissage ; la section consacrée à la minimisation structurelle du risque de Vapnik me semblait personnellement erronée
Le livre est fortement orienté théorie et quasiment dépourvu d’applications ; comme il date de 2014, une éternité dans le domaine de l’IA, il est très probable que son contenu applicatif soit aujourd’hui complètement dépassé
Je doute que beaucoup de gens aient envie de le lire aujourd’hui
À ma connaissance, les théories mathématiques comme la théorie statistique de l’apprentissage n’ont pas beaucoup aidé à inventer les transformers, et n’ont pas non plus été utiles pour expliquer pourquoi les réseaux de neurones ne surapprennent pas, même à très grande dimension de VC
Le titre « de la théorie au machine learning » illustre bien le problème de cette approche qui donne la priorité à la théorie
Des gens intéressés par les mathématiques, mais pas par l’ingénierie logicielle, sont arrivés dans le machine learning et ont produit des théories abstraites de l’apprentissage comme la théorie statistique de l’apprentissage, mais celles-ci étaient très éloignées de ce qu’on pouvait réellement faire
À l’inverse, les ingénieurs ont ignoré ces théories, se sont sali les mains avec de vraies implémentations de réseaux de neurones et ont tenté d’en améliorer les performances ; c’est ainsi qu’on a obtenu les réseaux de neurones convolutifs puis, plus tard, les transformers
Je me souviens que Vapnik, dans la préface de son livre, se plaignait presque comme d’un extrémisme de cette tendance à ignorer les belles théories mathématiques pour se concentrer sur la pratique
Mais il est désormais clair, à mon avis, que ces théories étaient trop faibles pour expliquer la complexité des approches qui fonctionnent réellement, et que le machine learning s’est révélé être une branche de l’ingénierie, et non des mathématiques ou de l’informatique théorique
Le titre de ce livre porte le faux espoir que les gens apprendraient d’abord une théorie abstraite de l’apprentissage puis, inspirés par elle, inventeraient bientôt de nouveaux algorithmes
La théorie statistique de l’apprentissage ne peut guère modéliser que l’apprentissage supervisé, sans même parler de l’apprentissage par renforcement ou de l’apprentissage auto-supervisé
Elle n’explique même pas pourquoi les réseaux de neurones résistent au surapprentissage, et les théories séduisantes comme la théorie computationnelle/algorithmique de l’apprentissage, l’induction de Solomonoff ou la complexité de Kolmogorov sont encore plus éloignées de la réalité
Je comprends que certains aspects soient surprenants et que, lorsque la taille et la diversité du jeu de données sont adéquates, les lois de passage à l’échelle se vérifient souvent
Mais d’après mon expérience à entraîner des modèles depuis zéro sur de vrais jeux de données, et non à affiner des modèles préentraînés, les réseaux de neurones peuvent clairement surapprendre s’il n’y a pas assez de données
Mon intuition est que les théories existantes n’ont pas été démontrées vraies dans certaines conditions, par exemple pour certaines caractéristiques de jeux de données, mais qu’aujourd’hui on semble omettre ces réserves en supposant implicitement que les jeux de données sont énormes
Pour des problèmes de niche dans des entreprises hors FAANG, ou dans la réalité où l’on ne peut pas utiliser des jeux de données publics mais non commerciaux, cela reste un vrai problème
Tous les problèmes ne se résolvent pas avec des modèles de fondation ou des modèles de pointe
Je serais preneur d’articles sur le sujet, j’apprends encore
C’est un peu comme en physique : pour comprendre la mécanique quantique, il faut une théorie mathématique. Sinon, cela peut ne pas avoir de sens
Je me demande s’il est utile, en pratique, pour un ingénieur logiciel qui ne fait pas de recherche de comprendre en profondeur les concepts du machine learning
Je ne prévois pas de me diriger vers la recherche, donc j’essaie d’évaluer où concentrer mon apprentissage pour ma carrière
En gros, il semble y avoir en entreprise une demande pour l’implémentation IA/ML, mais, à part une partie du debugging, est-ce vraiment utile de développer des modèles depuis zéro ?
Je me demande aussi si, pour les besoins métier courants, il ne suffit pas la plupart du temps d’ajuster légèrement des modèles prêts à l’emploi à des cas d’usage précis
Ce livre est mon introduction préférée à la théorie du machine learning, en particulier à la théorie statistique de l’apprentissage, et il est bien plus accessible que les autres livres
C’est un livre de 2014 ; est-il encore vraiment pertinent ?
Le livre a 10 ans, n’est-il pas dépassé ?
La mise à jour sur le dilemme biais/variance n’est pas énorme non plus si l’on regarde l’article original de Geman de 1992 : https://www.dam.brown.edu/people/documents/bias-variance.pdf
À l’époque, on traitait des petits jeux de données ou des jeux de données infinis, et la double descente ne fonctionne correctement que lorsque les motifs de l’ensemble de test ressemblent suffisamment à ceux de l’ensemble d’entraînement
Il faut se méfier de certaines vieilles positions, mais les concepts fondamentaux sont les mêmes
Même dans le fine-tuning ou l’apprentissage par renforcement, les problèmes de petits jeux de données/jeux de données infinis où la classe de concepts des données d’apprentissage peut être nouvelle restent couverts par l’article de 1992, et partir du principe que cela est universellement invalidé peut vous freiner
La plupart des concepts de base viennent du milieu du XXe siècle
La disponibilité de grandes quantités de données et les nouvelles découvertes ont bien davantage changé les hypothèses et les outils qu’invalidé les travaux antérieurs
En parcourant cet article, on voit qu’à l’époque les volumes de données et de calcul dont nous disposons aujourd’hui étaient simplement écartés comme irréalistes
Il vaut mieux trouver un livre qui vous convient pour apprendre les concepts et accumuler du savoir tacite
Beaucoup de tentatives cherchent aussi à intégrer des méthodes symboliques et d’autres approches
Construire à la fois de la largeur et de la profondeur aide à gagner du temps et à trouver des opportunités, et je pense que les connaissances fondamentales sont décisives pour cela
Les bases du machine learning — apprentissage/validation, variance/biais — restent les mêmes, et les algorithmes classiques ont toujours leur place
Les avancées récentes qui pourraient manquer seraient sans doute des choses du type forêts à la XGBoost
Avec ces trois livres, on n’a littéralement besoin de rien d’autre, des toutes premières bases jusqu’aux sujets avancés
Si l’on est simplement curieux du machine learning, il y a peu de chances que les informations soient fausses
Mais, contrairement par exemple à un livre de chimie vieux de 11 ans, il ne correspond pas vraiment aux problèmes les plus intéressants auxquels les ingénieurs sont confrontés aujourd’hui
Donc pour préparer des entretiens ou entrer dans le secteur, je ne pense pas que ce soit le plus utile
Parce qu’il se concentrait surtout sur une théorie mathématique abstraite à la valeur discutable, et non sur le deep learning à l’état de l’art
Y a-t-il d’autres livres à recommander ?
Un manuel d’introduction gratuit et accessible, écrit par des chercheurs renommés, qui couvre largement les notions classiques et propose de nombreuses sections « Lab » avec du code.
Il comporte aussi un chapitre sur le deep learning, mais ne traite pas des avancées récentes ; il faudra donc consulter d’autres ressources pour cette partie.
Les explications sont solides et l’ouvrage donne moins l’impression d’avoir vieilli qu’AIMA.