Réseaux de neurones


Objectif

1. Savoir implémenter rapidement les réseaux de neurones standards et savoir les analyser

  • Le terme "réseaux de neurones standards" renvoie aux "feedforward fully-connected and convolutional
    neural networks" entrainés via backpropagation" [19]. Ces "feedforward convolutional neural
    networks" sont actuellement les outils les plus performants pour résoudre de nombreux problèmes de
    vision par ordinateur (reconnaissance d'image [21, 23], segmentation [1, 14], super-resolution [3, 13],
    …).
  • Le terme "rapidement" implique l'usage d'une bibliothèque de "deep learning".
  • Le terme « analyse » » signifie trouver pourquoi un réseau de neurones ne s'entraine pas comme prévu.

2. Savoir travailler avec des données de différentes natures

3. Connaître quelques réseaux de neurones de base de la littérature

En dehors des «feedforward neural networks» entraînés via «backpropagation», il existe une multitude
d'autres familles de réseaux de neurones. Par exemple, les «Restricted Boltzmann Machines» (RBMs)
[8, 7], les «Generative Adversarial Networks» (GANs) [5, 18] et les «Variational Auto-Encoders (VAEs) [11, 22] sont très utilisés dans les problèmes de génération de données. Les «Recurrent Neural Networks» (RNNs) [6, 16] sont populaires pour le traitement du langage naturel.

 

Pré-requis : Maîtrise de Python et Numpy.

Plan

Séance 1

  • Si nécessaire, introduction rapide sur les opérations arithmétiques dans un réseau de neurones standard et sur «backpropagation».
  • Exercice de prise en main de la bibliothéque Tensorflow
  • Construction d'un «feedforward fully-connected neural network »» entraîné via «backpropagation »» pour classifier les «digits » de la base MNIST.

Séance 2

  • Mise en place de toutes les visualisations pour contrôler l'entraînement du réseau de neurones.
  • Paramétrage du réseau de neurones à l'aide des visualisations.
  • Courte évaluation – Transformer ce "feedforward fully-connected neural network" en "feedforward convolutional neural network", puis comparer les scores de classi cation de ces deux réseaux de neurones.

Séance 3

  • Découverte du problème de prédiction des futures ventes dans un ensemble de boutiques.
  • Exercice de prise en main de la bibliothèque Pandas.
  • Réflexion sur le "pre-processing" de ces données.

Séance 4

  • Mise en place d'un réseau de neurones pour résoudre ce problème.
  • Comparaison des solutions.

Séance 5

Projet au choix d'implémentation et d'analyse d'une thématique de recherche sur les réseaux de neurones. Le groupe sera décomposé en 4 groupes de 6 étudiants.

  • Projet 1 : Quels sont les intérêts des variantes de "Stochastic Gradient Descent" (SGD) pour l'entraînement des réseaux de neurones via "backpropagation" ? Les algorithmes à comparer sont au moins SGD, "SGD with momentum" [17], "Adagrad" [4] et "ADAM" [10]"
  • Projet 2 : Quel est l'intérêt des "Recurrent Neural Networks" (RNNs) [6, 9, 2] ?
  • Projet 3 : Que sont les "Restricted Boltzmann Machines" (RBMs) [8] ? Comment est-ce utilisé [20, 12, 15] ?
  • Projet 4 : Pourquoi les "Generative Adversarial Networks" (GANs) [5, 18] sont aussi populaires aujourd'hui ?
  • Projet 5 : Implémenter "backpropagation" "from scratch". Comment vérifier l'implémentation ?

Evaluation – Chaque groupe fera une présentation de 15 minutes sur son projet.

Références

  1. Vijay Badrinarayanan, Alex Kendall, and Roberto Cipolla. Segnet: a deep convolutional encoderdecoder architecture for image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 39, no. 12:2481-2495, December 2017.
  2. Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using RNN encoder-decoder for statistical machine translation. In EMNLP, 2014.
  3. Chao Dong, Chen Change Loy, Kaiming He, and Xiaoou Tang. Image super-resolution using deep convolutional networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 38, no. 2:295-307, February 2016.
  4. John Duchi, Elad Hazan, and Yoram Singer. Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning Research, vol. 12:2121-2159, July 2011.
  5. Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, DavidWarde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In NIPS, 2014.
  6. Alex Graves, Abdel-rahman Mohamed, and Geoffrey Hinton. Speech recognition with deep recurrent neural networks. In ICASSP, 2013.
  7. Geoffrey Hinton. Training products of experts by minimizing contrastive divergence. Neural Computation, vol. 14, no. 8:1771-1800, August 2002.
  8. Geoffrey Hinton. A practical guide to training restricted boltzmann machines. Technical report, University of Toronto, August 2010.
  9. Sepp Hochreiter and Jurgen Schmidhuber. Long-short term memory. Neural Computation, vol. 9, no. 8:1735-1780, 1997.
  10. Diederik P. Kingma and Jimmy Lei Ba. Adam: a method for stochastic optimization. In ICLR, 2015.
  11. Diederik P. Kingma and Max Welling. Auto-encoding variational bayes. In ICLR, 2014.
  12. Honglak Lee, Peter Pham, Yan Largman, and Andrew Y. Ng. Unsupervised feature learning for audio classification using convolutional deep belief networks. In NIPS, 2009.
  13. Bee Lim, Sanghyun Son, Heewon Kim, Seungjun Nah, and Kyoung Mu Lee. Enhanced deep residual networks for single image super-resolution. In CVPR Workshops, 2017.
  14. Pauline Luc, Natalia Neverova, Camille Couprie, Jakob Verbeek, and Yann LeCun. Predicting deeper into the future of semantic segmentation. In ICCV, 2017.
  15. Abdel-rahman Mohamed, George E. Dahl, and Geo_rey Hinton. Acoustic modeling using deep belief networks. IEEE Transactions on Audio, Speech, and Language Processing, vol. 20, issue 1:14-22, January 2012.
  16. Razvan Pascanu, Tomas Mikolov, and Yoshua Bengio. On the di_culty of training recurrent neural networks. Technical report, Université de Montréal, 2012.
  17. Ning Qian. On the momentum in gradient descent learning algorithms. Neural Networks, vol. 12, issue 1:145-151, January 1999.
  18. Alec Radford, Luke Metz, and Soumith Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. In ICLR, 2016.
  19. David E. Rumelhart, Geoffrey E. Hinton, and Ronald J. Williams. Learning representations by backpropagating errors. Nature, vol. 323:533-536, October 1986.
  20. Ruslan Salakhutdinov and Geoffrey E. Hinton. Semantic hashing. In SIGIR, 2017.
  21. Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.
  22. Casper Kaae Sonderby, Tapani Raiko, Maale Lars, Soren Kaae Sonderby, and Ole Winther. Ladder variational autoencoders. In NIPS, 2016.
  23. Christian Szegedy, Vincent Vanhoucke, Sergey Ioe, Jonathon Shlens, and ZbigniewWojna. Rethinking the inception architecture for computer vision. In CVPR, 2016.