Este Trabajo de Fin de Grado tiene como objetivo la implementación y análisis de un sistema
extractor de representaciones de locutores de una longitud fija (embeddings) a partir de audios
de una duración variable para la posterior verificación de locutor. Con ello se busca profundizar
en técnicas que ya han demostrado superar a los métodos más usados (como los modelos
de variabilidad total, los i-vectors) y analizar qué configuraciones de parámetros del extractor
obtienen mejores resultados.
Para abordar esto, se entrenará una red neuronal profunda con diferentes configuraciones de
parámetros y tipos de arquitectura en la tarea de clasificación de locutores. Lo que se busca es
que la red sea capaz de extraer aquellas características que mejor identifican al autor de una
determinada locución (que serán luego las que se extraigan), y para ello emplea un entorno
supervisado para aprender mediante descenso por gradiente cuáles son las transformaciones más
adecuadas para este fin. Para poder conseguir esto, la red tendrá una parte dependiente del
tiempo en la que se tratarán las dependencias temporales de las secuencias de audios y luego,
tras una agrupación de información basada en estadísticos, habrá una parte no dependiente del
tiempo, en el que se trabaja directamente sobre representaciones independientes de la longitud
de los audios.
Además, en este trabajo se ha realizado un estudio sobre cómo la aplicación de modelos de
análisis de factores (LDA y GPLDA) afecta a los resultados del sistema completo, y se analizan
las ventajas e inconvenientes de la integración de estos modelos con el extractor implementado
con respecto a la métrica de similitud coseno.
El conjunto de datos empleado en este trabajo ha sido una unión de los datos de las “Speaker
Recognition Evaluations” de NIST de cinco años distintos (2004, 2005, 2006, 1008 y 2010),
seleccionado por su popularidad y porque provee una gran cantidad de datos sin mucho ruido en
sus etiquetas. Las principales herramientas con las que se trabajará son Keras y Tensorflow para
la implementación del extractor y la obtención de los vectores representación, y Matlab para la
aplicación de las técnicas de análisis de factores. Además, se cuenta con aportaciones en Kaldi.
En la parte final se presentan los resultados obtenidos al ir modificando distintos parámetros
del extractor (número de neuronas por capa, número de capas, cantidad de datos empleados,
longitud de los datos empleados, inclusión de técnicas contra el sobre-entrenamiento y distinta
dimensionalidad en LDA y GPLDA). También se incluyen las conclusiones que se pueden extraer
de los resultados presentados y las posibles líneas de trabajo futuro