Projets Deep Learning
Date du rendu
Le projet est à rendre le 17 mars 2025.
Liste des projets
- Huang, G., Liu, Z., Van Der Maaten, L., & Weinberger, K. Q. (2017). Densely connected convolutional networks, https://arxiv.org/pdf/1608.06993 - Hicham
- Howard, A. G. (2017). Mobilenets: Efficient convolutional neural networks for mobile vision applications, https://arxiv.org/pdf/1704.04861 - Hoe Ziet
- Iandola, F. N. (2016). SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and < 0.5 MB model size, https://arxiv.org/pdf/1602.07360 - Yaniss
- Sabour, S., Frosst, N., $amp; Hinton, G. E. (2017). Dynamic routing between capsules, https://arxiv.org/pdf/1710.09829 - Samir
- Huang, Z., Xu, W., $amp; Yu, K. (2015). Bidirectional LSTM-CRF models for sequence tagging, https://arxiv.org/pdf/1508.01991 - Yasmine
- Zhang, H., Goodfellow, I., Metaxas, D., $amp; Odena, A. (2019, May). Self-attention generative adversarial networks, https://arxiv.org/pdf/1805.08318 - Cheickna
- Shi, X., Chen, Z., Wang, H., Yeung, D. Y., Wong, W. K., $amp; Woo, W. C. (2015). Convolutional LSTM network: A machine learning approach for precipitation nowcasting, https://proceedings.neurips.cc/paper_files/paper/2015/file/07563a3fe3bbe7e3ba84431ad9d055af-Paper.pdf - Istiak
- Oord, A. V. D. (2016). WaveNet: A Generative Model for Raw Audio, https://arxiv.org/pdf/1609.03499 - Yann
- Van Den Oord, A., Kalchbrenner, N., $amp; Kavukcuoglu, K. (2016, June). Pixel recurrent neural networks, https://arxiv.org/pdf/1601.06759 - Xingyu
- Zhou, Z., Rahman Siddiquee, M. M., Tajbakhsh, N., $amp; Liang, J. (2018). Unet++: A nested u-net architecture for medical image segmentation https://arxiv.org/pdf/1807.10165 - Bilal
- Bai, S., Kolter, J. Z., $amp; Koltun, V. (2018). An empirical evaluation of generic convolutional and recurrent networks for sequence modeling https://arxiv.org/pdf/1803.01271 - Luka
- Oreshkin, B. N., Carpov, D., Chapados, N., $amp; Bengio, Y. (2019). N-BEATS: Neural basis expansion analysis for interpretable time series forecasting https://arxiv.org/pdf/1905.10437 - Dimitri
- Lai, G., Chang, W. C., Yang, Y., $amp; Liu, H. (2018, June). Modeling long-and short-term temporal patterns with deep neural networks https://arxiv.org/pdf/1703.07015 - Kossi Robert
- Han, K., Wang, Y., Tian, Q., Guo, J., Xu, C., $amp; Xu, C. (2020). Ghostnet: More features from cheap operations https://openaccess.thecvf.com/content_CVPR_2020/papers/Han_GhostNet_More_Features_From_Cheap_Operations_CVPR_2020_paper.pdf - Marinet
- Simonyan, K. (2014). Very deep convolutional networks for large-scale image recognition. https://arxiv.org/pdf/1409.1556 - Laura
- Piczak, K. J. (2015, September). Environmental sound classification with convolutional neural networks https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7324337
Description du Projet
Dans ce projet, vous allez reproduire les résultats d’un article scientifique traitant d'une architecture de réseau de neurones appliquée à un problème classique (classification de musique, prévision de séries temporelles, reconnaissance d’image, etc.). Vous devrez coder complètement l’architecture en utilisant uniquement les notions vues en cours (MLP, CNN, RNN, attention) et détailler votre démarche.
L'objectif est de comprendre les décisions architecturales, de maîtriser les techniques de recherche d'hyperparamètres et d'entrainement avancé (early stopping, évolution des courbes d’apprentissage), tout en évaluant votre capacité à répliquer des résultats publiés.
Vous utiliserez TensorBoard pour suivre les courbes d’apprentissage (perte, précision) à différents stades de votre recherche d'hyperparamètres. Enfin, vous répondrez à une série de questions pour guider votre réflexion et structurer votre rapport final.
Questions
- Présentez l’objectif de l’article. Quel problème cherche-t-il à résoudre ?
- Comment avez-vous chargé le dataset ? Quelles transformations avez-vous effectuées ? Pourquoi ?
- Décrivez l'architecture proposée dans l'article.
- Pour chaque couche du modèle, précisez :
- Type de couche (Dense, Conv2D, LSTM, etc.)
- Taille des entrées et sorties
- Nombre de paramètres
- Quel est le nombre total de paramètres du modèle ?
- Quelle fonction de perte a été utilisée ? Pourquoi ?
- Quel optimiseur a été choisi ? Justifiez ce choix.
- Expliquez la stratégie de train/validation/test mise en place.
- Détaillez les expériences (taille du dataset, paramètres fixes, temps d’entraînement, nombre d'époques, batch size, ...).
- Implémentez un mécanisme d'early stopping et une planification du learning rate (scheduling), même si ce n’était pas présent dans l'article. Quels sont les effets observés ?
- Pour guider votre recherche d’hyperparamètres, suivez les étapes suivantes vues en cours:
- Vérifiez la perte initiale du modèle. Est-elle cohérente ?
- Overfit intentionnellement sur un petit échantillon. Le modèle parvient-il à apprendre ?
- Trouvez un learning rate qui fait diminuer la loss de manière stable.
- Effectuez une petite recherche en grille autour des paramètres trouvés.
- Pour les configurations prometteuses, poursuivez l'entraînement et observez les courbes d'apprentissage.
- Que remarquez-vous sur les courbes d'apprentissage (TensorBoard) ?
- Quels hyperparamètres semblent optimaux ? Justifiez.
- Avez-vous réussi à reproduire les résultats de l'article ? Si non, quelles pourraient être les raisons ?
- Avez-vous observé des problèmes d'exploding ou vanishing gradient ? Si oui, comment les avez-vous identifiés et résolus ?
- En utilisant des graphiques, montrez si votre modèle a surappris (overfitting) ou sous-appris (underfitting).
- Avez-vous utilisé des techniques de régularisation (dropout, weight decay) ? Étaient-elles efficaces ?
- Qu'avez-vous appris de ce projet ?
- Que feriez-vous différemment si vous deviez recommencer ?
Rendu
Le rendu du projet devra inclure :
- Un rapport au format PDF détaillant les réponses aux questions, les démarches effectuées, les hyperparamètres testés, et les courbes d'apprentissage.
- Un dépôt GitHub contenant tout le code du projet.
- Le dossier contenant les courbes de TensorBoard à différentes étapes de la recherche d’hyperparamètres.
Ce projet vous permettra de développer une compréhension approfondie des modèles complexes en deep learning, ainsi que des compétences pratiques en entraînement et optimisation de modèles neuronaux.