My first year as a researcher at Criteo
Tags: Research, Computer Vision, AI, Life, Deep Learning

My first year as a researcher at Criteo MG Follow Oct 20 · 11 min read

Morgane Goibert is a 24 years old PhD Student with an interesting rare background in both Engineering and Business, graduating from the prestigious and highly selective ENSAE and ESSEC. We talked to her about her career path, her projects and her time with Criteo.

Let’s get started! Could you tell us a bit about your background?

I am French, and I live in the suburbs of Paris, where I grew up. When I think about how I got where I am today, I must say it’s a mixture of good fortune, hesitation, and determination.

When I was in high school, I definitely liked math, but also history and literature… so in short, I had no idea what I wanted to do 🤷. I finally chose to do a “classe prépa ECS”: It is a two-year intense study program with majors in math, history/geopolitics and literature/philosophy with the goal of taking competitive exams to join French Business Schools. This is where I discovered my love for math and decided to join an Engineering school instead of a Business one.

Fast forward, in 2015 I entered ENSAE, where I learned a great deal about math (and mainly probability theory and statistics), data science, machine learning. I even discovered research during the very first internship I ever did. In the meantime, I decided I still wanted to have the opportunity to study in a Business School, and I was selected for a double-degree program with ESSEC Business School, which I entered in 2017.

I spent two years in ESSEC, where I had courses absolutely not related to math (I specialized in negotiation and geopolitics), but where I broadened my knowledge and my competencies (how to speak in public for example, which was something quite difficult for me before, but also in economics and entrepreneurship, etc.). It also was a great opportunity for internships: I did two 6-month internships when I was in ESSEC, both closely related to math and research, which is something I could never have done in Engineering School. I spent 6 months working on graph theory at the University of Barcelona, in Spain, in an academic research lab (UBICS, the Institute of Complex Systems).

And, finally, I did my end-of-study internship in Criteo, from January to July 2019. I worked under the supervision of Elvis Dohmatob, who is a senior researcher here at Criteo, and after my internship, he supported me to continue with Criteo for a PhD. From September 2019 to July 2020, I worked as a researcher at Criteo, and officially started my PhD in August 2020 (yes, the administrative process is long).

Why did you decide to choose your own topic of research?

Is it the researcher who chooses the topic of research, or the topic of research that chooses the researcher? Apart from the joke, let’s say it’s very difficult, as a junior researcher, to choose a topic. You always have ideas about the broad areas you would enjoy working on (like “I want to work on Computer Vision”), but it’s very difficult to come up with a specific subject (there are so many different things you can do in Computer Vision and you have no idea when you’ve just finished school). The company and Elvis have been a tremendous help for that: When I applied at Criteo for my internship, I had a discussion with Nicolas, our recruiter, during which we spoke about which areas I liked, and then Nicolas directed me toward the matching internship project and supervisor.

Thus, it is Elvis who advised the topic of the internship, which was in my case Adversarial Robustness in Deep Learning. The first days and weeks of my internship were dedicated to understanding the topic, reading, getting familiar with it, and then, finally, developing ideas and specific research avenues I wanted to dig in. As a junior researcher, finding my research topic and then my projects was a perfect mix of Elvis’s guidance and support, and my own wishes and interests.

Now that I have a bit more experience in the domain, the problem is less finding ideas for projects than choosing between all the ideas we may have. After the first project I did with Elvis, I came across interesting questions that were not directly related to it but that I kept for later; extrapolations of your work on other areas; questions arising that you want to answer afterwards; discussions with other colleagues who also raises interesting points you have missed… And between all that, you try to choose project that could be fruitful and really cool.

Why did you join Criteo?

I joined Criteo for my end-of-study internship in January 2019. I went through a great deal of internship offers before I finally chose Criteo, and the reasons I did were:

I wanted to have the opportunity to continue with a PhD , and I knew Criteo had a PhD program, so it was possible.

, and I knew Criteo had a PhD program, so it was possible. I wanted to do “real research” even though I was not in an academic lab. In fact, this criteria was quite difficult to meet, and after discussion with Nicolas and Elvis, I realized that yes, Criteo AI Lab does real research, some projects are very theoretical, some others are more applied, but in the end it is research, with papers published in conferences and journals, and so on.

even though I was not in an academic lab. In fact, this criteria was quite difficult to meet, and after discussion with Nicolas and Elvis, I realized that yes, Criteo AI Lab does real research, some projects are very theoretical, some others are more applied, but in the end it is research, with papers published in conferences and journals, and so on. Honestly, Elvis impressed me when he presented the topic during the interview (I was like “ok, it looks very very cool, interesting, and everything, I don’t even know if I’m up for the job”).

impressed me when he presented the topic during the interview (I was like “ok, it looks very very cool, interesting, and everything, I don’t even know if I’m up for the job”). Amelie’s interview in Criteo’s blog (you can find it here). Amelie is a researcher in Criteo AI Lab, and at some point, after I sent my application to Criteo, I started reading about the company and the lab, to understand a bit who the people working there were and what they were doing, and I came across Amelie’s interview. It really helped me identify with her (she is young too, she has overall a similar background to what I had and a PhD in addition to that, etc.) and realized that, somehow, I fitted.

in Criteo’s blog (you can find it here). Amelie is a researcher in Criteo AI Lab, and at some point, after I sent my application to Criteo, I started reading about the company and the lab, to understand a bit who the people working there were and what they were doing, and I came across Amelie’s interview. It really helped me identify with her (she is young too, she has overall a similar background to what I had and a PhD in addition to that, etc.) and realized that, somehow, I fitted. The smoothness of the process: I applied, got very quickly a first call with Nicolas, then I met Elvis (and also Mike, another researcher) not even a week after that, got an answer for my application a few days later… I think impressions are quite important, and I had a really nice impression at my first contact with Criteo and Elvis.

What are you working on?

I’m working on Adversarial Robustness, mainly in Deep Learning for Computer Vision, but also on rankings. Basically, Computer Vision means I’m working with images. Deep Learning means I’m working on a specific type of algorithms that are Neural Networks (you have neurons, you have connections between them, and information flowing from neurons to neurons). These algorithms are very powerful (especially when applied to images), but, surprisingly, they are vulnerable to tiny modifications of the data. If you train a neural network to distinguish rabbits and horses, it will get very good at it, no problem. But if you slightly modify a rabbit image (with your own eyes you won’t even see the difference), you can make the neural network to wrongly predict it’s a horse. The phenomenon is called Adversarial Example, and my work is to find way to avoid neural networks failure, and to better understand how this phenomenon works. I also want to work on this phenomenon when applied to ranking and recommendations.

Researchers at Criteo use the white-board a lot… Here is some maths about Adversarial Robustness

Is there a specific part of the job that you like the best?

What I liked best in my work is the diversity of things I can do. Some days, I read other academic papers and take notes, some other days I focus on theoretical aspects like writing proofs “by hand”, some other days I code to test and illustrate ideas, etc. I like not being stuck to one aspect.

Another very important part of the job is collaboration: People often have this vision of researchers being lonely and doing their stuff in their corner, but that’s totally untrue. It’s so important for us to discuss with others at every moment of our projects. You need to discuss when you’re stuck to find creative solutions, you discuss to bridge gaps with researchers focusing on different areas and create collaborations (and you learn a great deal in the process), you present your work regularly to show what problems you solved and how others can use your solution, you write articles to explain what you found, you participate in conferences gathering many researcher from across the globe and so on. At Criteo, it’s very easy to discuss with everyone: As a junior researcher, you can access senior researchers in a very direct way, everyone is open to discussion, it really is direct collaboration.

What qualities and skills are important to have in your job?

For the qualities and skills, I have three things to say: Perseverance, perseverance and perseverance. Doing research means constantly working on new stuff, so you always need to learn new things, to read articles and so on. You obviously need to know the fundamentals in math, but anyway you’ll learn what is required in your topic by reading articles. What is important, thus, is not to be afraid to be stuck, and to believe in your project and your ability to get it done. You also have projects that do not work out, and it’s just part of the job (and at least you’ve shown that it is useless to try it, so others won’t waist time). In addition to that, being organized is better, because in general you have many different things to do at the same time. And obviously, if you like writing papers, that’s also great, because the vast majority of researchers tend to say that the “writing papers” part of the job is more annoying than the rest!

How did being at Criteo help you with your PhD and your development?

Considering my background, it was quite difficult for me to find a PhD opportunity in a university, because during my two years at ESSEC, I lost touch with the academic world in math. I had no idea who to contact if I wanted to do a PhD in Machine Learning, and as I mentioned, it was also difficult to find a specific topic alone.

At Criteo, I received Elvis’s support to establish the PhD project and to find the academic director (when you do a PhD in a company, you also need a university lab and director). Elaborating all the PhD paperwork can be quite complicated, and I was lucky to get the help from other colleagues (Imane, Adrien), and the experience of the fellow older PhD students.

On a day to day basis, as a PhD student, I’m still learning, and at Criteo I feel that in addition to Elvis, many senior researchers help me, not only to learn how to do research, but also with advices on how to organize my work, how to review a paper, etc. From what I experienced when I was working in a University, I feel that the management and hierarchical environment is at the same time more open (you can easily discuss with everyone), more flexible (you can collaborate with many different people) and more empowering (we help you with your ideas/questions/projects/etc.).

How is what you learned at ESSEC helping you for your PhD & integration in Criteo?

Obviously, I didn’t learn any “math hard-skills” at ESSEC that I use when doing Python experiments or math proofs. However, being a researcher is not only about math, but also about communicating about your work, writing papers, giving talks. The courses I had at ESSEC were really valuable for this “communication part”. For example, I took a course about public speaking, and even though I was quite nervous when I had to talk in front of an audience before, I learned techniques that now help me to create better contents (and adapt it better to the audience), talk more easily and without much stress (I have to say I quite enjoy doing that now), engage the audience, know what to do with my body language, my voice, and so on. Each time I have to prepare a presentation or give a talk, this course has been of tremendous help. Additionally, you learn how a company works. As a PhD student, for now, it is not of much utility for me because I focus on pure research projects, but in the future, I would like to work also on applied projects. Having graduated from a business school helps understand the production process and the life of a company, so that I do not need to much effort to understand business discussions, product vocabulary, sales needs, and so on. Last but not least, I think my time at ESSEC helps me see some math problems in a different light. I remember for example an interesting discussion I had with Elvis about some Deep Learning problems being similar to utility problems in microeconomics. Having a different background is always interesting to fuel new ideas and new approaches.

Do you have a lot of interactions with colleagues outside Criteo AI Lab?

As I mentioned, for my day-to-day work, I focus on pure research projects, so I have very few interactions with product-related teams some of my colleagues may have, even though I stay connected with the Criteo community everyday by chatting on our Slack channels. However, I have the opportunity to connect with other colleagues during specific events put in place by Criteo, like “Aujourd’hui je code” (a coding event for high-school students, during which I met engineers outside of CAIL) or Hackathon (an internal competition made to fuel innovation during which different teams develop and present new ideas for Criteo), and of course, social events and parties. In addition to that, I met people from HR, or Events and Communication teams at some point (during my recruitment process, a conference abroad, and even a former schoolmate that works in the Finance department) with whom I like to have a nice discussion or coffee breaks (but obviously, it’s harder when working from home).

Were you expecting to see such a variety of research topics in an advertising company?

Absolutely not! I thought, before I joined the company, that everyone in the research teams would be working on really directly applied projects, which is not the case, and that the scope of what Criteo is doing was much narrower than what it actually is. I discovered that projects are not “applied” or “pure”, but, most of the time, rather in the middle, and as you usually work on different projects at the same time, you can distribute the degree of application/pureness you like. In addition to that, I had no idea there would be so many different research fields at Criteo: From bandits to transfer learning, from computer vision to optimization, there are as many topics as there are researchers, which is really nice to tackle projects you like and also to foster collaborations and ideas between colleagues of different specialty and interests.