INTELIGENCIA ARTIFICIAL
El "Flaco" de los unos y los ceros
Lunes, 20 de mayo de 2019
Por: Fernando Lerner - TW @srlerner

Alex Ingberg es ingeniero informático (UBA) y científico de datos, está radicado desde hace dos años en Tel Aviv (Israel) y sus pasiones por la tecnología y el arte lo llevaron a embarcarse en proyectos que involucran a Bob Dylan, a Drexler y al gran "Flaco" Spinetta.

¿Te imaginas leer algunas líneas que reaviven sensaciones como cuando escuchás Muchacha o Tema de pototo gracias a una red neuronal artificial?, si un robot escribe, dibuja, canta, ¿lo consideramos arte?, nuevas preguntas a un mundo que todos los días nos propone cientos de historias a partir de desarrollos tecnológicos impulsados por el ser humano.

¿Almendra artificial?

Alex es un amante de la música y preguntarse si un robot puede emular la poesía de Spinetta lo llevó a embarcarse en este proyecto; para ello, según lo explica en un detallado artículo, utilizo Tensorflow, un framework de Python de código abierto para trabajar con redes neuronales.

La vara estaba alta, Spinetta la dejó bien arriba, sus letras contienen el espíritu de sus poderosas influencias, escritores, filósofos, pensadores, psicólogos y artistas plásticos de la talla de Rimbaud, Van Gogh, Dalí, Escher, Lü Dongbin, Jung, Freud, Nietzsche, Foucault, Deleuze, Sartre, Castaneda y Artaud (Wikipedia), tranqui, 120.

Para empezar a trabajar, Alex creó una base de datos que contenía todas las letras escritas por Spinetta, desde Almendra hasta su disco póstumo "Los amigo".

Ahora, ¿cómo se hace?, Alex cuenta que utilizó dos técnicas y las evaluó para elegir cuál era preferible para este proyecto.

Cadenas de Markov

Las Cadenas de Markov son procesos que tienen como principal característica el hecho que la probabilidad de un evento depende pura y exclusivamente del evento anterior, es decir, cada palabra tiene una probabilidad de aparecer según cuál fue la palabra anterior. De esta manera, "predecir textos" se vuelve algo posible.

Alex cuenta que para aplicar Markov a las letras de Spinetta, creó un diccionario de tuplas de palabras consecutivas. "Ya que se utilizan bigramas, y no palabras únicas (unigramas), se genera una mayor precisión en las predicciones y, sobre todo, mayor legibilidad de las letras creadas por el modelo: la siguiente palabra en una oración se predice con las dos palabras anteriores en vez de la única palabra anterior", explica Ingberg.

Una vez realizado el proceso, algunas de las frases que el algoritmo dio como resultado fueron:

Así, mientras la luna se oculta / No quiere decir que no hablaron jamas / Pues habla en mi, late en mi alma no está, no, no. Al fin / Yo no tengo un solo rastro tuyo en mi vida

Ok, puede haber algo de aroma a Spinetta, pero Alex no estaba conforme, aún no se veía como una expresión spinetteana pero propia de un robot, sino más como palabras tomadas de las letras del "Flaco", como expresó Alex: "Un copy-paste de su obra, un collage entre distintas letras para crear una canción nueva. Varias frases son idénticas a las escritas por Luis Alberto. Es de esperarse, ya que cuando buscamos mayor legibilidad al usar bigramas, también reducimos la varianza en las palabras predichas."

Las Cadenas de Markov son fáciles de implementar pero perjudicaron las predicciones, inconforme con el resultado, Alex decidió implementar un segundo método.

Redes Neuronales Recurrentes

Comparadas con las Cadenas de Markov, estas redes (RNN por sus siglas en inglés) tienen memoria, una elemento que resultó clave para marcar la diferencia en los resultados.

"Estas son un tipo de red neuronal artificial que reconoce patrones en secuencias de datos como texto, genomas, escritura a mano, lenguaje oral, o time series numéricas provenientes de sensores, el mercado de acciones y agencias gubernamentales. Estos algoritmos toman el tiempo y la secuencia en cuenta; cuentan con una dimensión temporal", explica Alex.

Y agrega, "las redes recurrentes toman como input no solo el ejemplo de turno que ven, sino lo que percibieron previamente en el tiempo".

Pero además de una RNN, fue necesario incorporar la técnica de red LSTM (Long Short-Term Memory), ya que las RNN recuerdan todo hasta cierta profundidad limitada pero las LSTM aprender qué recordar y qué olvidar.

Ahora sí, neuronas a la obra

Ingberg destaca en su estudio que no sólo es importante destacar el resultado del proyecto, sino todo el proceso de aprendizaje que el algoritmo fue teniendo con cada iteración (repetición), "como de un mejunje de caracteres pasa a versos formados en solo unas cuantos ciclos", explica Alex.

En la iteración 1.000, la RNN arrojó estos resultados:

Prillos color huzar terdimenso

A la luz ásculles tal hosta la imarifte como el munto

Suberdo más, llevanta

Entre la trajas

A las 30.000 repeticiones, ya se nota un cambio importante y "alcanza un entendimiento morfológico de los versos excelente: si bien las letras aún no tienen mucho sentido y las palabras no son correctas, tiene forma de poesía o de letra de canción", cuenta Ingberg.

Duende un círculo

Por eso tu freno

Supersamente un bañan

O en la equiera están

Mi alma es infuervo

Sobre la armonía de tinio y ya no está en aire

Con 184.000 repeticiones, el resultado es impresionante:

Y que placer

tu ave que ya no es así, en tí

si hay para vivir de felicidad.

Todo el mundo del trueno

Y corto lejos del aire

El cristales muertas de aquellos muros

Ni luna...

No será Spinetta, pero el algoritmo aprendió todo de cero y logró llegar hasta aquí.

"Si consideramos el hecho de que la red aprendió todo desde cero, y que en un principio no tenía ningún entendimiento de lo que es una letra o una palabra (ni hablar de las reglas gramaticales del español) podemos estar de acuerdo que los resultados son sorprendentes", concluye Alex.

"La RNN no hace metáforas, no tiene ese nivel de abstracción que tenemos nosotros que entendemos la poesía, para la red son unos y ceros, la RNN encuentra relación y patrones a nivel de caracteres. Lo loco es que en lugar de resultar en una sopa inentendible, termina siendo una letra, pero hago énfasis, no hay más que matemáticas", cuenta Ingberg en Todo por la Tarde (Radio Andina 90.1)

No es el primer proyecto de Ingberg que involucra a músicos de esta talla, en su sitio podemos encontrar trabajos sobre Bob Dylan e incluso un análisis estadístico del universo creativo de Jorge Drexler (quien incluso accedió al artículo y le dio un feedback a Alex).

Veinte años atrás nos preguntábamos cómo haría Damon Albarn para hacer shows con en vivo con Gorillaz, a fines del año pasado una obra de arte creada por una inteligencia artificial (AI) y titulada "Edmond de Belamy", fue vendida en 432.500 dolares, generando que el debate sobre qué es arte y qué no, llegue a un nuevo escalón, ¿una IA puede crear arte?, ¿eso es considerado arte?; en febrero de este año, la compañía china Huawei presentó en la sala Cadogan Hall de Londres una versión "completa" de la "Sinfonía inacabada" de Franz Schubert compuesta a partir de un algoritmo que utilizó la potencia de uno de sus celulares. El software analizó timbre, tono y otras características de los dos primeros movimientos de la "Sinfonía en si menor, D. 759", que compuso el músico austríaco en 1822. A partir de esa información, el programa generó una melodía para los dos últimos movimientos de la pieza, que Schubert dejó incompleta.

Y sólo por mencionar algunos casos en los que la tecnología y la inteligencia artificial están generando nuevas preguntas sobre históricos debates.

Escuchá la charla completa con Alex Ingberg: 


Tamaño del texto
Comentarios
Tu comentario