Ma liste de lecture pour l’apprentissage en profondeur
Littérature recommandée pour ceux qui cherchent à se lancer dans l’apprentissage profond et ceux qui cherchent à combler certaines lacunes dans leurs connaissances.
Ceci est une liste organisée de ce que je recommanderais comme ressources pour en apprendre davantage sur divers aspects de l’apprentissage en profondeur, fortement inspiré par ce référentiel Github, bien que basé sur ma propre expérience personnelle. J’ai l’intention de mettre à jour cette liste de manière quasi régulière au fur et à mesure que de nouveaux articles sortent, ou si je parviens à découvrir des articles qui m’ont vraiment marqué.
Cette liste de lecture est relativement longue et je ne prétends pas avoir lu chaque mot sur chaque page. Cependant, je suis fermement convaincu de développer une bonne base: étant donné l’étendue de l’état actuel de l’apprentissage en profondeur, si vous partez de zéro, il vous reste beaucoup à rattraper. Mon conseil est de tout prendre en main et d’apprendre ce dont vous avez besoin quand vous en avez besoin; c’est inévitable, mais pas insurmontable!
Que cela vous plaise ou non, l’apprentissage en profondeur nécessite une quantité importante de connaissances de base en algèbre linéaire et en statistiques; vous avez besoin d’une bonne base solide avant de pouvoir construire un manoir. Le premier est une exigence pour comprendre les mécanismes de base derrière chaque modèle, et développer une bonne intuition pour l’algèbre linéaire peut vous donner un aperçu de certaines astuces impliquées pour certains modèles (par exemple, les décodeurs de produits internes, l’architecture de lancement). Une compréhension de base de ce dernier est requise pour certaines des tâches les plus simples, par exemple la classification. À mesure que nous abordons des problèmes plus complexes, une formation en statistiques bayésiennes est extrêmement utile: ces idées constituent l’épine dorsale de la modélisation probabiliste, qui est utilisée pour les modèles génératifs – des modèles qui créent de nouvelles données en fonction de ce qu’ils ont appris.
Pour l’algèbre linéaire, je ne recommande pas réellement un manuel de mathématiques. Au lieu de cela, je recommande Mathématiques pour la chimie quantique; ne laissez pas le titre vous déconcerter, car les premiers chapitres de ce qui est déjà un livre très court vous donnent une introduction rapide et une bonne référence pour les propriétés de l’algèbre linéaire. La chimie quantique utilise en fait beaucoup des mêmes mécanismes que l’apprentissage profond (il y a beaucoup de multiplication matricielle et de factorisation), qui ont tous été conçus pour résoudre des approximations de l’équation de Schrödinger. Vous apprendrez à exprimer des concepts sous forme de fonctions de base, de projections et à résoudre des équations linéaires. Le livre est publié par Douvres et est donc extrêmement bon marché à ramasser et bon à avoir autour!
Pour les statistiques, j’évite généralement les manuels universitaires typiques qui se concentrent sur les tests d’hypothèses (c’est-à-dire les valeurs p) que vous pourriez trouver communs en psychologie et en biologie. La prémisse derrière beaucoup de ces idées est «fréquentiste», et à mon humble avis, vous feriez bien mieux de penser comme un statisticien bayésien à la place (mais pas trop de peur d’être paralysé par l’incertitude). Pour cette raison, je recommande Analyse des données bayésiennes par Gelman, Carlin, Stern et Rubin, et pour un livre plus appliqué, Repenser la statistique: un cours bayésien avec des exemples en R et Stan par McElreath. Le premier, en particulier, vous permet de définir tout problème en termes de probabilités et fournit des études de cas pour comprendre comment les statistiques bayésiennes peuvent nous aider à résoudre des problèmes réels et à comprendre le rôle de l’incertitude.
Il y a deux ressources spécifiques que je recommanderais qui vous mettront en place pour de bon: L’apprentissage en profondeur par trois géants du domaine: Ian Goodfellow, Yoshua Bengio et Aaron Courville, et le cours d’Andrew Ng sur deeplearning.ai. Le premier fournit une base extrêmement solide et les fondements théoriques des bases de l’apprentissage en profondeur, tandis que le cours d’Andrew Ng est plus pragmatique, vous apprenant à mettre en œuvre ces modèles à partir de zéro. Un bon livre pour accompagner le cours d’Andrew Ng est celui de François Chollet Deep Learning avec Python. Dans les deux cas, l’accent est mis sur Tensorflow et Keras (pour des raisons évidentes), bien que l’apprentissage L’apprentissage en profondeur devrait vous fournir suffisamment d’abstraction pour implémenter de nombreuses bases.
En substance, la combinaison de ces trois matériaux est suffisante pour vous permettre de commencer à jouer avec des modèles d’apprentissage profond. Bien sûr, cela est certes plus facile à dire qu’à faire car il y a beaucoup de lecture, mais votre futur moi vous en remerciera!
À ce stade, bon nombre des concepts les plus récents de l’apprentissage en profondeur proviennent de documents universitaires: contrairement à de nombreux autres domaines, la quasi-totalité du matériel est disponible sans mur payant. Nous avons la chance que les chercheurs en apprentissage automatique et en apprentissage profond aient tendance à télécharger une quantité importante de leurs articles sur ArXiv, ce qui n’est pas vrai pour d’autres disciplines (par exemple, chimie, physique, astronomie, etc.). Je vous recommande de trouver quelque chose que vous souhaitez résoudre et de commencer à lire des articles qui proposent des solutions à ces problèmes. Par exemple, si vous travaillez avec des images, jetez un œil aux modèles convolutionnels: AlexNet, LeNet, Inception, pour n’en nommer que quelques-uns (dans cet ordre). Si vous travaillez sur des données numériques / séquentielles, consultez les réseaux de neurones récurrents. Ce référentiel Github fournit des faits saillants sur papier jusqu’à il y a quelques années et couvre les articles les plus importants pour une grande partie de l’état actuel de la technique. Si je ne mentionne pas l’un de ces documents, il sera probablement dans ce référentiel.
Dans les sections suivantes, je parlerai d’applications plus spécifiques qui ne sont pas toujours systématiquement couvertes ou intégrées dans les médias grand public, mais qui sont (je pense) incroyablement cool. C’est mon idée d’un guichet unique pour plus d’articles de premier plan, qui ne sont pas toujours liés les uns aux autres.
Matériel bonus: Ce papier ArXiv fournit un aperçu historique assez complet de l’apprentissage en profondeur, remontant aux idées du début du 20e siècle.
Dynamique d’apprentissage et capacité
Une chose sur laquelle je n’ai pas trouvé beaucoup de messages ou d’articles est l’idée générale de la capacité des réseaux de neurones: ce n’est pas une question simple à répondre, et la littérature est en fait assez diversifiée à ce sujet. Bien que la plupart des gens puissent considérer cela comme «trop théorique», il y a des implications importantes à apprendre en comprenant Comment les réseaux de neurones conservent quoi information. Je trouve ce domaine assez intéressant, car il ajoute certainement une composante «organique» à un problème d’optimisation.
Codeurs automatiques
Les encodeurs automatiques sont une classe soignée de modèles qui essaient d’apprendre à extraire des fonctionnalités utiles sans surveillance. L’essentiel de base est qu’un modèle de codeur produit une incorporation qui peut être utilisée par un modèle de décodeur pour reproduire les entrées et, ce faisant, apprend à compresser essentiellement les parties importantes d’une entrée dans un petit vecteur de caractéristiques. Cet article de blog fournit un aperçu complet des encodeurs automatiques variationnels.
Bien que les encodeurs automatiques variationnels soient cool, ils sont généralement limités par le fait que les Gaussiens diagonaux ne font pas de très bonnes approximations des vrais postérieurs dans de nombreux cas (peut-être la plupart). La normalisation des flux est un moyen de transformer des distributions simples et facilement calculables en distributions plus expressives au moyen d’une série de transformations inversibles.
Modèles probabilistes
le Analyse des données bayésiennes livre devrait fournir une bonne base pour cette section: malgré le titre de la section, l’accent est davantage mis sur la capture de l’incertitude du modèle, à la Statistiques bayésiennes. La quantification de l’incertitude est un élément essentiel de la prise de décision rationnelle, ajoutant au thème général de «rendre l’IA digne de confiance» pour l’élaboration des politiques, les voitures autonomes, tout ce jazz. Cette section n’est en aucun cas exhaustive et j’ai l’intention de la développer davantage.
Apprentissage par renforcement
Le sujet brûlant de l’apprentissage en profondeur, les réseaux de neurones apprennent à résoudre les problèmes par essais et erreurs. Cette section est un peu clairsemée à mon goût en ce moment, mais je vais bientôt la remplir.
Modèles graphiques
La théorie des graphes est un moyen de modéliser divers problèmes: par exemple, les réseaux sociaux, les circuits et les données structurées, et bien sûr les réseaux de neurones. Il y a aussi une augmentation de la popularité des graphiques probabilistes, en raison de la facilité avec laquelle ils peuvent potentiellement faire comprendre les effets de causalité. Ces derniers temps, bon nombre des idées dominantes de l’apprentissage en profondeur, telles que les modèles convolutionnels et génératifs, ont trouvé des dérivations analogues dans la littérature sur les réseaux de neurones graphiques.
Pour l’instant, ce sont les ressources vers lesquelles j’irais pour ma solution d’apprentissage en profondeur. Je vais essayer de garder ce post mis à jour périodiquement, mais vous devriez également faire votre propre découverte! Une des façons les plus simples serait de passer par ArXiv et de trouver des articles qui vous intéressent. Compte tenu de son ampleur et du fait que des dizaines à des centaines de nouvelles découvertes sont signalées chaque semaine, ma recommandation est à nouveau de plonger dans les détails car vous devez résoudre différents problèmes. Il est très peu probable que vous puissiez garder le contrôle sur tout, et pour votre propre santé mentale et votre bien-être mental, vous devriez traiter ces papiers et les nouveaux à votre rythme!
N’hésitez pas à me contacter si vous avez des questions, ou si vous pensez que j’ai raté quelque chose et que je devrais l’ajouter à la liste! Aussi, faites-moi savoir si cela vous a aidé du tout!