GANs N’ Roses: escuchando el arte visual

Una Inteligencia Artificial que te permite sentir el arte visual a través del sentido del oído

Contexto

Motivación

Figura 1. Ejemplo de cuadro

De un cuadro a una melodía — El pipeline del proyecto

Figura 2. Pipeline

De cuadros a emociones

Figura 3. Emociones disponibles
  • La suma de los porcentajes de emociones por cuadro no sumaba el 100%. Esto se debe a que la gente podía decir que sentía más de una emoción al ver un cuadro, por lo que al promediar las emociones entre todas las observaciones por cuadro, las puntuaciones podían sumar más de 1. Como se desea tener algo parecido a una distribución probabilística, estas puntuaciones se han transformado para que sumaran 1 por cada cuadro. Este efecto se puede conseguir utilizando una función muy conocida por los científicos de datos: softmax. Sin embargo, como esta función utiliza exponenciales, nunca asignará una probabilidad 0, aunque la puntuación inicial sea 0. ¿Es esto deseable? A primera vista, no parece razonable asignar una puntuación a una emoción si estamos seguros de que un cuadro no contiene nada relacionado con ella. Además, si se observa la Figura 4 (antes de la softmax) y la Figura 5 (después de la softmax normal), no sólo se da una puntuación positiva a las emociones con puntuación 0, sino que además esta puntuación se acerca a la asignada a otras emociones que antes tenían valores distintos de cero, como ocurre con asco y miedo (disgust y fear en inglés, respectivamente). Además, la distancia entre todas las puntuaciones se reduce, ya que queda menos valor por asignar. Por ello, se ha tratado de excluir los 0 en el cálculo de la softmax, lo que da como resultado la Figura 6.
Figura 4. Antes de la softmax
Figura 5. Después de la softmax normal
Figura 6. Después de la softmax sin ceros
Figura 7. Distribución de las emociones
  • No estábamos aprovechando la valiosa información que nos proporcionaba el conjunto de datos sobre el porcentaje de cada emoción.
  • Si al final queríamos una distribución probabilística, ¿por qué no predecirla directamente con los datos disponibles?
  • Debido a la naturaleza del conjunto de datos (muchos evaluadores con criterios diferentes y subjetivos), el modelo tenía dificultades para predecir los porcentajes con precisión. Además, ¿nos interesa que el modelo prediga exactamente los porcentajes o es suficiente con que pueda determinar las principales “direcciones” de las emociones (positividad, actividad, …)? Es más, poner el foco en la predicción de la distribución exacta estaba haciendo que no predijera estas direcciones.
  • Una vez obtenida la distribución probabilística de las emociones, ¿cómo íbamos a hacer frente al hecho de la falta de un espacio estándar de emociones? Por ejemplo, los conjuntos de datos utilizados en los siguientes pasos se anotaron utilizando una lista diferente de emociones.

Valence-Arousal — La transformación clave

Figura 8. Modelo valence-arousal
  • Reducir la dimensionalidad para que las “direcciones” básicas de las emociones sean predichas correctamente por el modelo, y no las proporciones exactas en sí.
  • Mapear fácilmente el espacio de n emociones a un espacio de m emociones que podría no tener relación con el espacio original.
Figura 9. Emociones básicas mapeadas a la circunferencia
Figura 10. Nuevas emociones mapeadas a la circunferencia
Figura 11. Ejemplo de vector de entrada
Figura 12. Coordenadas a vectores
Figura 13. Coordenadas polares a cartesianas
Figura 14. Representación final

De emociones a una inspiración inicial

  • Obtener una lista de canciones anotadas por las emociones que evocan. Se puede llevar a cabo gracias a la existencia de múltiples conjuntos de datos. El primero es el proyecto vgmidi, donde los MIDIs ya están anotados utilizando la escala de valence-arousal. Otro que se ha utilizado es emotify, que contiene música anotada en base a un nuevo conjunto de emociones traducido por nosotros a valence-arousal siguiendo exactamente el mismo proceso que con las anotaciones de los cuadros. A estas alturas ya te habrás dado cuenta de lo versátil que es la escala de valence-arousal 😉
  • Definir lo que significa “adecuado” en este contexto. Para resolver esto, se puede imaginar que, si tenemos la representación vectorial en valence-arousal de la imagen así como de la pieza de música, una forma natural de definir la cercanía es por la distancia euclidiana. Así, basta con calcular las distancias del vector del cuadro a todos los vectores de las piezas y obtener la más cercana. Para encontrar la pieza más adecuada (la más cercana) de forma muy eficiente y sencilla, hemos utilizado un algoritmo de k vecinos más próximos (o k-NN, del inglés k-Nearest Neighbors) con k=1.
Figura 15. De cuadro a MIDI

De la inspiración inicial a la melodía final a través de Transformers — El Director de Orquesta

Despliegue

Figura 16. Arquitectura de la solución
Demo para imagen que evoca amor
Demo para imagen que evoca tristeza

Conclusiones y líneas futuras

  • Entrenamiento del modelo CNN de clasificación de imágenes con un mayor número de imágenes de WikiArt. Parte de este conjunto de datos se ha utilizado para construir el modelo en el presente proyecto. El siguiente paso es conseguir un entorno más potente que nos permita procesar más imágenes y hacer un ajuste fino.
  • Creación de un modelo de generación de música más manipulable, en el que se puedan imprimir sentimientos con mayor precisión. Para ello queremos desarrollar dos estrategias diferentes:
  • ____ Entrenamiento de un modelo para cada sentimiento. El proyecto actual utiliza un único Transformer que ha sido entrenado con música de todo tipo de sentimientos. Con esta estrategia entrenaríamos diferentes Transformers, uno para cada sentimiento, de modo que tengamos más control sobre las características de la música de salida.
  • ____ Entrenamiento de un modelo etiquetado con la salida del valence-arousal. Con esta estrategia obtenemos la entrada del modelo musical a partir de la salida del modelo de clasificación de imágenes directamente, simplificando el pipeline del proyecto.
  • Generación de música más realista añadiendo más instrumentos a la orquesta.
  • Desde GANs N’ Roses queremos que esta aplicación se utilice de acuerdo con las necesidades de sus usuarios, por lo que queremos ponernos en contacto con organizaciones de personas con discapacidad visual y pedirles su opinión para incorporar las mejoras necesarias a la herramienta.
  • Creación de una aplicación complementaria para personas con discapacidades auditivas, para que puedan visualizar las sensaciones que transmiten los sonidos. También para ponernos en la piel de las personas que experimentan sinestesia auditiva. Estas personas experimentan de forma automática e involuntaria una percepción visual ante un estímulo auditivo, por lo que cada sonido se asocia a un color. Al igual que ocurre con otros trastornos, como el daltonismo, visualizar cómo ven el mundo otras personas nos acerca a ellas y contribuye a crear una sociedad más comprensiva y tolerante.

--

--

Mi vida es un problema de optimización. Doctor en Investigación Operativa. Entusiasta de la Inteligencia Artificial y la Computación Cuántica.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Borja Menéndez

Mi vida es un problema de optimización. Doctor en Investigación Operativa. Entusiasta de la Inteligencia Artificial y la Computación Cuántica.