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
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
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!