Philippe GiguèreGLO-4030/7030APPRENTISSAGE PAR RÉSEAUX DE NEURONES PROFONDS Pla

Philippe GiguèreGLO-4030/7030APPRENTISSAGE PAR RÉSEAUX DE NEURONES PROFONDS Plan de cours Introduction Fonctions d’activation Hiver 2020 Plan de cours Bienvenue à bord! • 3ème édition! • L’équipe de cette année : Frédérik Paradis Gaël Letarte Séminaire départemental • Vendredi 17 janvier 2020 • Apprentissage de réseaux de neurones à activations binaires avec garanties statistiques Gaël Letarte Étudiant au doctorat, membre du GRAAL • Heure: 13h30 Local: PLT-3775 • Résumé: Malgré les exploits empiriques des réseaux de neurones profonds, il existe peu de garanties théoriques solides expliquant leurs performances. Nous allons présenter nos récents travaux portant sur l'analyse des réseaux de neurones profonds avec activations binaires, pour lesquels nous pouvons obtenir des garanties statistiques sur leur taux d'erreur. Il en découle une approche originale permettant d'entraîner un modèle composé d'une agrégation de tels réseaux. Cette analyse se base sur la théorie PAC-Bayésienne, qui s'est illustrée récemment comme un outil fructueux pour analyser la capacité de généralisation des réseaux de neurones profonds. 4 Ressources GPU • Accès à des GPU via Jupyter notebook – NVIDIA K20 ou K80 • http://jupyterhub.helios.calculquebec.ca, • Au besoin, lisez le Wiki – https://wiki.calculquebec.ca/w/JupyterHub • Cœurs réservés pour les laboratoires : réservation glo4030 • Gros merci à – Florent Parent – Félix-Antoine Fortin 5 En cours de mise-en-oeuvre Manuel (obligatoire) • Bonne référence • Version html gratuite http://www.deeplearningbook.org/ 6 Pré-requis • Python (laboratoire, TP) • Certaine connaissance de l’apprentissage machine • Probabilité • Algèbre linéaire • Dérivée • Un peu d’optimisation 7 Contenu du cours • Un peu de théorie, oui… • … mais aussi de la pratique… • … et de la collection de timbres – nombre de techniques, trucs – 20+ exemples d’architecture – grand nombre de papiers • 70+ présentations orales • Donner un aperçu du domaine, vous aider à démarrer dans la recherche 8 “All science is either physics or stamp collecting” –E. Rutherford Aperçu 1ère moitié • Connaissances de base (vertical) – Introduction, neurone, fonctions d’activation – Graphes de calculs, fonctions de perte, rétro- propagation – Méthodes d’entraînement par optimisation, batch norm, initialisation des poids, trucs et astuces – Techniques de régularisation – Réseaux à convolution I – Réseaux à convolution II – Examen intra 9 Aperçu 2ème moitié • Concepts avancés (horizontal) : – Word embeddings – Autoencodeurs – Réseaux récurrents (RNN, LSTM et GRU) – Modèles d’attention, proposition de régions d’images, réseaux à mémoire – Apprentissage multitâches, pertes auxiliaires – Distillation (compression) des réseaux – Réseaux génératifs type GAN – Et + 10 (majorité) Présentations orales des étudiants 2e et 3e cycle Examen • Mi-Session (25 février 12h30 à 15h20) – 35% pour GLO-4030 – 33% pour GLO-7030 • Final (21 avril de 12h30 à 14h20) – GLO-4030 seulement – Examen de 2 heures, 20 % – Séance de présentations orales pour GLO-7030 • Pas de documents permis 11 Travaux pratiques • 2 travaux • Total de 20 % • En python ou PyTorch • Interdit d’utiliser : – github public – pastebin – etc. 12 Projets • Équipe de 1 à 2 • GLO-4030 : 25 % • Pour GLO-7030 : 35 % – comme pas d’examen, projet devra être ambitieux (proche de publiable) – bonne méthodologie • Trouvez un jeu de données proche de votre recherche / laboratoire / programme • Vous pouvez utiliser langage et libraire de votre choix (TensorFlow, PyTorch, etc) • Rapport sous format d’article scientifique 13 Mon projet en 180 s (GLO-7030) • Présentation chronométrée de 3 minutes de votre projet de recherche • 14 avril • 1 seule acétate, sans animation, format pdf ratio 16:9 • 1 seul membre de l’équipe • Jugé sur la clarté et la qualité, et non sur le mérite technique • Note attribuée à l’équipe entière (4 %) 14 Présentations orales GLO-7030 • Article plus récent que 1er juin 2018 • Uniquement des conférences suivantes : NIPS, CVPR, ICLR, RSS, ICCV, ECCV, EMNLP, ACL, NAACL et COLING • Présentation 10 minutes, style conférence • M’envoyer votre choix le plus rapidement possible (pour éviter les doublons) • Compte pour 12 % 15 Présentations orales GLO-7030 • 72 inscriptions (horaire chargé!) • Date de votre présentation idéalement en lien avec le contenu du cours • Horaire approximatif : • Si vous voulez présenter sur les CNN, m’envoyer votre suggestion d’article pour pouvoir présenter le 21 février 16 Date nombre prés. Vendredi 21 février 8 Vendredi 20 mars 10 Vendredi 3 avril 10 Vendredi 10 avril 10 Vendredi 17 avril 10 Mardi 21 avril 14 Vendredi 24 avril 10 Sites web • Site du cours : https://ulaval-damas.github.io/glo4030/ • Site pour le forum : – site monPortail GLO-7030 – les étudiants GLO-4030 ont plein accès au forum, en tant qu’utilisateur invité du cours 17 Librairie utilisée : • Recommandation unanime des experts locaux (ils ont utilisés Theano, TensorFlow, Torch, Keras) • Python, et non pas LUA • Facile à débugger – Vous pouvez extraire les données du GPU en tout temps • Dérivation automatique autograd • Support GPU pour Ndarray • Package d’optimisation par descente de gradient inclus (SGD, RMSprop, ADAM, etc.) • Beaucoup d’utilitaires (data loading, entraînement, data augmentation, torchvision etc.) • Facile d’obtenir des modèles pré-entraînés 18 http://pytorch.org/about/ 1.? Introduction Large Scale Visual Recognition Challenge 20 Réseaux profonds • Image Classification Challenge : – 1,000 classes d’objets – 1,431,167 images 0 5 10 15 20 25 30 28.2 25.8 - Shao et al. 2016 2.99 SENets Hu et al. 2017 2.25 5.1 Human Russakovsky et al. 2014 3.57 ResNet He et al. 2015 6.7 GoogLeNet Szegedy et al. 2014 11.7 ZFNet Zeiler and Fergus 2013 7.3 VGG Simonyan and Zisserman 2014 16.4 AlexNet Krizhevsky et al. 2012 - Sanchez and Perronnin 2011 - Lin et al. 2010 Renaissance Erreur top-5 EfficientNet -L2 Xie et al. Nov. 2019 1.3 https://paperswithcode.com/sota/image-classification-on-imagenet Causes de la renaissance #1 21 pré- 2006 Vanishing gradient Crédit : L. Trottier Nouvelles fonctions d’activations (sigmoïde) Venait limiter en pratique la profondeur Causes de la renaissance #1 • ReLU : Rectifier Linear Unit • Introduite en 2010 par Nair et Hinton • Se calcule très rapidement : max(input,0) • Beaucoup moins de vanishing gradient, car pente = 1 dans la partie active 22 Nouvelles fonctions d’activations Causes de la renaissance #2 • Grands jeux de données • www.image-net.org • 14 millions images, 22 000 catégories 23 25 Juin 2005 110 TFlops 2,999 USD Causes de la renaissance #3 Puissance de calcul via GPU Décembre 2017 Continuation de la renaissance • Progrès très rapide via arXiv.org • Plus d’une centaine de soumission par jour • Un article est souvent périmé lorsque présenté en conférence • D’où la motivation pour vos présentations orales (GLO-7030) 26 Certain danger : beaucoup de « bruit » dans les publications ca. 1990 ca. 2019 Évolution des réseaux 27 tanh Average pooling SGD 5 couches 32 filtres 10,000 exemples Crédit photo : Griffin’s auto repair 1000 couches ReLU Drop-out Batch norm Xavier Initialization Pré- entraînement ImageNet Squeeze- and-Excite Data augmentation Early stopping Adam 3,000+ filtres Max pooling Global average pooling Ensemble Multitâche Crédit photo : wildsau.ca Skip connections Convolutions à trous geler des couches lr scheduling Distillation Curriculum Pseudo-label Pourquoi le Deep? • Fonction mathématique extrêmement flexible et puissante (millions de paramètres) • Théorème d’approximation universelle : – Peut approximer n’importe quelle fonction* avec un niveau de précision arbitraire – http://neuralnetworksanddeeplearning.com/chap4.html • Réseaux peu profonds vont : – demander beaucoup de neurones (exponentiel) 28 *continue sur des sous-ensembles compacts de Rn Généralisation vs. profondeur • Street View Home Numbers SVHN 29 Goodfellow et al., Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks, ICLR 2014. Meilleure généralisation • Modèles larges ou peu profonds ont tendance à overfitter 30 Goodfellow et al., Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks, ICLR 2014. SVHNlargeurprofondeurprofondeurlargeur # couches 32 Contraste avec approches traditionnelles Hand- designed program Hand- designed features Input Input Input Input Output Output Output Output Mapping from features Mapping from features Mapping from features Features Simple features Additional layers of more abstract features Representation Learning Deep Learning Rule- based systems Classic machine learning 33 Contraste avec approches traditionnelles Appris conjointement Hand- designed program Hand- designed features Input Input Input Input Output Output Output Output Mapping from features Mapping from features Mapping from features Features Simple features Additional layers of more abstract features Representation Learning Deep Learning Rule- based systems Classic machine learning Architecture = a priori • Façon d’injecter de l’information a priori, via l’architecture • Peut être vu comme un prior (parfois infiniment) fort • Par exemple : – CNN (localité dans les images) – Maxpooling (invariance à la position) – RNN (dépendance temporelle) – Attention (régions plus informatives) – Spatial transformer network (déformation affines) – Softmax (appartenance à une seule classe) 34 Pourquoi le Deep en industrie ? • Applicable à des solutions industrielles • Entraînement (long) se fait en différé • Tourne en temps réel sur machine GPU ou TPU (Tensor Processor Unit, Google) • Le temps d’exécution dépend peu du nombre de classes – YOLO9000 : détection de 9000 uploads/Ingenierie_Lourd/ 01-introduction-2020.pdf

  • 35
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager