Given the scenario:

  1. We have a speech recording from an unknown person.
  2. We have a speech recording from a known person.
  3. We have a large database of speech recordings from different persons.

We would like to decide if the unknown speaker's identity is the same as the known speaker's identity, are they the same person?

It looks like for me as a supervised learning task: we show to the system a suspect (known person) and a general type from the database. The the system decides if the unknown recording is closer to the suspect or the general model.

But as far as I know, this kind od speaker recognition system uses GMM-UBM clusterization or DNNs which are unsupervised methods, right? What am I missing?


This is usually formulated a a supervised learning problem, however typically not classification. Instead such similarity models are most often trained with . https://en.m.wikipedia.org/wiki/Triplet_loss The triplet loss setup is very much like your propose. The triplets consist of one sample (called anchor), as well as another sample of the same person (positive) and another sample of a different person (negative). The task is then to learn a similarity function / distance metric such that the anchor and positive are very close, and the anchor and negative are very far apart. After training one can input two samples and use this to tell whether they are from same or different person. And because each sample gets a position in a latent space, one can do similarity search (find person closest to input sample).


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.