Utiliza 芦Data Science禄 para encontrar tu pr贸xima canci贸n preferida

Septiembre de 2019
驴C贸mo es que aplicaciones como Spotify, Deezer, Youtube o Apple Music saben tanto lo que nos gusta? Adem谩s de recomendar contenido de personas con gustos similares a los nuestros, 驴qu茅 otras t茅cnicas utilizan estas plataformas para recomendar m煤sica?
Estas y otras preguntas las exploro en mi trabajo de Fin de M谩ster en 芦Data Science禄 y 芦Big Data禄 de Afi Escuela de Finanzas.


La aplicaci贸n de algoritmos de machine learning en la industria musical ha tenido un crecimiento considerable durante los 煤ltimos a帽os, siendo integrados a distintos procesos de la industria: composici贸n, mezcla, producci贸n, remasterizaci贸n, venta, recomendaci贸n, etc.

Las plataformas de music streaming son quiz谩 el m谩s claro ejemplo de la transformaci贸n de la industria. Ya no se trata solo de comprar m煤sica, sino de escucharla, compartirla y tener siempre disponibles nuevas opciones para escuchar.

Los sistemas de recomendaci贸n basados en filtros colaborativos[1] son utilizados por distintas industrias con presencia digital debido a su comprobado 茅xito. Sin embargo, empresas como Spotify y Youtube integran en sus sistemas de recomendaci贸n modelos basados en contenido como los Batch Audio Models para el an谩lisis de archivos de audio, utilizados en la b煤squeda de patrones musicales que puedan mejorar las recomendaciones.

Integraci贸n de Batch Audio Models en Sistema de recomendaci贸n de Spotify
Fuente: Conferencia Machine Learning and Big Data for Music Discovery - 2017[2]

An谩lisis de los datos

Para explorar el uso de algoritmos de machine y deep learning en el reconocimiento de patrones musicales, hicimos uso del set de datos FMA[3] a帽adiendo un set de datos de m煤sica propia, generando un set de datos final de 104,343 archivos de m煤sica.

Para poder medir la calidad de nuestros modelos entrenados, el objetivo es la clasificaci贸n de los archivos de m煤sica por g茅nero musical, para lo cual se utilizaron 16 g茅neros de m煤sica distintos: Experimental, Electronic, Rock, Instrumental, Pop, Folk, Hip-Hop, International, Jazz, Classic, Country, Spoken, Blues, Solu-RnB, Old-Time / Historic y Easy Listening.

Nuestro set de archivos de m煤sica se encuentra desequilibrado en cuanto a g茅neros musicales: mientras que la clase mayoritaria (Experimental) concentra un 21% del total de archivos, la minoritaria (Easy Listening) apenas representa el 0,4% del total.

Archivos por g茅nero musical
(%)
Fuente: elaboraci贸n propia.

Algunas otras observaciones interesantes que encontramos en el an谩lisis de datos es que contamos con un total de 332,22 d铆as de m煤sica, el 24% de los archivos conten铆an el origen de sus artistas siendo la gran mayor铆a de Am茅rica del Norte y la UE y el 96% de las canciones con letra son en ingl茅s.

Para el entrenamiento de nuestro modelo utilizamos 93,222 archivos de audio y 11,121 archivos como set de pruebas.

Modelizaci贸n y Resultados

Nuestro proceso de modelizaci贸n consta de dos ejes principales, en ambos casos utilizamos las m茅tricas de Accuracy para interpretar con facilidad el resultado del modelo y Kappa [4] buscando maximizar una m茅trica funcional para clasificaci贸n multiclase que tome en cuenta la probabilidad por azar y el desbalanceo de clases.

Machine Learning

Para la utilizaci贸n de algoritmos de clasificaci贸n con datos estructurados realizamos un pre-procesamiento de los archivos de audio, extrayendo patrones musicales a trav茅s de distintas t茅cnicas de recuperaci贸n de informaci贸n musical (Music Information Retrieval - MIR)[5] con la librer铆a de python Librosa.[6]

Como resultado de las t茅cnicas de recuperaci贸n de informaci贸n musical se obtienen matrices num茅ricas que representan la se帽al en el dominio del tiempo o de la frecuencia, rescatando caracter铆sticas como la velocidad, la potencia, la melod铆a, el timbre e incluso las armon铆as y acordes. Por cada matriz obtuvimos sus momentos matem谩ticos[7] buscando la reducci贸n de dimensionalidad, obteniendo como resultado 518 variables.

Como m茅todos de selecci贸n de variables utilizamos t茅cnicas como PCA[8], MDA[9] y diferentes combinaciones de t茅cnicas MIR que dieron mejores resultados. Algunas de estas t茅cnicas son MFCC: Mel Frequency Cepstral Coefficients, CTR: Spectral contrast, CHR: Chroma, CEN: Spectral Centroid, RMSE: Root Mean Square Energy, TON: Tonnetz.

Accuracy - Selecci贸n de variables y modelos*
(%)
* Accuracy obtenido por diferentes modelos y t茅cnicas de reducci贸n de dimensionalidad.
Fuente: elaboraci贸n propia.

Basado en el valor obtenido de Kappa y Accuracy de cada modelo, el tiempo de entrenamiento, y la diversidad de forma de construcci贸n de cada algoritmo, se cre贸 un ensemble por votaci贸n que incluye los algoritmos Xtreme Gradient Boosting, Logistic Regression y Linear Support Vector Machine.

El resultado final obtenido es un 46,32% de aciertos con un Kappa de 33,22%. Pudimos observar que nuestro modelo es influenciado por las tres clases mayoritarias; experimental, rock y electr贸nica, debido al desbalance de clases; sin embargo, el g茅nero con mejor predicci贸n es una clase minoritaria (Old-Time / Historic).

Matriz de confusi贸n de modelo Ensemble
Fuente: elaboraci贸n propia.
Deep learning

Spotify utiliza como parte de sus modelos basados en Batch Audio Models, arquitecturas basadas en Redes Neuronales Convolucionales (CNN [10]), por lo que exploramos por lo menos 3 arquitecturas distintas a las que llamaremos como:

  • Modelo Spotify [11]
  • Modelo Deep Sound [12]
  • Modelo CNN - LSTM [13]

Para realizar el entrenamiento y prueba de estos algoritmos, se recortaron ventanas de audio de 30 segundos, convertimos los archivos de audio en matrices que representan un espectrograma[14] con dimensiones de 646 x 128, y se defini贸 una estrategia EarlyStopping [15] donde al no existir mejoramiento durante por lo menos dos 茅pocas en la funci贸n de p茅rdida, se detiene el entrenamiento.

La arquitectura con mejores resultados obtenidos es una arquitectura propuesta por nosotros que comprende el uso de Redes Convolucionales y LSTM, obteniendo una exactitud del 61,38%.

Arquitectura Red CNN - LSTM propuesta
Fuente: elaboraci贸n propia.
Comportamiento de la funci贸n de p茅rdida y el accuracy en fases de entrenamiento y validaci贸n de las arquitecturas propuestas
Spotify - Accuracy

Spotify - Funci贸n de P茅rdida

DeepSound - Accuracy

DeepSound - Funci贸n de P茅rdida

LSTM - Accuracy

LSTM - Funci贸n de P茅rdida

Fuente: elaboraci贸n propia.

Nuestra arquitectura CNN-LSTM fue utilizada para la implementaci贸n de una aplicaci贸n de visualizaci贸n din谩mica donde podemos observar la clasificaci贸n de archivos de audio en tiempo real[16] basada en aplicaci贸n DeepSound.

El proceso de modelizaci贸n descrito requiri贸 del uso de servicio en la nube como Google Cloud, y EC2 de Amazon Web Services (GPU y CPU).

Conclusi贸n

Las t茅cnicas de recuperaci贸n de informaci贸n musical (MIR) demostraron eficacia en el reconocimiento de patrones musicales y aporte a la clasificaci贸n de archivos por g茅nero musical, sin embargo, con las arquitectura basadas en redes neuronales donde nuestro pre-procesamiento de datos consisti贸 en convertir el audio a un formato de espectrograma, obtenemos mejores resultados sin el esfuerzo de entender y conocer t茅cnicas especializadas de se帽ales y audio.

Las arquitecturas basadas en redes neuronales nos permiten el aprovechamiento de modelos previamente entrenados, lo cual ser谩 煤til para su escalabilidad, re-entrenamiento continuo e integraci贸n con modelos basados en filtros colaborativos.

Para conocer m谩s detalles de las t茅cnicas MIR, t茅cnicas de selecci贸n de variables, pruebas de balanceo, y resultados detallados, puede acceder a la memoria del TFM[17].


[1] Filtros colaborativos.
[2] Conferencia Spotify.
[3] Free Music Archive (FMA).
[4] Kappa.
[5] Music Information Retrieval (MIR).
[6] Librosa.
[7] Momentos matem谩ticos.
[8] Principal Component Analysis (PCA).
[9] Mean Decrease in Accuracy (MDA).
[10] Convolutional Neural Network (CNN).
[11] Modelo Spotify.
[12] Modelo Deep Sound.
[13] Long Short-term Memory (LSTM).
[14] Mel Spectrogram.
[15] EarlyStopping.
[16] Aplicaci贸n de clasificaci贸n de g茅nero musical en tiempo real.
[17] Memoria TFM: Modelo de clasificaci贸n de g茅neros musicales basado en recuperaci贸n de informaci贸n musical (MIR) y an谩lisis de espectrogramas por Ludwig Rubio, Junio 2019.


Ludwig Gerardo Rubio Jaime es Machine Learning Engineer en Omedena.