So I've built an arcface model with this arcface layer implementation: https://github.com/4uiiurz1/keras-arcface/blob/master/metrics.py
I trained for a few epochs and now that I'm comparing the results I'm quite baffled.
According to the paper and resources I've read the embedding should produce embeddings where similar images are closer and should have a higher cosine similarity.
But I have the exact opposite case, I ran the models embedding layers through the hold out set and to 95% the mismatches are closer than the matches. Thus I have a reversed 95% accuracy.
My feed and labels are correct
I binned similar images in groups similar to here: https://www.kaggle.com/ragnar123/unsupervised-baseline-arcface but for a different dataset.
Could someone guess why this is happening? Is it possible that some initialization would produce the opposite goal?