Quelle est la meilleure façon d’apprendre l’apprentissage automatique sans prendre de cours en ligne ?

Cet article a plus de 4 ans.

Quel est le meilleur moyen de commencer à apprendre l’apprentissage automatique et l’apprentissage profond sans prendre de cours en ligne ? est apparu à l’origine sur Quora : le lieu pour acquérir et partager des connaissances, donnant aux gens le pouvoir d’apprendre des autres et de mieux comprendre le monde.

Réponse d’Eric Jang, ingénieur de recherche chez Google Brain, sur Quora:

Laissez-moi d’abord commencer en disant qu’il n’y a pas une seule « meilleure façon » d’apprendre l’apprentissage automatique, et vous devriez trouver un système qui fonctionne bien pour vous. Certaines personnes préfèrent la structure des cours, d’autres aiment lire des livres à leur propre rythme, et d’autres encore veulent se plonger directement dans le code.

J’ai commencé par le cours Coursera sur l’apprentissage automatique d’Andrew Ng en 2012, connaissant presque zéro algèbre linéaire et rien sur les statistiques ou l’apprentissage automatique. Notez que même si le cours couvrait les réseaux neuronaux, ce n’était pas un cours sur l’apprentissage profond. J’ai vraiment apprécié la façon dont le cours a formulé « l’apprentissage automatique » comme rien de plus que l’optimisation numérique.

Si les cours en ligne sont trop lents pour vous, la meilleure ressource consolidée est probablement le livre Deep Learning de Goodfellow, Bengio et Courville. Il a quelques chapitres dédiés aux bases (un peu comme ce qui est couvert dans la classe de Ng) et ensuite saute dans les DNN pratiques.

Un fond statistique/mathématiquement rigoureux n’est pas nécessaire pour faire un travail utile de Deep Learning, mais il aide vraiment à formuler des hypothèses sur les raisons pour lesquelles les modèles fonctionnent / ne fonctionnent pas, et ce qui pourrait aider. Le manuel d’apprentissage automatique probabiliste de Murphy est une excellente base pour un ML rigoureux sur le plan mathématique (et il a de superbes diagrammes aussi !)

Après avoir terminé le livre DL, vous pouvez vous « spécialiser » dans l’un des sous-domaines/sous-sous-domaines de l’apprentissage profond, en mettant en œuvre certains des articles vous-même. Quelques exemples de sujets :

  • Apprentissage profond bayésien (combinaison de réseaux neuronaux avec des modèles graphiques)
  • Apprentissage profond par renforcement (AlphaGo, IA jouant à l’Atari, robotique)
  • Modèles génératifs (GANs, PixelCNN, VAEs)
  • Méthodes adversariales (GANs, Acteur-Critique)
  • Théorie de l’apprentissage profond
  • Vision par ordinateur
  • NLP/Parole (traduction, sous-titrage, modèles seq2seq)
  • Raisonnement symbolique (ex.g. résolution de preuves)
  • Réseaux neuronaux récurrents (par ex. LSTMs, mémoire externe, attention)
  • Applications (résolution de problèmes spécifiques à un domaine comme la classification du cancer, le pliage des protéines, la lecture labiale à partir d’une vidéo)
  • Méta-apprentissage / apprentissage à apprendre (Gradients synthétiques, Pathnet)

Le domaine de l’apprentissage profond s’est considérablement développé au cours des dernières années, au point qu’il n’est pas réaliste de grok tous les sous-domaines de l’apprentissage profond en peu de temps. Je recommande de se plonger dans un sous-domaine particulier, et il devient ensuite plus facile d’apprendre les autres sous-domaines une fois que vous en maîtrisez un. Ces domaines n’ont plus tellement en commun, en dehors du fait qu’ils utilisent tous la puissance expressive de l’apprentissage profond pour apprendre des tâches de bout en bout, et sont d’une saveur généralement expérimentale (plutôt que de l’informatique théorique).

De nos jours, les articles les plus intéressants sur l’apprentissage profond sont accompagnés d’une mise en œuvre publiquement disponible dans TensorFlow, Pytorch, Torch, Keras ou Theano, donc une façon de construire une intuition rapidement est de voir si vous pouvez améliorer un modèle existant (par exemple, faire un meilleur ResNet).

Vous ne devriez probablement pas mettre en œuvre votre propre paquet de réseau neuronal en Python à partir de zéro. C’est beaucoup de travail pour obtenir les petits détails corrects (par exemple, voir ce commentaire sur la façon dont l’opération softmax est mise en œuvre dans TensorFlow).

Les cadres d’apprentissage profond sont complexes et prennent un peu de temps à apprendre, et la façon la plus rapide de maîtriser un cadre DL est de mettre en œuvre une architecture de réseau neuronal difficile qui exerce des fonctionnalités obscures du cadre ou des idées à cheval sur plusieurs sous-domaines de DL. Quelques recommandations sur les architectures délicates/les pipelines de formation :

  • Nets progressifs
  • DenseNet
  • Gradins synthétiques
  • Machines de Turing neuronales
  • Embed-to-Control
  • Traduction automatique neuronale

Enfin, beaucoup de chercheurs en apprentissage automatique sont sur Twitter et la communauté Reddit Machine Learning est un bon moyen d’obtenir les dernières nouvelles sur les réseaux neuronaux. Le domaine est très compétitif et évolue très rapidement, il est donc utile de rester à jour.

Cette question a été initialement publiée sur Quora. l’endroit pour acquérir et partager des connaissances, permettant aux gens d’apprendre des autres et de mieux comprendre le monde. Vous pouvez suivre Quora sur Twitter, Facebook et Google+. Autres questions:

  • Apprentissage automatique : À quel point est-il difficile pour un scientifique motivé de construire un système de trading automatisé depuis chez lui ?
  • Programmation informatique : Comment repérer un programmeur débutant ?
  • Apprentissage : Comment penser plus vite et mieux ?
Recevez le meilleur de Forbes dans votre boîte de réception avec les dernières idées d’experts du monde entier.

Quora : l’endroit pour acquérir et partager des connaissances, permettant aux gens d’apprendre des autres et de mieux comprendre le monde.

Chargement …

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.