ScaDS Logo

CENTER FOR
SCALABLE DATA ANALYTICS
AND ARTIFICIAL INTELLIGENCE

English Description

Embeddings (distributed representations) are a powerful concept in machine learning because they map complex objects into a lower dimensional space which contains information about the objects and their relations. While these reprensations can be used as an input for further algorithms they are also an interesting structure on their own. For example it has been shown in word embeddings that the relation between a country and its capitol is always the (approximately) same vector. Hence the question "What is the capitol of X?" can be answered by simply following this vector from starting point X. Another possibility is the creation of axes which separate the embedding space by a certain concept. This can be used to normalize the objects around this axis to remove bias from the data.

The goal of this work is to transfer these concepts into the field of fashion and to create a software which allows the interactive exploration of a product catalog. The user can choose a product and an axis (e.g. summer - winter) and explore further products which are similar to the choosen one but lie on different regions of the choosen axis.

The work includes the following subtasks:

  • Research of a suitable data set
  • Research of related work
  • Creation of a product embedding
  • Implementation of a method to compute topical axes
  • Implementation of an effecient retrieval method of products along an axis
  • Implementation of a client to visualize the data and allow for exploration

To be succesful in these tasks, experience in the following areas is helpful. However if you are highly interested in the topic it is always possible possible to learn them in course of the thesis work:

  • machine learning, deep learning and linear algebra basics
  • programming in python (and the typical dl frameworks pytorch or tensorflow)
  • a javascript frontend framework

Documented, readable and clean code is appreciated. Also experiments should be conducted in a reproducable manner and the whole softare should be build with a version control system.

Deutsche Beschreibung

Embeddings (distributed representations) sind ein mächtiges Werkzeug im Machine Learning, da sie komplexe Objekte (beispielsweise Wörter einer Sprache) in einen niedrig(er) dimensionalen Raum abbilden und zueinander ins Verhältnis setzen. Diese Repräsentation lässt sich als Input für weitere Algorithmen nutzen aber auch eigenständig untersuchen. Beispielsweise lässt sich in Word Embeddings zeigen, dass Länder und ihre Hauptstädte durch den selben Vektor verbunden sind. Die Frage "Welches ist die Haupstadt von X?" lässt sich somit durch nachfolgen dieses Vektors ausgehend des Embeddings von X beantworten. Eine weitere Möglichkeit ist die Bestimmung von Achsen in dem Embedding Raum welche die Objekte nach bestimmten Konzepten separieren. Diese lassen sich z.B. nutzen um die Embeddings zu normalisieren und somit bias aus den Daten zu entfernen.

Diese Konzepte sollen auf den Fashion Bereich übertragen werden um eine Anwendung zu realisieren mit der ein (beispielhafter Produktkatalog) erkundet werden kann. Der*die Nutzer*in kann hierbei ein Produkt und eine Achse (bspw. Sommer - Winter) wählen und dann weitere auf dieser Achse liegende Produkte anzeigen lassen.

Konkret muss hierfür folgendes getan werden:

  • Recherche eines geeigneten Datensatzes
  • Recherche von existierenden ähnlichen Ansätzen (neben den gennanten aus dem bereich der Sprachverarbeitung)
  • Embedding der Produkte
  • Implementierung einer Methode zur Berechnung von thematischen Achsen
  • Implementierung einer (effizienten) Methode zum finden von Objekten entlang der Achse
  • Implementierung einer Client Anwendung zur Auswahl/Anzeige

Erfahrungen in folgenden Bereichen sind hierfür hilfreich aber können sich bei hohem Interesse auch im Laufe der Arbeit angeeignet werden:

  • Machine Learning, Deep Learning, Basics in linearer Algebra
  • Python, Tensorflow oder Pytorch
  • Javascript

Desweiteren sollen dokumentierter und lesbarer Code, die Verwendung von Versionkontrollsystemen sowie reproduzierbare Experimente angestrebt werden.

Contact

Moritz Wilke