I am working on a problem where I am given three images of different dishes (A,B,C) and the task is to figure out if figure B or figure C is closest to figure A (in terms of taste). I have a training set with ordered images (A,P,N) where P (positive) is closest to A (anchor) and N (negative). Now I figured that I somehow need to come up with an embedding that is representative of the taste, and then use a metric d(.,.) that meaningfully compares the dishes. Ideally d(embedding(A),embedding(B)) < d(embedding(A),embedding(C)) implies that dish A is closer in taste to dish B than it is to dish C.

Now I did some research and found the so-called TripletLoss, which seems to tackle a very similar problem. A nice blog post by Olivier Moindrot can be found here on the topic, and it includes the figure below.


The problem is that contrary to the implementations I found online, my dataset is not labelled. I simply have ordered triplets from which I need to extract information for the right embedding. The dishes in my dataset are all unique, and cannot be grouped meaningfully into discrete classes. Yet, I still want to come up with something like a metric that is able to compare the dishes.

My question: Am I going in the right direction? Are there any models that would suit my problem better? My knowledge of ML/NNs is still somewhat limited so any suggestion into the right direction is appreciated!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.