Enhancing fashion images categorization - my experience as an intern on the Search Team

This article shares my experience as an intern at Farfetch, at the Lionesa office, Porto, Portugal. I had the opportunity to take on a winter internship at Farfetch while I was pursuing my PhD degree in Instituto Superior Técnico, Lisbon, Portugal. For three months I joined the Search team and I worked on a project named "Describing Our Product Catalogue through Images”. This post precedes the following tech blog post, where we share the outcome of this project.
A bit of background on myself
I am a student from the Electrical and Computer Engineering PhD program at Instituto Superior Técnico, University of Lisbon. My Masters was also in Electrical and Computer Engineering and on my MSc thesis, I focused on optimization and computer vision techniques to develop hybrid localization approaches based on distance information and images.
I had always wanted to pursue further studies and to have the opportunity to focus on a very specialized problem at the intersection of Computer Vision and Machine Learning. Enrolling in a PhD program definitely put me on the right path for that. Yet, I felt something was missing… Later, I realized that the missing piece was connecting all this research with an application that has an impact on a real-world problem. This real-life context is indeed truly present at Farfetch, as challenges appear and are solved on a daily basis to guarantee the best customer experience on the Farfetch platform supported by the perfect operation of the whole pipeline behind the Farfetch business.

My university advisor was invited to give a talk at Farfetch to share some of the work of his research group. When he got back he was extremely enthusiastic about many aspects of Farfetch: the work developed there, the exciting and complex challenges they faced, and also the very nice office atmosphere. I remember this triggering a spark for establishing a novel collaboration between my PhD program and a leading tech company in the global landscape. Fortunately, Farfetch was also fostering stronger institutional relations with academia and launching new research ideas, which created the right circumstances for the materialization of my internship.
What did I learn
Being an intern at Farfetch, and working on such an interesting and challenging project while being integrated into a dynamic team, was such an intense and memorable experience that it is hard to put into words everything I took from it. Hence, I will focus on the things I’ve learned that I think will be key to the rest of my professional life, including during my Ph.D., but mainly beyond it.
To address the classification problem of the thousands of new fashion items on the Farfetch platform, we used the current state-of-the-art Machine Learning frameworks like Keras and Tensorflow. Therefore, I had to brush up my python skills and learn to use these frameworks on the go and from scratch, but with the help and support of my Farfetch colleagues, I was able to quickly get used to these frameworks. Moreover, I learned to use jupyter notebooks and several Python libraries like pandas, which are very useful tools to experiment with our Machine Learning models.
Apart from the problem that I was challenged to address, I had the opportunity to learn about the other projects of the Search team. There were several fruitful occasions for discussing the relevant state of the art, like in reading groups, where a paper from a top conference would be presented and analyzed.
A dimension that was new to me, but that had to be present in our mindset was the business side of the scientific problems that we were tackling. This is usually absent from the academic mindset, but it is crucial for any business, as I then realized. Specifically, when developing a solution to the pure scientific problem at hand, we had to consider several other factors as the priorities defined by the business, which features will have more impact for the end-user, and also prepare AB tests to roll out these new features for the platform. Another striking difference between Farfetch and what I had found in academia was the dynamic and fast-paced nature of the work.
Furthermore, an essential aspect that came with my participation in such a multidisciplinary team like the Search team was the need to interact with people with different backgrounds and learn to communicate with them. The team followed a scrum framework, so there were daily meetings with everyone present and a rooted mentality of collaboration among the team, which fostered a lot of interaction and communication between all the team members. As an example, I had to interact with software developers and quality assurance (QA) engineers.
If you are curious and want to know more about the team’s structure and organization, you can read this post. On top of all this, we also organized team-building events to get everyone from the whole cluster together and strengthen team relations.

Finally, the cherry on top of the cake was the fact that the solution we proposed brought significant advantages in terms of classification accuracy and training efficiency, leading us to the submission and ensuing publication of a paper in a top-tier conference in Machine Learning (A unified model with structured output for fashion images classification).
Looking back now, interning at Farfetch was, without a doubt, pivotal to my PhD. Not only did it provide me with a bird’s eye perspective of the work of a Machine Learning researcher in a tech company, but also it taught me the tools I needed to know to steer my PhD research towards more active and impactful topics.