I'm trying to implement deep speaker embeding system and after getting voice embeddings I need to somehow calculate accuracy. But there is no mention in deep speaker paper about how they calculated accuracy for person identification (at least I've not found it).
So in general I have array of embeddings (shape [N, 512]), corresponded labels (shape [N]) and some function f(a, b) which calculate distance between embeddings. In order to calculate accuracy (and other metrics) we need to find array of predictions.
Currently I'm using nearest neighbor approach:
emb2and set label of
emb2as label for
emb1. I also tried to use mean of embeddings of specific class instead of
emb2, but this approach yields worse result.
Also come is mind some clustering approach:
divide embeddings into
kclusters and check if all items in each cluster have same label. Where
kis number of unique classes.