Internships/PhD
=============
2025-26 internships:
M2 Internship: - Multi-Plant Agnostic Counting: Few Shot Learning Specialized to Multiple Predefined New Classes
TER subject (M1) - Auto-DL: HPO for hyper-parameter optimization
1) Context / motivation:
I am interested in getting more familiar with using DeepHyper (https://deephyper.readthedocs.io/en/stable/) , or possibly other meta-learning (hyper-parameter optimization) libraries, like Optuna.
DeepHyper was developed by a PhD student in my team, TAU (Romain Egele), so I have a bias towards using it, even if it's less well-known than Optuna.
The end use case for me would be to plug it on the network I develop which is my main research interest these days, namely, this steerable (rotation-equivariant) neural network: https://www.scipost.org/SciPostPhys.16.5.136/pdf
2) Steerable nets
These steerable networks are rather complicated conceptually as they involve some group theory, irreducible representations, spherical harmonics, and sparse, high-order tensor products.
However, in the end, in terms of code, they involve, as usual deep networks, some key hyper-parameters that define the architecture: Depth of network, channel number. There is no kernel size in these networks, because we are on graphs (GNNs).
There is however a new hyper-paremeter, the $\ell_{max}$=, essentially a high-frequency cut-off. In practice, $l_{max}=3$ (or.. more if HPO says so?). The l_max and the channel number, in each layer, are constrained to be equal among layers (or, otherwise, one needs to pad appropriately). But, for each $\ell=0,1,2,...,l_{max}$, one can choose the number of channels. That's 4 numbers to choose, plus the depth of the netwrok, and a few other possible things to fine-tune...
I would like to plug DeepHyper on the choice of number of channels per \ell value.
There are other possible follow-ups of course, but this one is a clear, well defined (and interesting for me!) goal.
3) The TER.
TER would be split in 2 parts:
- (A) Understanding some of the mathematics of HPO (the machinery that makes DeepHyper work). Actually it's not very much needed, but probably you'll be interested in knowing more.
- (B) Practically:
- (B-1) make it work, first on some toy problem, like a simple CNN applied in Cifar-10 (just so you get more familiar with torch, deephyper and all the tools needed to run experiments). The point is that there, I can easily help you, we know what to expect, there are less sources for bugs.
- (B-2) Use DeepHyper on our own rotation-equivariant code (real use case, more possible bugs and problems)
sujet de TER (L3): Optimal Transport (OT) - Wasserstein distance
Partie biblio:
- Commencer par lire par vous meme des choses sur le transport optimal, distance de Wasserstein (Gromov-Wasserstein),
- il faut aussi voir si il y a de bons cours sur youtube (c'est fréquent). C'est plus digest qu'un livre, idéal pour démarrer
- Il y a le livre de Peyré & Cuturi: https://arxiv.org/abs/1803.00567
Partie pratique:
On va utiliser la librairie de Flamary & co (étudiant de Cuturi je crois, aujourd'hui prof à l'X): https://pythonot.github.io/auto_examples/plot_quickstart_guide.html#solving-exact-optimal-transport .
On doit pouvoir utiliser ça pour fitter une mixture de gaussienne (GMM) sur un nuage de points. En fait, une GMM se fitte très bien avec l'algo EM. Mais pas n'importe quelle distribution en général. Je souhaite commencer par le cas des GMM parce que c'est un environnement simple, controlé, ou on sait à quoi s'attendre, parfait pour se former donc.
Avec le transport optimal (OT), il me semble (à vérifier par vous même) qu'il existe un calcul/package qui donne la distance entre deux distributions (celle de notre modèle qu'on est en train d'apprendre, et le nuage de points de donnée empirique qu'on veut fitter), mais de façon exacte, et surtout, différentiable. On doit donc pouvoir utiliser, comme Loss, la mesure de distance donnée par le OT, et faire une descente de gradient entre les paramètres de notre loi (une certaine GMM par exemple) et les data (par exemple issues d'une GMM).
Perspectives
Si ça marche bien, j'ai en tete une application bcp plus intéressante, mais qui apportera son lot de technicité en plus de tout ce qu'il y a comme travail a faire pour déjà régler le cas des GMM.
Lectures en plus (liste non exhaustive)
Autres lectures, plus avancées car nécessitant qq connaissances en Deep Learning: - An example of application of this distance for ML is : DeepJDOT: Deep Joint Distribution Optimal Transport for Unsupervised Domain Adaptation.pdf It would be good to discuss it, at least the high-level (meta-description) ideas that are used there. - Another example would be the paper GROMOV-WASSERSTEIN AUTOENCODERS - il y en a probablement plein d'autres.. il suffit de chercher un peu
=============
2024-25 internships:
I relay intersnhips from QuantStack:
https://medium.com/@QuantStack/quantstack-open-source-internship-program-049755b6d44b
https://www.linkedin.com/in/mellissa-hafis-027aa1309?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app
M2 Internship:
- Geometric Deep Learning for Glassy Materials
Note: This internship has been awarded DataIA funding.
See the recent review on ML for Glasses.
TER : all slots are taken.
2023-24 internships:
PhD offer:
see ABG and the pdf here
M2 Internships:
-
Equivariant GNNs for materials :
if you are interested in the PhD subject, it's a good idea to contact me for an M2 internship on the same topic. GNN for Glasses TER -
Old topic, depends on the candidate and their motivation
Co-existence-of-two-power-law-regimes in solid friction/earthquake models (M2 internship, Physics, a bit of ML)
M1 Internships:
-
(déjà attribué) Wheat grain classication from Hyper-Spectral Images for agro-ecology
-
(déjà attribué) Pollinators: estimating Nature’s services
L3:
- (déjà attribué) Projet-ensemble-isoconfigurationel (L3/M1 short project, computer simulations applied to Physics)
Si vous êtes étudiant.e à Paris Saclay : consultez les stages sur https://gsweb1.dsi.universite-paris-saclay.fr/internship/list
There is some nice advice about looking for ML jobs here: https://caio-corro.fr/advice.html
Si vous m'avez comme prof dans une matière, et êtes intéressé.e pour faire de la recherche, je vous encourage à me solliciter en fin de séance pour discuter (même si il n'y a pas d'offres ci-dessus, où si elles ne vous intéressent pas). Ceci est vrai en particulier en M1, en M2, et dans une moindre mesure, en L3: en pratique je ne vous proposerai pas de sujet mais je peux vous aider à chercher, et on peut toujours discuter un peu (qui fait quoi où).
Mes conseils pour rechercher des stages:
- ciblez des chercheurs qui semblent travailler sur des thématiques qui vous intéressent, pour lesquelles vous êtes profondément motivé.e. Vous pouvez voir, en général, les publications d'un chercheur, soit sur sa page web soit en le/la cherchant sur https://scholar.google.com/
- premier contact: idéalement en présence à la fin d'un cours si c'est un de vos profs, sinon par mail
- premier e-mail:
- expliquez votre intérêt pour la thématique qui vous passionne, et montrez que vous avez un peu consultez nos publis/le site web. Ça montre votre motivation. Nous recevons beaucoup de candidatures "mitraillette" (non ciblées). Montrez que vous n'êtes pas dans cette catégorie.
- en PJ, mettez directement vos notes depuis le bac, votre CV, et éventuellement vos notes obtenues en cours d'année dans le corps du mail (pour les matières qui semblent pertinentes par rapport à votre demande, même si vous n'avez pas encore de relevé officiel)
- si c'est le cas, mentionnez que vous avez comme prof un des collègues de la personne que vous contactez. Cela établit un lien et nous permet, entre nous, d'avoir une 2ème opinion. Ceci est vrai en particulier en L3, où il sera probablement difficile de trouver un stage dans l'académique en dehors de votre propre université.
- N'abusez pas de chatGPT.. on sait à quoi ça ressemble, et ça ne fait pas bonne impression.
My current/past students are:
Anaclara Canepa ALVEZ: PhD 2023-2026. Sinn. Topic: Scale Equivariant Neural Networks for rare event prediction
Francesco Saverio PEZZICOLI : PhD 2021-2024. GNN4Glasses. Topic: Geometric Deep Learning for Glassy materials.
Vincenzo Maria SCHIMMENTI : PhD 2020-2023. CorrQuake. Topic: Eartquake modelling & prediction with Machine Learning
Phuoc Quang HO: M1 internship (M1 AI), summer 2024, 3-4 months. Topic: Grain Classification from hyperspectral images.
Michel DOROCH: M1 internship (M1 AI), summer 2024, 3-4 months. Topic: Pollinator Classification from frames of IR videos (highly imbalance data)
Karim ROCHD: L3 internship, summer 2024, 3-4 months Gloire LINVAI: L3 internship, summer 2024, 3-4 months
Rémi PERRIER : M1 internship, May-June 2019.
Le devenir des Doctorants (France): enquête 2021