Survivre au Deep Learning

Survivre au Deep Learning

2019-01-03

Si le Deep Learning est en train d'envahir de nombreux pans du milieu de la recherche et de s'introduire progressivement dans l'industrie, de plus en plus de gens désirent se former et se tenir informés des évolutions de ce domaine. Cette veille constante est importante du fait de l'extrême jeunesse du Deep Learning. De nouvelles applications apparaissent régulièrement, de nouvelles publications viennent enrichir nos connaissances et nous donner de nouveaux outils pour attaquer nos problèmes, et tenir cette veille est ainsi très important pour tout acteur voulant rester efficace.

Or cette démarche fort louable est rarement aussi simple qu'elle en a l'air. Trop de publications sortent chaque semaine, de nouveaux blogs apparaissent régulièrement (dont celui-ci!) au point où un nouvel arrivant peinera à isoler les quelques sources d'information qui lui seront utiles.

Vous trouverez ci-dessous quelques sources reconnues et particulièrement intéressantes de notre point de vue. Attention, néanmoins :

  • Sans pratique courante de l'anglais, fuyez.
  • La majorité des sources ci-dessous sont des sources de recherche, supposant des connaissances avancées en mathématiques, théorie de l'information, machine learning ou deep learning. Peu de contenus vulgarisés existent aujourd'hui.

Pour l'ingénieur motivé :

vous avez une certaine habitude de l'informatique et des mathématiques, mais cherchez à reprendre le sujet sur des bases solides.

  • The Deep Learning Book par Ian Goodfellow - Yoshua Bengio et Aaron Courville. S'il ne devait y avoir qu'un seul ouvrage à recommander, ce serait celui-là. Il reprend l'ensemble des connaissances de base requises en mathématiques, puis décrit les architectures et méthodologies utilisées aujourd'hui en application de réseaux de neurones pour conclure sur les voies actuelles de recherche. Il est consultable gratuitement en ligne ou peut être acheté en version physique ou numérique.
  • Cours de Machine Learning : Cet ouvrage, accessible aussi directement en ligne, est beaucoup plus axé vers le machine learning originel, mais à ce titre permet de comprendre le contexte global dans lequel le DL est apparu et s'est intégré. Il est très dangereux aujourd'hui de s'attaquer au Deep Learning sans une connaissance réelle des techniques qui l'ont précédé, ne serait-ce que parce que dans de nombreux cas, ces techniques restent aujourd'hui encore plus efficaces et mieux éprouvées.
  • Karpathy's Stanford CS231n: Convolutional Neural Networks for Visual Recognition - Lecture Notes. Vous apprendrez à reconnaître le nom de l'enseignant de Stanford dont le cours sur les CNNs est une référence absolue. Elle reprend de nombreux concepts de base (définition d'un réseau, back-propagation, régularisations) et les illustre parfaaitement sur les CNNs et la catégorisation d'images. L'occasion aussi de suivre l'histoire des différents réseaux dédiés à cette tâche.
  • Neural Network Zoo. Une profusion d'acronymes plus ou moins obscures hantent le milieu des réseaux de neurones, perdant régulièrement les néophytes entre VAE, CNN, RNN, LSTM, GAN, NTM pour n'en citer qu'une petite partie. Cette plateforme a le mérite d'en répertorier une majorité (sans être totalement exhaustive sur les petits derniers, PixelCNN RCNN entre autres) et de donner un bon point de chute en cas d'attaque groupée d'acronymes en bande organisée.
  • Reddit / Learn Machine Learning. Ce channel Reddit est assez récent et manque encore de contributeur, mais il reste un rendez-vous incontournable pour échanger autour de l'apprentissage du Machine Learning. De nombreuses questions sont adressées, et il y a autant à apprendre en suivant les essais d'autrui qu'à confronter les siens à la communauté.

Pour le Data Scientist / Chercheur :

vous maîtrisez les maths et les bases, mais aimeriez optimiser votre veille en minimisant votre perte de temps

  • Deep Learning Papers Reading Roadmap : L'effort est immense et mérite le respect : classer l'ensemble des publications en Deep Learning par domaine et par ordre historique en ne gardant que les plus importantes (ou considérées comme telles aujourd'hui...). Si vous désirez reparcourir un sujet et reprendre les publications fondamentales qui le soutiennent, ce repository est votre meilleur ami.
  • Deep Learning Awesome Papers. Ce repository est très proche du précédent, mais classe ici les publications par nombre de citations, et paraît un peu plus à jour que son compère. Une deuxième excellent adresse à garder de côté.
  • Arxiv Sanity : Une quantité démesurée de publications sans grand intérêt sortent chaque semaine. Les conférences usuelles et les revues permettent d'effectuer un filtrage, mais avec déjà un certain retard. Arxiv Sanity est développé par @Karpathy (encore lui) et effectue un filtrage en utilisant les données d'utilisation d'Arxiv avec des SVMs pour définir quelles publications sortent de la masse. Une référence indispensable pour suivre l'actualité et prendre du recul.
  • GitXiv Deep Learning : Nous avons la chance de travailler dans un domaine où régulièrement, les chercheurs publient avec leurs résultats le code qu'ils ont développé. Gitxiv permet de parcourir ces travaux et de les retrouver directement sur Github. Attention : ce n'est pas parce qu'un code fonctionne que vous pourrez l'utiliser sans souci, voyez ces projets comme des références d'apprentissage et non pas comme des solutions définitives.
  • Reddit / Machine Learning : Ou ne pas chercher à ré-inventer la roue. Ce channel Reddit est la référence pour suivre au quotidien l'actualité et débattre avec des chercheurs, thésards, ingénieurs et curieux de haut niveau capables de disserter sur les dernières dérivations d'une architecture ou sur les mérites comparés de deux paramètres de régularisation. Ne ratez pas les AMA (Ask Me Anything) avec un panel prestigieux dont Y. Lecun, Google Brain, J. Schmidhuber (avec une pincette) ou A. Ng et A Coates.