-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
940 lines (854 loc) · 61.6 KB
/
index.html
File metadata and controls
940 lines (854 loc) · 61.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- ICONS -->
<script src="https://kit.fontawesome.com/bacac70704.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
<link rel="shortcut icon" href="resrc/icons/Romain_thumb.png">
<meta name="description" content="Romain Ilbert">
<meta name="author" content="Romain Ilbert">
<title>Romain Ilbert </title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-iYQeCzEYFbKjA/T2uDLTpkwGzCiq6soy8tYaI1GyVh/UjpbCx/TYkiZhlZB6+fzT" crossorigin="anonymous">
<link href="css_files/style.css" rel="stylesheet">
<link href="css_files/media.css" rel="stylesheet">
<!-- Core theme JS-->
<script src="scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-60DVFC3G0P"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-60DVFC3G0P');
</script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-8 col-sm-8 col-xs-12">
<br>
<h1>Romain Ilbert</h1>
<div class="dark-mode-toggle">
<button onclick="toggleDarkMode()" type="button" aria-label="Toggle dark mode" class="group rounded-full bg-white/90 px-3 py-2 shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur transition dark:bg-zinc-800/90 dark:ring-white/10 dark:hover:ring-white/20">
<!-- Soleil avec des rayons (visible en mode clair) -->
<svg viewBox="0 0 24 24" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="h-6 w-6 fill-zinc-100 stroke-zinc-500 transition group-hover:fill-zinc-200 group-hover:stroke-zinc-700 dark:hidden">
<!-- Le cercle central du soleil -->
<circle cx="12" cy="12" r="5"></circle>
<!-- Rayons autour du soleil -->
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
<!-- Lune (visible en mode sombre) -->
<!-- Icône lune -->
<svg viewBox="0 0 24 24" aria-hidden="true" class="hidden h-6 w-6 fill-zinc-700 stroke-zinc-500 transition dark:block">
<path d="M17.25 16.22a6.937 6.937 0 0 1-9.47-9.47 7.451 7.451 0 1 0 9.47 9.47Z"></path>
<path d="M12.75 7C17 7 17 2.75 17 2.75S17 7 21.25 7C17 7 17 11.25 17 11.25S17 7 12.75 7Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>
</button>
</div>
<h3 class="custom">
Research Scientist @ Meta (Sep 2025 – present) </h3>
<br>
<p style="font-size: 120%;text-align: justify;">
</p>
<div id="contact_phd">
<p style="font-size: 120%; text-align: justify;">
🎓 I successfully defended my Ph.D. in May 2025. <br>
<br> My thesis was conducted jointly between the <b><a href="http://lipade.mi.parisdescartes.fr" target="_blank">LIPADE Research Lab</a></b> (Université Paris Cité) and the <b><a href="https://www.huawei.com/fr/publications/huawei-research" target="_blank">Noah's Ark Lab</a></b> in Paris. <br>
<br>
I joined Meta as a Research Scientist in September 2025 (London), working on long-horizon optimization, planning, and reliability of large-scale ML systems under delayed and noisy feedback..
</p>
</div>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 text-center">
<br>
<br>
<br>
<img src="romain_acm_ccs.jpg" alt="Romain Ilbert" style="width: 100%;max-width:300px; border-radius: 20px;">
<br>
<h5 style="padding-top: 5px;">
<a href="mailto:romain.ilbert@hotmail.fr" title="e-Mail" target="_blank"><i class="fa fa-envelope-square fa-3x"></i></a>
<a href="https://github.com/romilbert" title="GitHub" target="_blank"><i class="fa fa-github-square fa-3x"></i></a>
<a href="https://www.linkedin.com/in/romain-ilbert/" title="LinkedIn" target="_blank"><i class="fa fa-linkedin-square fa-3x"></i></a>
<a href="https://scholar.google.com/citations?user=65uE37cAAAAJ&hl=en" title="Google Scholar" target="_blank">
<i class="ai ai-google-scholar-square ai-3x"></i>
</a>
<a href="https://arxiv.org/search/?query=Romain+Ilbert&searchtype=all&abstracts=show&order=-announced_date_first&size=50" target="_blank">
<i class="ai ai-arxiv-square ai-3x"></i>
</a>
<a href="CV_Romain_Jan_2026.pdf" title="CV" target="_blank"><i class="ai ai-cv-square ai-3x"></i></a>
</h5>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>Introduction</h3>
<p style="font-size: 120%; text-align: justify;">
I am currently a Research Scientist at Meta, working on representation learning, transformers, and long-horizon optimization and planning for large-scale machine learning systems, with a particular focus on reliability, robustness, calibration, and learning under delayed and noisy feedback.
I hold an engineering diploma in Data Science, Statistics, and Machine Learning from <a href="https://www.ensae.fr/en" target="_blank">ENSAE</a> and a Master’s degree in Machine Learning from <a href="https://www.ip-paris.fr/en/education/masters/applied-mathematics-and-statistics-program/master-year-2-data-science" target="_blank">École Polytechnique</a>. I completed my PhD in a CIFRE program jointly between the LIPADE laboratory (Université Paris Cité) and the Noah’s Ark Lab at Huawei, under the supervision of <a href="https://ievred.github.io" target="_blank">Ievgen Redko</a> and <a href="https://helios2.mi.parisdescartes.fr/~themisp/" target="_blank">Themis Palpanas</a>.
During the first part of my PhD, I was embedded in a business-oriented research team, and part of my work could not be published due to data confidentiality and contractual constraints. This explains why most of my publications appear in the second half of the PhD.
My research focuses on time series modeling, with an emphasis on representation learning, forecasting, and classification. Early in my PhD, I worked on data augmentation and synthetic generation for time series. I then studied adversarial attacks and defenses for time series models, before focusing on the optimization and generalization limits of transformers for long-term forecasting.
This led to the development of <b>SAMformer</b>, a lightweight sharpness-aware transformer for time series forecasting, which achieved state-of-the-art performance and was accepted as an <b>oral presentation at ICML 2024 (≈ top 1%)</b>. I also developed a theoretical and algorithmic framework based on random matrix theory and multi-task learning, leading to a <b>Spotlight paper at NeurIPS 2024 (≈ top 2%)</b>.
More recently, I have been working on foundation models for time series classification, leading to <b>Mantis</b>, an open-source foundation model that is now adopted by the community and downloaded <b>tens of thousands of times per month</b> on HuggingFace.
While most of my work has focused on time series, my research interests and methods naturally extend to other modalities such as vision and language, especially in the context of large models, representation learning, and optimization.
In total, I have authored several papers in top-tier venues including ICML and NeurIPS, which are listed below.
</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>News</h3>
<ul class="mb-0" style="list-style-type:none;padding-left:0;font-size: 120%;">
<li><span class="badge badge-2020" style="width: 85px">01/2026</span> <b>Mantis</b> reached <b>30,000 downloads in the last month</b> on HuggingFace.</li><br>
<li><span class="badge badge-2025" style="width: 85px">09/2025</span> Joined <b><a href="https://ai.meta.com" target="_blank">Meta</a></b> as a <b>Research Scientist</b> (London), working on long-horizon optimization and reliability of large-scale ML systems under delayed and noisy feedback.</li>
<li><span class="badge badge-2025" style="width: 85px">06/2025</span> 📄 <b><a href="https://arxiv.org/pdf/2502.15637?" target="_blank">Mantis</a></b> has been accepted at the ICML 2025 Workshop on Foundation Models for Structured Data.</li>
<li><span class="badge badge-2025" style="width: 85px">05/2025</span> I presented the paper <b><a href="adapters/adapters_multisa.pdf" target="_blank">User-Friendly Foundation Model Adapters for Multivariate Time Series Classification</a></b> at the ICDE conference in Hong Kong.</li>
<li><span class="badge badge-2025" style="width: 85px">05/2025</span> 🎓 I successfully defended my Ph.D. You can find my thesis <a href="thesis/romain_ilbert_phd.pdf" target="_blank">here</a>.</li>
<li><span class="badge badge-2025" style="width: 85px">04/2025</span> 📄 <b><a href="https://arxiv.org/pdf/2502.15637?" target="_blank">Mantis: Lightweight Calibrated Foundation Model for User-friendly Time Series Classification</a></b> was accepted as the only long oral paper on time series at CAP 2025.</li>
<li><span class="badge badge-2025" style="width: 85px">03/2025</span> 📄 <b><a href="adapters/adapters_multisa.pdf" target="_blank">User-friendly Foundation Model Adapters for Multivariate Time Series Classification</a></b> has been accepted to Multisa, an ICDE workshop.</li><br>
<li><span class="badge bg-primary" style="width: 85px">12/2024</span> I attended NeurIPS and the NeurIPS workshop "Time Series in the Age of Large Models" to present my two papers in Vancouver.</li>
<li><span class="badge bg-primary" style="width: 85px">10/2024</span> 📄 <b><a href="https://openreview.net/forum?id=YaErRZ5SVG&referrer=%5Bthe%20profile%20of%20Romain%20Ilbert%5D(%2Fprofile%3Fid%3D~Romain_Ilbert1)"> Enhancing Multivariate Time Series Forecasting via Multi-Task Learning and Random Matrix Theory</a></b> has been accepted to the NeurIPS workshop "Time Series in the Age of Large Models".</li>
<li><span class="badge bg-primary" style="width: 85px">09/2024</span> <b><a href="https://arxiv.org/pdf/2409.12264">User-friendly Foundation Model Adapters for Multivariate Time Series Classification</a></b> is now on arXiv.</li>
<li><span class="badge bg-primary" style="width: 85px">09/2024</span> 📄 <b><a href="https://arxiv.org/pdf/2406.10327">Analysing Multi-Task Regression via Random Matrix Theory with Application to Time Series Forecasting</a></b> has been accepted as a Spotlight at NeurIPS 2024.</li>
<li><span class="badge bg-primary" style="width: 85px">07/2024</span> I presented SAMformer in ICML in Vienna. You can find the slides <a href="samformer_slides_ICML_final_pdf.pdf">here</a> </li>
<li><span class="badge bg-primary" style="width: 85px">06/2024</span> I presented SAMformer in Cap in Lille. You can find the slides <a href="1473_samformer_slides_cap_ILBERT.pdf">here</a> </li>
<li><span class="badge bg-primary" style="width: 85px">05/2024</span> 📄 <b><a href="https://arxiv.org/abs/2402.10198v2">SAMformer</a></b> has been accepted as an oral presentation at ICML 2024. You can find my corresponding code on my <a href="https://github.com/romilbert"></a>Github</a>. As the lead on this project, I was responsible for the architecture design, code implementation and all experiments presented in the paper. I also want to thank my co-authors for their assistance in writing the paper.</li>
<li><span class="badge bg-primary" style="width: 85px">05/2024</span> I presented Data Augmentation for Multivariate Time Series Classification: An Experimental Study at the ICDE conference in Utrecht</li>
<li><span class="badge bg-primary" style="width: 85px">04/2024</span> 📄 <b><a href="https://arxiv.org/abs/2406.06518">Data Augmentation for Multivariate Time Series Classification: An Experimental Study</a></b> has been accepted to Multisa, an ICDE workshop</li>
<li><span class="badge bg-primary" style="width: 85px">04/2024</span> Starting to work on Multi-Task Learning : From Univariate to Multivariate Time Series Forecasting</li>
<li><span class="badge bg-primary" style="width: 85px">02/2024</span> My new paper leveraging <b></b><a href="https://arxiv.org/abs/2402.10198v2">SAMformer</a></b>, a new lightweight state-of-the-art multivariate time series forecasting model, is now on arXiv</li><br>
<li><span class="badge badge-2023" style="width: 85px">12/2023</span> I've attended the <a href="https://neuripsinparis.github.io/neurips2023paris/">NeurIPS in Paris</a> conference</li>
<li><span class="badge badge-2023" style="width: 85px">11/2023</span> I've <a href="Ilbert_ARTMAN_presentation.pdf">presented</a> Breaking Boundaries at the ARTMAN workshop of the ACM CCS conference (top conference in cybersecurity)</li>
<li><span class="badge badge-2023" style="width: 85px">10/2023</span> Starting to work on Time Series Forecasting</li>
<li><span class="badge badge-2023" style="width: 85px">09/2023</span> Starting to work with the <a href="https://www.noahlab.com.hk/#/home">Noah's Ark Lab</a> under the supervision of <a href="https://ievred.github.io">Ievgen Redko</a></li>
<li><span class="badge badge-2023" style="width: 85px">08/2023</span> 📄 <b><a href="https://arxiv.org/abs/2311.09790">Breaking Boundaries</a></b> paper has been accepted to ARTMAN 2023, an <a href="https://www.sigsac.org/ccs/CCS2023/" target="_blank">ACM-CCS</a> Workshop </li>
<li><span class="badge badge-2023" style="width: 85px">07/2023</span> I attended the <a href="https://acdl2023.icas.cc/program/">ACDL</a></b> Summer School </li>
<li><span class="badge badge-2023" style="width: 85px">01/2023</span> Starting to work on Adversarial Machine learning </li><br>
<li><span class="badge badge-2022" style="width: 85px">04/2022</span> Starting to work on Data Augmentation for Time Series Classification </li>
<li><span class="badge badge-2022" style="width: 85px">04/2022</span> Starting of my PhD with the <a href="http://lipade.mi.parisdescartes.fr/" target="_blank">Lipade research Lab</a> </li><br>
<li><span class="badge badge-2021" style="width: 85px">12/2021</span> Starting my fixed-term contract as an External AI Research Engineer for the Huawei Paris Research Center </li>
<li><span class="badge badge-2021" style="width: 85px">05/2021</span> Starting my summer internship as a Research Scientist at <b><a href="https://www.sncf.com/en/innovation-development/innovation-research" target="_blank">SNCF</a></b> </li><br>
<li><span class="badge badge-2020" style="width: 85px">06/2020</span> Starting my summer internship as a Machine learning in Finance Researcher at <b><a href="https://www.cnrs.fr/en" target="_blank">CNRS</a></b> </li>
<li><span class="badge badge-2020" style="width: 85px">05/2020</span> I am accepted to the <a href="https://www.ip-paris.fr/en/education/masters/applied-mathematics-and-statistics-program/master-year-2-data-science" target="_blank">Ecole Polytechnique</a> for a Research Master in Machine Learning </li>
<li><span class="badge badge-2020" style="width: 85px">05/2020</span> Starting the Applied Statistics Project with <a href="https://www.banque-france.fr/en" target="_blank">Banque de France</a> </li><br>
<li><span class="badge badge-2019" style="width: 85px">06/2019</span> Starting my Summer Internship as a Quantitative Analyst at <b><a href="https://www.rothschildandco.com/en/" target="_blank">Rotschild & Co</a></b> </li><br>
<li><span class="badge bg-primary" style="width: 85px">09/2018</span> I am accepted to the <a href="https://www.ensae.fr/en" target="_blank">ENSAE PARIS </a> </li>
</ul>
<br>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3 class="pb-1 mb-3 border-bottom">Publications</h3>
<!-- Mantis -->
<div class="row">
<div class="col-xs-10 col-sm-4 col-md-4">
<a href="adapters/index.html">
<img class="img-thumbnail mb-3" src="mantis/mantis.png" alt="Enhancing Multivariate Time Series Forecasting via Multi-Task Learning and Random Matrix Theory">
</a>
</div>
<div class="col-xs-12 col-sm-8 col-md-8" style="font-size: 120%;">
<strong>Mantis: Lightweight Calibrated Foundation Model for User-Friendly Time Series Classification</strong><br>
Vasilii Feofanov, Marius Alonso, Songkang Wen, <u>Romain Ilbert</u>, Hongbo Guo, Malik Tiomoko, Lujia Pan, Jianfeng Zhang and Ievgen Redko<br>
<i>ICML Workshop on Foundation Models for Structured Data</i> <br>
<b><span id="mantis-downloads">Loading downloads...</span></b> <br>
<br>
<a target="_blank" href="https://openreview.net/forum?id=FDDkR53rim"> <button type="button" class="btn btn-primary btn-sm"> Paper </button></a>
<a target="_blank" href="https://huggingface.co/paris-noah/Mantis-8M"> <button type="button" class="btn btn-primary btn-sm"> Code </button></a>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#abstract24">Abstract</button>
<div id="abstract24" class="collapse">
<p class="bg-light">
In recent years, there has been increasing interest in developing foundation models for time series data that can generalize across diverse downstream tasks.
While numerous forecasting-oriented foundation models have been introduced, there is a notable scarcity of models tailored for time series classification.
To address this gap, we present Mantis, a new open-source foundation model for time series classification based on the Vision Transformer (ViT) architecture that has been pre-trained using a contrastive learning approach.
Our experimental results show that Mantis outperforms existing foundation models both when the backbone is frozen and when fine-tuned, while achieving the lowest calibration error.
In addition, we propose several adapters to handle the multivariate setting, reducing memory requirements and modeling channel interdependence.
</p>
</div>
<div style="height:30px;"></div>
</div>
</div>
<!-- Enhancing -->
<div class="row">
<div class="col-xs-10 col-sm-4 col-md-4">
<a href="multitask/index.html">
<img class="img-thumbnail mb-3" src="enhancing/image.png" alt="Analysing Multi-Task Regression via Random Matrix Theory with Application to Time Series Forecasting">
</a>
</div>
<div class="col-xs-12 col-sm-8 col-md-8" style="font-size: 120%;">
<strong>Enhancing Multivariate Time Series Forecasting via Multi-Task Learning and Random Matrix Theory</strong><br>
<u>Romain Ilbert</u>, Malik Tiomoko, Cosme Louart, Vasilii Feofanov, Themis Palpanas and Ievgen Redko<br>
<i>NeurIPS Workshop "Time Series in the Age of Large Models"</i> <br>
<br>
<a target="_blank" href="https://openreview.net/forum?id=YaErRZ5SVG&referrer=%5Bthe%20profile%20of%20Romain%20Ilbert%5D(%2Fprofile%3Fid%3D~Romain_Ilbert1)"> <button type="button" class="btn btn-primary btn-sm"> Paper </button></a>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#abstract23">Abstract</button>
<div id="abstract23" class="collapse">
<p class="bg-light">
We present a novel approach to multivariate time series forecasting by framing it as a multi-task learning problem.
We propose an optimization strategy that enhances single-channel predictions by leveraging information across multiple channels.
Our framework offers a closed-form solution for linear models and connects forecasting performance to key statistical properties using advanced analytical tools.
Empirical results on both synthetic and real-world datasets demonstrate that integrating our method into training loss functions significantly improves univariate models by effectively utilizing multivariate data within a multi-task learning framework.
</p>
</div>
<div style="height:30px;"></div>
</div>
</div>
<!-- Adapters -->
<div class="row">
<div class="col-xs-10 col-sm-4 col-md-4">
<a href="adapters/index.html">
<img class="img-thumbnail mb-3" src="adapters/adapters.png" alt="Enhancing Multivariate Time Series Forecasting via Multi-Task Learning and Random Matrix Theory">
</a>
</div>
<div class="col-xs-12 col-sm-8 col-md-8" style="font-size: 120%;">
<strong>User-friendly Foundation Model Adapters for Multivariate Time Series Classification</strong><br>
<u>Romain Ilbert</u>, Vasilii Feofanov, Malik Tiomoko, Themis Palpanas and Ievgen Redko<br>
<i>ICDE Workshop on Multivariate Time Series Analytics (an A* conference)</i> <br>
<br>
<a target="_blank" href="adapters/adapters_multisa.pdf"> <button type="button" class="btn btn-primary btn-sm"> Paper </button></a>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#abstract22">Abstract</button>
<div id="abstract22" class="collapse">
<p class="bg-light">
Foundation models, while highly effective, are often resource-intensive, requiring substantial inference time and memory.
This paper addresses the challenge of making these models more accessible with limited computational resources by exploring dimensionality reduction techniques.
Our goal is to enable users to run large pre-trained foundation models on standard GPUs without sacrificing performance.
We investigate classical methods such as Principal Component Analysis alongside neural network-based adapters, aiming to reduce the dimensionality of multivariate time series data while preserving key features.
Our experiments show up to a 10x speedup compared to the baseline model, without performance degradation, and enable up to 4.5x more datasets to fit on a single GPU, paving the way for more user-friendly and scalable foundation models.
</p>
</div>
<div style="height:30px;"></div>
</div>
</div>
<!-- Multitask -->
<div class="row">
<div class="col-xs-10 col-sm-4 col-md-4">
<a href="multitask/index.html">
<img class="img-thumbnail mb-3" src="multitask/image.png" alt="Analysing Multi-Task Regression via Random Matrix Theory with Application to Time Series Forecasting">
</a>
</div>
<div class="col-xs-12 col-sm-8 col-md-8" style="font-size: 120%;">
<strong>Analysing Multi-Task Regression via Random Matrix Theory with Application to Time Series Forecasting</strong><br>
<u>Romain Ilbert</u>, Malik Tiomoko, Cosme Louart, Ambroise Odonnat, Vasilii Feofanov, Themis Palpanas and Ievgen Redko<br>
<i>NeurIPS 2024 (Spotlight)</i> <br>
<br>
<a target="_blank" href="https://openreview.net/forum?id=FFW6rPz48Z&referrer=%5Bthe%20profile%20of%20Ambroise%20Odonnat%5D(%2Fprofile%3Fid%3D~Ambroise_Odonnat1)"> <button type="button" class="btn btn-primary btn-sm"> Paper </button></a>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#abstract20">Abstract</button>
<div id="abstract20" class="collapse">
<p class="bg-light">
In this paper, we introduce a novel theoretical framework for multi-task regression, applying random matrix theory to provide precise performance estimations, under high-dimensional, non-Gaussian data distributions.
We formulate a multi-task optimization problem as a regularization technique to enable single-task models to leverage multi-task learning information.
We derive a closed-form solution for multi-task optimization in the context of linear models. Our analysis provides valuable insights by linking the multi-task learning performance to various model statistics such as raw data covariances, signal-generating hyperplanes, noise levels, as well as the size and number of datasets.
We finally propose a consistent estimation of training and testing errors, thereby offering a robust foundation for hyperparameter optimization in multi-task regression scenarios.
Experimental validations on both synthetic and real-world datasets in regression and multivariate time series forecasting demonstrate improvements on univariate models, incorporating our method into the training loss and thus leveraging multivariate information.
</p>
</div>
<div style="height:30px;"></div>
</div>
</div>
<!-- SAMformer-->
<div class="row">
<div class="col-xs-10 col-sm-4 col-md-4">
<a href="samformer/index.html">
<img class="img-thumbnail mb-3" src="samformer/image.png" alt="SAMformer: Unlocking the Potential of Transformers in Time Series Forecasting with Sharpness-Aware Minimization and Channel-Wise Attention">
</a>
</div>
<div class="col-xs-12 col-sm-8 col-md-8" style="font-size: 120%;">
<strong>SAMformer: Unlocking the Potential of Transformers in Time Series Forecasting with Sharpness-Aware Minimization and Channel-Wise Attention</strong><br>
<u>Romain Ilbert</u>, Ambroise Odonnat, Vasilli Feofanov, Aladin Virmaux, Giuseppe Paolo, Themis Palpanas and Ievgen Redko<br>
<i>ICML 2024 (Oral)</i> <br>
<a target="_blank" href="https://openreview.net/forum?id=8kLzL5QBh2&referrer=%5Bthe%20profile%20of%20Vasilii%20Feofanov%5D(%2Fprofile%3Fid%3D~Vasilii_Feofanov1)"> <button type="button" class="btn btn-primary btn-sm"> Paper </button></a>
<a target="_blank" href="https://github.com/romilbert/samformer"> <button type="button" class="btn btn-primary btn-sm"> Code </button></a>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#bibtex21">BibTex</button>
<div id="bibtex21" class="collapse">
<pre><tt>@inproceedings{
ilbert2024samformer,
title={{SAM}former: Unlocking the Potential of Transformers in Time Series Forecasting with Sharpness-Aware Minimization and Channel-Wise Attention},
author={Romain Ilbert and Ambroise Odonnat and Vasilii Feofanov and Aladin Virmaux and Giuseppe Paolo and Themis Palpanas and Ievgen Redko},
booktitle={Forty-first International Conference on Machine Learning},
year={2024},
url={https://openreview.net/forum?id=8kLzL5QBh2}
}</tt></pre>
</div>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#abstract21">Abstract</button>
<div id="abstract21" class="collapse">
<p class="bg-light">
Transformer-based architectures achieved breakthrough performance in natural language processing and computer vision, yet they remain inferior to simpler linear baselines in multivariate long-term forecasting.
To better understand this phenomenon, we start by studying a toy linear forecasting problem for which we show that transformers are incapable of converging to their true solution despite their high expressive power.
We further identify the attention of transformers as being responsible for this low generalization capacity.
Building upon this insight, we propose a shallow lightweight transformer model that successfully escapes bad local minima when optimized with sharpness-aware optimization.
We empirically demonstrate that this result extends to all commonly used real-world multivariate time series datasets.
In particular, SAMformer surpasses current state-of-the-art methods and is on par with the biggest foundation model MOIRAI while having significantly fewer parameters.
The code is available at https://github.com/romilbert/samformer.
</p>
</div>
<div style="height:30px;"></div>
</div>
</div>
<!-- Augmentation -->
<div class="row">
<div class="col-xs-10 col-sm-4 col-md-4">
<img class="img-thumbnail mb-3" src="augmentation/image.png" alt="Data Augmentation for Multivariate Time Series Classification: An Experimental Study">
</a>
</div>
<div class="col-xs-12 col-sm-8 col-md-8" style="font-size: 120%;">
<strong>Data Augmentation for Multivariate Time Series Classification: An Experimental Study</strong><br>
<u>Romain Ilbert</u>, Thai V. Hoang, Zonghua Zhang <br>
<i>ICDE Workshop on Multivariate Time Series Analytics (an A* conference)</i> <br>
<a target="_blank" href="https://arxiv.org/abs/2406.06518"> <button type="button" class="btn btn-primary btn-sm"> Paper </button></a>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#bibtex19">BibTex</button>
<div id="bibtex19" class="collapse">
<pre><tt>@misc{ilbert2024data,
title={Data Augmentation for Multivariate Time Series Classification: An Experimental Study},
author={Romain Ilbert and Thai V. Hoang and Zonghua Zhang},
year={2024},
eprint={2406.06518},
archivePrefix={arXiv},
primaryClass={id='cs.LG' full_name='Machine Learning' is_active=True alt_name=None in_archive='cs' is_general=False description='Papers on all aspects of machine learning research (supervised, unsupervised, reinforcement learning, bandit problems, and so on) including also robustness, explanation, fairness, and methodology. cs.LG is also an appropriate primary category for applications of machine learning methods.'}
}
}</tt></pre>
</div>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#abstract19">Abstract</button>
<div id="abstract19" class="collapse">
<p class="bg-light">
Our study investigates the impact of data augmentation on the performance of multivariate time series models, focusing on datasets from the UCR archive.
Despite the limited size of these datasets, we achieved classification accuracy improvements in 10 out of 13 datasets using the Rocket and InceptionTime models.
This highlights the essential role of sufficient data in training effective models, paralleling the advancements seen in computer vision.
Our work delves into adapting and applying existing methods in innovative ways to the domain of multivariate time series classification.
Our comprehensive exploration of these techniques sets a new standard for addressing data scarcity in time series analysis, emphasizing that diverse augmentation strategies are crucial for unlocking the potential of both traditional and deep learning models.
Moreover, by meticulously analyzing and applying a variety of augmentation techniques, we demonstrate that strategic data enrichment can enhance model accuracy.
This not only establishes a benchmark for future research in time series analysis but also underscores the importance of adopting varied augmentation approaches to improve model performance in the face of limited data availability.
</p>
</div>
<div style="height:30px;"></div>
</div>
</div>
<!-- Boundaries -->
<div class="row">
<div class="col-xs-10 col-sm-4 col-md-4">
<img class="img-thumbnail mb-3" src="boundaries/image.png" alt="Breaking Boundaries: Balancing Performance and Robustness in Deep Wireless Traffic Forecasting">
</a>
</div>
<div class="col-xs-12 col-sm-8 col-md-8" style="font-size: 120%;">
<strong>Breaking Boundaries: Balancing Performance and Robustness in Deep Wireless Traffic Forecasting</strong><br>
<u>Romain Ilbert</u>, Thai V. Hoang, Zonghua Zhang and Themis Palpanas <br>
<i>ACM-CCS Workshop on Recent Advances in Resilient and Trustworthy ML Systems in Autonomous Networks (an A* conference in cybersecurity)</i> <br>
<a target="_blank" href="https://arxiv.org/abs/2311.09790"> <button type="button" class="btn btn-primary btn-sm"> Paper </button></a>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#bibtex18">BibTex</button>
<div id="bibtex18" class="collapse">
<pre><tt>@inproceedings{10.1145/3605772.3624002,
author = {Ilbert, Romain and Hoang, Thai V. and Zhang, Zonghua and Palpanas, Themis},
title = {Breaking Boundaries: Balancing Performance and Robustness in Deep Wireless Traffic Forecasting},
year = {2023},
isbn = {9798400702655},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3605772.3624002},
doi = {10.1145/3605772.3624002},
abstract = {Balancing the trade-off between accuracy and robustness is a long-standing challenge in time series forecasting. While most of existing robust algorithms have achieved certain suboptimal performance on clean data, sustaining the same performance level in the presence of data perturbations remains extremely hard. In this paper, we study a wide array of perturbation scenarios and propose novel defense mechanisms against adversarial attacks using real-world telecom data. We compare our strategy against two existing adversarial training algorithms under a range of maximal allowed perturbations, defined using ell_infty -norm, in [0.1,0.4]. Our findings reveal that our hybrid strategy, which is composed of a classifier to detect adversarial examples, a denoiser to eliminate noise from the perturbed data samples, and a standard forecaster, achieves the best performance on both clean and perturbed data. Our optimal model can retain up to 92.02\% the performance of the original forecasting model in terms of Mean Squared Error (MSE) on clean data, while being more robust than the standard adversarially trained models on perturbed data. Its MSE is 2.71\texttimes{} and 2.51\texttimes{} lower than those of comparing methods on normal and perturbed data, respectively. In addition, the components of our models can be trained in parallel, resulting in better computational efficiency. Our results indicate that we can optimally balance the trade-off between the performance and robustness of forecasting models by improving the classifier and denoiser, even in the presence of sophisticated and destructive poisoning attacks.},
booktitle = {Proceedings of the 2023 Workshop on Recent Advances in Resilient and Trustworthy ML Systems in Autonomous Networks},
pages = {17–28},
numpages = {12},
keywords = {robustness, poisoning, performance, forecasting, denoising, components, classification},
location = {, Copenhagen, Denmark, },
series = {ARTMAN '23} }
}</tt></pre>
</div>
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="collapse" data-bs-target="#abstract18">Abstract</button>
<div id="abstract18" class="collapse">
<p class="bg-light">
Balancing the trade-off between accuracy and robustness is a long-standing challenge in time series forecasting. While most of existing robust algorithms have achieved certain suboptimal performance on clean data, sustaining the same performance level in the presence of data perturbations remains extremely hard. In this paper, we study a wide array of perturbation scenarios and propose novel defense mechanisms against adversarial attacks using real-world telecom data. We compare our strategy against two existing adversarial training algorithms under a range of maximal allowed perturbations, defined using ℓ∞-norm, ∈[0.1,0.4]. Our findings reveal that our hybrid strategy, which is composed of a classifier to detect adversarial examples, a denoiser to eliminate noise from the perturbed data samples, and a standard forecaster, achieves the best performance on both clean and perturbed data. Our optimal model can retain up to 92.02% the performance of the original forecasting model in terms of Mean Squared Error (MSE) on clean data, while being more robust than the standard adversarially trained models on perturbed data. Its MSE is 2.71× and 2.51× lower than those of comparing methods on normal and perturbed data, respectively. In addition, the components of our models can be trained in parallel, resulting in better computational efficiency. Our results indicate that we can optimally balance the trade-off between the performance and robustness of forecasting models by improving the classifier and denoiser, even in the presence of sophisticated and destructive poisoning attacks.
</p>
</div>
<div style="height:30px;"></div>
</div>
</div>
</div>
</div> <!-- /container -->
<!-- Bootstrap core JS-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
<script>
(async () => {
try {
const r = await fetch("https://huggingface.co/api/models/paris-noah/Mantis-8M");
const data = await r.json();
const downloads = (typeof data.downloads === "number") ? data.downloads : null;
const el = document.getElementById("mantis-downloads");
if (!el) return;
if (downloads !== null) {
el.innerText = `~${downloads.toLocaleString()} downloads (last 30 days) on HuggingFace`;
} else {
el.innerText = "Adopted by the community on HuggingFace";
}
} catch (e) {
const el = document.getElementById("mantis-downloads");
if (el) el.innerText = "Adopted by the community on HuggingFace";
}
})();
</script>
<!-- ===================== Ask Romain ===================== -->
<div class="row mt-5">
<div class="col-md-12">
<h3 class="pb-1 mb-3 border-bottom">Ask Romain</h3>
<div class="card shadow-sm" style="border-radius:16px;">
<div class="card-body" style="font-size: 110%;">
<div class="d-flex align-items-start justify-content-between flex-wrap gap-2">
<div>
<div style="font-weight:600; font-size: 1.05rem;">Ask me anything about my work</div>
<div class="text-muted" style="font-size: 0.95rem;">
Local Q&A (no external calls). Try: “What is SAMformer?”, “NeurIPS Spotlight?”, “What do you do at Meta?”
</div>
</div>
<div class="d-flex gap-2">
<button id="askromain-clear" class="btn btn-outline-secondary btn-sm" type="button">Clear</button>
</div>
</div>
<div class="mt-3 askromain-chat" id="askromain-chat" aria-live="polite"></div>
<form class="mt-3" id="askromain-form">
<div class="input-group">
<input
id="askromain-input"
type="text"
class="form-control"
placeholder="Ask a question…"
autocomplete="off"
maxlength="240"
required
/>
<button class="btn btn-primary" type="submit">Ask</button>
</div>
<div class="mt-2 d-flex flex-wrap gap-2" id="askromain-suggestions">
<button type="button" class="btn btn-light btn-sm askromain-suggestion">What do you do at Meta?</button>
<button type="button" class="btn btn-light btn-sm askromain-suggestion">What is SAMformer?</button>
<button type="button" class="btn btn-light btn-sm askromain-suggestion">NeurIPS spotlight?</button>
<button type="button" class="btn btn-light btn-sm askromain-suggestion">What is Mantis?</button>
<button type="button" class="btn btn-light btn-sm askromain-suggestion">PhD overview?</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script>
(() => {
// =========================================================
// 1) Knowledge Base (enrichie)
// =========================================================
const KB = [
// ---------------------- Meta ----------------------
{
id: "meta_role",
title: "What do you do at Meta?",
tags: ["meta", "research scientist", "london", "long-horizon", "optimization", "planning", "reliability", "delayed feedback", "noisy feedback", "production", "scale"],
answer: `
I am a Research Scientist at Meta (London, since Sep 2025). I work on long-horizon optimization, planning, and reliability of large-scale ML decision systems under delayed and noisy feedback. This research is deployed to production systems serving billions of users.
`.trim(),
links: [
{ label: "Meta AI", url: "https://ai.meta.com" },
{ label: "LinkedIn", url: "https://www.linkedin.com/in/romain-ilbert/" }
]
},
{
id: "meta_topics",
title: "Core research themes at Meta",
tags: ["reliability", "robustness", "calibration", "learning under delay", "feedback loops", "planning", "long-term", "decision systems"],
answer: `
Main themes: (1) learning under delayed & noisy feedback, (2) reliability and robustness at production scale, (3) calibration and decision quality, (4) long-horizon objectives (not only immediate metrics), and (5) planning/optimization in ML-driven systems.
`.trim()
},
{
id: "meta_calibration",
title: "Calibration in production (what does it mean?)",
tags: ["calibration", "reliability", "ece", "brier", "production", "monitoring", "shift", "drift"],
answer: `
Calibration measures whether predicted probabilities match observed frequencies. In production, you typically track metrics like ECE (Expected Calibration Error), Brier score, reliability diagrams, and monitor calibration drift over time and across slices (surface, country, device, etc.). You often combine recalibration (e.g., temperature scaling / isotonic) with robust training and continuous monitoring.
`.trim()
},
// ---------------------- PhD ----------------------
{
id: "phd_summary",
title: "PhD overview",
tags: ["phd", "thesis", "paris cite", "universite paris cite", "noah's ark lab", "huawei", "cifre", "representation learning", "multivariate time series", "transformers", "optimization"],
answer: `
I completed a PhD (Apr 2022 – Apr 2025) jointly between Université Paris Cité and Huawei Noah’s Ark Lab. The thesis focused on representation learning for multivariate time series, with emphasis on transformer architectures, optimization, and theoretical understanding of learning dynamics.
`.trim(),
links: [{ label: "LinkedIn", url: "https://www.linkedin.com/in/romain-ilbert/" }]
},
{
id: "phd_contributions",
title: "Main PhD contributions",
tags: ["samformer", "neurips spotlight", "random matrix theory", "multi-task", "mantis", "foundation model", "time series classification", "robustness", "data augmentation"],
answer: `
Key contributions include:
• SAMformer (ICML 2024 Oral): lightweight sharpness-aware transformer for multivariate long-horizon forecasting.
• NeurIPS 2024 Spotlight: theoretical analysis of multi-task regression via random matrix theory with forecasting applications.
• Mantis: open-source foundation model for time series classification (widely adopted on HuggingFace).
I also explored data-centric methods (augmentation) and robustness/adversarial settings for time series.
`.trim()
},
// ---------------------- Publications (deep Q&A) ----------------------
{
id: "samformer_what",
title: "What is SAMformer?",
tags: ["samformer", "icml", "oral", "forecasting", "sharpness-aware", "sam", "transformer", "channel attention", "long-term forecasting", "multivariate"],
answer: `
SAMformer is a lightweight transformer-based architecture for multivariate long-horizon time series forecasting. It leverages channel-wise attention and sharpness-aware optimization (SAM) to improve generalization and avoid poor minima. It was accepted as an Oral at ICML 2024 (≈ top 1%).
`.trim(),
links: [
{ label: "Paper (OpenReview)", url: "https://openreview.net/forum?id=8kLzL5QBh2" },
{ label: "Code (GitHub)", url: "https://github.com/romilbert/samformer" }
]
},
{
id: "samformer_why",
title: "Why SAMformer works (intuition)",
tags: ["samformer", "intuition", "why", "generalization", "attention", "bad minima", "sharpness", "sam"],
answer: `
High-level intuition: transformers can converge to suboptimal solutions in long-horizon forecasting due to attention-related optimization issues. Sharpness-aware training (SAM) encourages flatter minima and better generalization, while channel-wise attention helps capture cross-channel structure more effectively.
`.trim()
},
{
id: "neurips_spotlight_what",
title: "What is your NeurIPS 2024 Spotlight about?",
tags: ["neurips", "spotlight", "random matrix theory", "multi-task regression", "theory", "high-dimensional", "forecasting"],
answer: `
The NeurIPS 2024 Spotlight paper analyzes multi-task regression through random matrix theory in high-dimensional regimes. It links performance and generalization to statistical properties (covariances, noise, task interactions) and provides practical insights for regularization and model selection, with applications to time series forecasting.
`.trim(),
links: [{ label: "Paper (OpenReview)", url: "https://openreview.net/forum?id=FFW6rPz48Z" }]
},
{
id: "multitask_workshop",
title: "Enhancing forecasting via multi-task learning (NeurIPS workshop)",
tags: ["neurips workshop", "time series in the age of large models", "multi-task learning", "random matrix theory", "multivariate", "forecasting"],
answer: `
This work frames multivariate forecasting as a multi-task learning problem: you can improve single-channel predictions by leveraging information across channels/tasks. It connects empirical gains to interpretable statistical quantities, and shows improvements on synthetic and real datasets.
`.trim(),
links: [{ label: "Paper (OpenReview)", url: "https://openreview.net/forum?id=YaErRZ5SVG" }]
},
{
id: "mantis_what",
title: "What is Mantis?",
tags: ["mantis", "foundation model", "time series classification", "vit", "contrastive learning", "huggingface", "downloads", "calibration"],
answer: `
Mantis is an open-source foundation model for time series classification with a ViT-style backbone, pretrained with a contrastive objective. It achieves strong accuracy and low calibration error, and is adopted by the community with tens of thousands of downloads per month on HuggingFace.
`.trim(),
links: [
{ label: "Model (HuggingFace)", url: "https://huggingface.co/paris-noah/Mantis-8M" }
]
},
{
id: "mantis_usecases",
title: "Where is Mantis used?",
tags: ["mantis", "eeg", "human activity recognition", "har", "domains", "classification"],
answer: `
Mantis targets general time series classification and has been used across domains such as EEG signals and Human Activity Recognition, among others, thanks to its pretrained representations and practical adapters for multivariate inputs.
`.trim()
},
{
id: "adapters_paper",
title: "User-friendly adapters for multivariate time series classification",
tags: ["adapters", "icde", "workshop", "multivariate", "pca", "dimensionality reduction", "efficiency", "gpu memory"],
answer: `
This work studies how to make large pretrained time series classifiers more practical (faster inference, lower GPU memory) via dimensionality reduction and adapters (including classical methods like PCA and neural adapters). It reports large speedups with minimal accuracy loss on multivariate datasets.
`.trim()
},
{
id: "augmentation_paper",
title: "Data augmentation for multivariate time series classification",
tags: ["data augmentation", "multivariate", "ucr", "classification", "rocket", "inceptiontime", "small data"],
answer: `
This work empirically studies time series data augmentation and shows how appropriate augmentation can improve classification, especially on limited-size datasets, using strong baselines such as ROCKET and InceptionTime.
`.trim()
},
{
id: "adversarial_paper",
title: "Adversarial robustness for time series forecasting (ACM CCS workshop)",
tags: ["adversarial", "robustness", "forecasting", "attacks", "defenses", "denoising", "classifier", "pipeline"],
answer: `
This line of work explores adversarial settings in time series forecasting and proposes defense strategies combining detection and denoising modules with forecasting models to balance clean performance and robustness under perturbations.
`.trim()
},
// ---------------------- Work history (beyond Meta/PhD) ----------------------
{
id: "sncf_intern",
title: "SNCF internship (what did you build?)",
tags: ["sncf", "internship", "ticket sales", "forecasting", "occupancy", "mape", "deployment", "azure", "jenkins", "sql"],
answer: `
At SNCF Voyages (May–Nov 2021), I built forecasting models for ticket sales and train occupancy across thousands of stations with multiple granularities (route, train, OD pairs). I ran extensive evaluation & hyperparameter search, feature engineering (seasonality, calendar effects), and analyzed overfitting on low-traffic routes. The system achieved ~10% MAPE at 92 days and was rolled out nationwide. Deployment used Azure VMs and Jenkins pipelines.
`.trim()
},
{
id: "huawei_contract",
title: "AI Research Engineer at Huawei (before PhD)",
tags: ["huawei", "ai research engineer", "robustness", "data augmentation", "synthetic generation", "adversarial", "distribution shift", "controlled perturbations"],
answer: `
In a fixed-term research contract at Huawei (Dec 2021 – Apr 2022), I focused on robustness of ML models: data augmentation and synthetic generation for limited datasets, and adversarial ML (models resilient to attacks and distribution shifts), including controlled perturbations and defense mechanisms.
`.trim()
},
{
id: "cnrs_intern",
title: "CNRS internship (computational finance + deep learning)",
tags: ["cnrs", "computational finance", "deep learning", "stochastic calculus", "pde", "tensorflow", "trading strategy"],
answer: `
At CNRS (Jun–Oct 2020), I worked on computational finance and deep learning: I studied PDE formulations for optimal trading strategies and used TensorFlow and stochastic calculus tools to build learning-based solutions.
`.trim()
},
{
id: "rothschild_intern",
title: "Rothschild & Co internship (quant finance)",
tags: ["rothschild", "quant", "portfolio", "euro stoxx", "backtest", "bloomberg", "factset"],
answer: `
At Rothschild & Co (Jun–Aug 2019), I worked on quantitative finance and portfolio management, including building a quantitative model and backtesting long-horizon performance against a Euro Stoxx 50 benchmark.
`.trim()
},
// ---------------------- Education / skills ----------------------
{
id: "education_summary",
title: "Education (ENSAE + École Polytechnique)",
tags: ["ensae", "polytechnique", "master", "data science", "statistics", "machine learning", "reinforcement learning", "optimal transport", "optimization"],
answer: `
I studied at ENSAE Paris (Data & Statistical Learning) and École Polytechnique (Master in Data Science / ML). Coursework covered deep learning, reinforcement learning, optimization, statistics, online learning, optimal transport, recommendation systems, auction & matching, computer vision, and more.
`.trim()
},
{
id: "skills_stack",
title: "Technical stack",
tags: ["python", "pytorch", "tensorflow", "cuda", "numpy", "pandas", "sklearn", "scipy", "keras", "huggingface", "git", "overleaf", "sql"],
answer: `
Core stack: Python (PyTorch, TensorFlow), numerical tools (NumPy, SciPy, Pandas), ML tooling (scikit-learn), GPU/CUDA usage, HuggingFace Transformers, Git, Overleaf, and large-scale SQL analysis (notably during the SNCF internship).
`.trim()
},
{
id: "reviewing",
title: "Do you review for conferences?",
tags: ["reviewer", "reviewing", "icml", "neurips", "vldb"],
answer: `
Yes. I have served as a recurrent reviewer for ICML, NeurIPS, and VLDB.
`.trim()
},
{
id: "languages",
title: "Languages",
tags: ["languages", "english", "french", "spanish", "ielts"],
answer: `
Languages: French (native), English (C1, IELTS 7.5), Spanish (B2).
`.trim()
},
// ---------------------- Website navigation / practical ----------------------
{
id: "find_papers",
title: "Where can I find your papers and code?",
tags: ["papers", "code", "github", "openreview", "arxiv", "huggingface"],
answer: `
You can find my code on GitHub, pretrained models on HuggingFace, and papers on OpenReview / arXiv. If you tell me the topic (SAMformer / Mantis / NeurIPS Spotlight), I can point you to the most relevant link.
`.trim(),
links: [
{ label: "GitHub", url: "https://github.com/romilbert" },
{ label: "HuggingFace", url: "https://huggingface.co/paris-noah/Mantis-8M" }
]
}
];
// =========================================================
// 2) BM25 Retriever (sans dépendances)
// - indexe title+tags+answer
// =========================================================
const STOPWORDS = new Set([
"a","an","and","are","as","at","be","but","by","for","if","in","into","is","it","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with",
"i","you","he","she","we","they","me","my","your","our","his","her",
"what","who","when","where","why","how",
"quoi","qui","quand","ou","où","pourquoi","comment","est","sont","etre","être","sur","dans","avec","sans","des","les","la","le","un","une","du","de","d","en","au","aux","ce","cet","cette","ces"
]);
// light synonyms / normalization helpers
const SYNONYMS = {
"rmt": "random matrix theory",
"sharpness": "sharpness-aware",
"sam": "sharpness-aware",
"forecast": "forecasting",
"forecasts": "forecasting",
"timeseries": "time series",
"hf": "huggingface",
"spotlight": "neurips spotlight",
"oral": "icml oral",
"ucr": "ucr archive",
"har": "human activity recognition",
};
const normalize = (s) => (s || "")
.toLowerCase()
.normalize("NFD").replace(/[\u0300-\u036f]/g, "") // accents
.replace(/[^a-z0-9\s\-]/g, " ")
.replace(/\s+/g, " ")
.trim();
const expandSynonyms = (s) => {
let t = " " + normalize(s) + " ";
for (const [k, v] of Object.entries(SYNONYMS)) {
t = t.replaceAll(" " + k + " ", " " + v + " ");
}
return t.trim();
};
const tokenize = (s) => {
const t = expandSynonyms(s);
if (!t) return [];
return t
.split(" ")
.map(w => w.trim())
.filter(w => w.length >= 2 && !STOPWORDS.has(w));
};
// Build BM25 index
const BM25 = (() => {
const k1 = 1.2;
const b = 0.75;
const docs = KB.map(item => {
const text = `${item.title} ${(item.tags || []).join(" ")} ${item.answer || ""}`;
const tokens = tokenize(text);
const tf = new Map();
for (const tok of tokens) tf.set(tok, (tf.get(tok) || 0) + 1);
return { item, tokens, tf, len: tokens.length };
});
const N = docs.length;
const avgdl = docs.reduce((s, d) => s + d.len, 0) / Math.max(1, N);
// document frequency
const df = new Map();
for (const d of docs) {
const uniq = new Set(d.tokens);
for (const tok of uniq) df.set(tok, (df.get(tok) || 0) + 1);
}
const idf = (tok) => {
const n = df.get(tok) || 0;
// BM25+ style smoothing
return Math.log(1 + (N - n + 0.5) / (n + 0.5));
};
const score = (queryTokens, d) => {
let s = 0;
for (const tok of queryTokens) {
const f = d.tf.get(tok) || 0;
if (!f) continue;
const denom = f + k1 * (1 - b + b * (d.len / avgdl));
s += idf(tok) * (f * (k1 + 1)) / denom;
}
// small boosts
const q = queryTokens.join(" ");
const titleNorm = normalize(d.item.title);
if (q && titleNorm.includes(queryTokens[0] || "")) s += 0.25;
if (queryTokens.includes("meta")) s += (d.item.id.startsWith("meta_") ? 0.4 : 0);
return s;
};
const search = (query, k = 3) => {
const qTokens = tokenize(query);
const scored = docs
.map(d => ({ item: d.item, score: score(qTokens, d) }))
.sort((a, b) => b.score - a.score);
const best = scored[0];
// seuil: si trop faible, on fait fallback "topics proches"
const hit = (best && best.score >= 0.9) ? best.item : null;
return { hit, top: scored.slice(0, k), qTokens };
};
return { search };
})();
// =========================================================
// 3) UI (identique à ta version, mais branchée sur BM25)
// =========================================================
const chat = document.getElementById("askromain-chat");
const form = document.getElementById("askromain-form");
const input = document.getElementById("askromain-input");
const clearBtn = document.getElementById("askromain-clear");
const escapeHTML = (s) => (s || "")
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">");
const addMsg = (role, html) => {
const isUser = role === "You";
const msg = document.createElement("div");
msg.className = `askromain-msg ${isUser ? "askromain-user" : "askromain-assistant"}`;
msg.innerHTML = `
<div class="askromain-role">${isUser ? "You" : "RI"}</div>
<div class="askromain-bubble">${html}</div>
`;
chat.appendChild(msg);
chat.scrollTop = chat.scrollHeight;
};
const renderLinks = (links) => {
if (!links || !links.length) return "";
const items = links
.map(l => `<a href="${l.url}" target="_blank" rel="noopener noreferrer">${escapeHTML(l.label)}</a>`)
.join(" · ");
return `<div class="askromain-links mt-2">${items}</div>`;
};
const answerQuery = (q) => {
const { hit, top } = BM25.search(q, 4);
if (hit) {
addMsg("RI", `
<div>${escapeHTML(hit.answer).replaceAll("\n", "<br>")}</div>
${renderLinks(hit.links)}
<div class="askromain-meta">Matched topic: <b>${escapeHTML(hit.title)}</b></div>
`);
return;
}
// fallback: suggestions
const suggestions = top
.filter(x => x.score > 0.2)
.slice(0, 3)
.map(x => `<li><b>${escapeHTML(x.item.title)}</b></li>`)
.join("");
addMsg("RI", `
<div>I’m not fully sure what you mean. Here are the closest topics I can answer:</div>
<ul class="mt-2 mb-2">${suggestions || "<li><b>SAMformer</b></li><li><b>Mantis</b></li><li><b>Meta</b></li>"}</ul>
<div class="text-muted">Try rephrasing with keywords (e.g., “SAMformer optimization”, “Mantis calibration”, “SNCF MAPE 92 days”, “NeurIPS Spotlight random matrix theory”).</div>
`);
};
const init = () => {
addMsg("RI", `
<div>Hi — I’m a local Q&A widget (no external calls). Ask about my research, papers, or current work.</div>
<div class="askromain-meta">Examples: “What is SAMformer?”, “What is Mantis?”, “What do you do at Meta?”, “SNCF internship results?”</div>
`);
};
// Suggestions buttons
document.querySelectorAll(".askromain-suggestion").forEach(btn => {
btn.addEventListener("click", () => {
const q = btn.textContent.trim();
input.value = q;
input.focus();
addMsg("You", escapeHTML(q));
answerQuery(q);
});
});
// Form submit
form.addEventListener("submit", (e) => {
e.preventDefault();
const q = input.value.trim();
if (!q) return;
addMsg("You", escapeHTML(q));
input.value = "";
answerQuery(q);
});
// Clear
clearBtn.addEventListener("click", () => {
chat.innerHTML = "";
init();
input.focus();
});
init();
})();
</script>
<div class="container">
<footer>
<p><small>Copyright © Romain Ilbert / Last update Jan 2026 <br>
Inspired from the personal page of <a href="https://Mathis.Petrovich.fr">Mathis Petrovich</a>
</small></p>
</footer>
<div style="height:10px;"></div>
</div>
</body>
</html>