Inteligência artificial e criatividade musical

Parte 1

José Fornari (Tuti) – 12 de dezembro de 2019

fornari @ unicamp . br


Recentemente foi divulgado que pesquisadores conseguiram desenvolver um modelo computacional de AI (sigla de Artificial Intelligenceou seja, inteligência artificial) capaz de finalizar o que viria a ser a décima sinfonia de Ludwig van Beethoven. O coordenador do projeto, Mattias Röder, é diretor do Instituto Karajan , em Salzburgo, Alemanha. O projeto pretende estrear a obra realizada pelo AI na cidade alemã Bonn, em 17 de dezembro de 2020, quando se completará 250 anos do nascimento de Beethoven. Esta obra foi deixada por Beethoven menos do que inacabada, bem diferente do caso da oitava sinfonia de Franz Schubert, popularmente conhecida como a “sinfonia inacabada”. Nesta, Schubert havia composto integralmente os primeiros 2 movimentos da sinfonia. Beethoven, por outro lado, deixou apenas rascunhos e trechos desconexos desta sua suposta décima sinfonia, ao morrer em 1827. No caso de Schubert, este viveu ainda apor 6 anos após supostamente abandonar a composição de sua oitava sinfonia em seus 2 primeiros movimentos (quando morreu, em 1828), a qual, alguns musicólogos acreditam que pode não ter sido abandonada, mas transformada em outra composição. Em fevereiro de 2019, foi anunciado que a empresa de celulares Huawei desenvolveu um AI que compôs um possível terceiro e quarto movimento para a sinfonia inacabada de Schubert, apresentando uma versão computacional de finalização desta obra, feita pelo AI no estilo de Schubert. O programa rodou inteiramente num celular da empresa (Huawei Mate 20) e a obra foi supervisionada e regida pelo maestro e produtor musical Lucas Cantor, onde foi estreada em Londres.

No caso da suposta décima sinfonia de Beethoven, o problema é bem mais complicado. Röder, em entrevista, poeticamente comparou o AI que estão utilizando para analisar e processar os trechos desta nova sinfonia a uma criança explorando o universo musical de Beethoven (“It’s like a small child exploring Beethoven’s world“), acrescentando que o grupo de pesquisadores ainda tem muito chão pela frente até que consigam algum material musical que considerem estruturalmente válido e esteticamente interessante para ser divulgado (o que provavelmente apenas ocorrerá na estreia da peça, em 2020).

AI é um modelo computacional de uma área conhecida como ML (Machine Learning, ou aprendizado de máquina). ML são normalmente inspirados nas 2 estruturas naturais mais complexas que conhecemos; o cérebro humano (e suas redes neurais) e a evolução das espécies (composto pelos processos de reprodução e seleção, brevemente descritos no artigo anterior). No caso da AI, estes são normalmente compostos pelo que se chama de ANN (Artificial Neural Networks) que são algoritmos que simulam a atuação de neurônios biológicos, seu potencial de ação e suas conexões dinâmicas (sinapses) com outros neurônios, compondo assim o que se chama de “redes neurais”. Esta pesquisa é quase tão antiga quanto a computação. Os primeiros modelos de neurônios artificiais foram desenvolvidos na década de 1940, por Warren McCulloch e Walter Pitts. Na década de 1960, surgiu o “perceptron”, desenvolvido por Frank Rosenblatt, o primeiro modelo computacional  inspirado no neurônio a ser utilizado para classificação supervisionada (detecção de padrões em dados, feita com auxílio ou supervisão humana). Na década de 1980 surgiram os primeiros algoritmos BP (Back Propagation) introduzido por Paul Werbos. BP permite o aprendizado da ANN através da modificação automática dos parâmetros dos seus neurônios artificiais (que são pequenos modelos computacionais com parâmetros de entrada, variáveis internas e dados de saída) de acordo com a medida entre o resultado obtido e o esperado, dado por uma função chamada “loss function“. Atualmente, ANN possuem diversas camadas (layers) de neurônios artificiais. As camadas intermediárias entre a camada de entrada e a de saída são chamadas de “hidden layers” (camadas escondidas) pois o programador não tem acesso aos entendimento dos parâmetros de todos os neurônios artificiais, os quais são automaticamente gerados via BP. Na medida em que as redes neurais foram se tornando maiores, uma maior quantidade de dados passou a ser processada dentro das camadas escondidas das ANN, enquanto a rede é treinada para resolver um problema. As ANN tem que passar inicialmente pela fase de treinamento, onde enormes grandes de dados são utilizados para treinar a rede a resolver um certo problema. Isto é feito através da parametrização das camadas escondidas da ANN. Uma vez encerrada a fase de treinamento, a ANN pode ser utilizada para o propósito que foi treinada, ou seja, identificar o mesmo padrão para identificar durante o treinamento, agora em dados novos, que não foram ainda apresentados à rede. As tarefas que as ANN costumam ser utilizadas normalmente pertencem a 2 categorias: classificação (identificar um padrão em dados novos) ou predição (prever um padrão futuro baseado nos dados anteriormente apresentados), o que é o caso do auxílio à composição musical exemplificado acima, onde o ANN utilizado sugere trechos ou movimentos musicais no estilo dos dados anteriormente apresentados. Ambos são chamados de problemas de aprendizado “supervisionado” pois exigem a interação com um humano para treinar a rede neural (através do fornecimento de uma grande quantidade de exemplos) até que a rede neural do AI esteja treinada e pronta para resolver o problema automaticamente, ou mesmo julgar quais padrões são de fatos válidos, sob o crivo da cognição ou estética humana.

Diagrama explicativo do aprendizado supervisionado (supervised learning) em ML. Fonte: https://medium.com/@chisoftware/supervised-vs-unsupervised-machine-learning-7f26118d5ee6

Apesar das ANN resolverem muitos problemas de classificação e predição, suas soluções normalmente não agregam conhecimento ao usuário que as treinou ou construiu. Não temos como saber como o problema foi de fato resolvido pelo modelo uma vez que a sua solução está confinada na imensa quantidade de parâmetros profundamente registrados nas camadas escondidas da ANN, organizados na forma de uma imensa matriz numérica, cujos dados, mesmo que observados ou estudados, para nossa cognição simplesmente não faria sentido, ou seja, seria uma incógnita. Recentemente ANN passaram a operar também de modo não supervisionado, onde a fase de treinamento é feita automaticamente, sem o auxílio humano, Assim o modelo recebe dados reais, que não foram preparados e classificados por um humano (o que costuma ser chamado de ground truth). O modelo aprende sozinho, através de dados muitas vezes incompletos ou até errados, do mesmo modo que nós aprendemos com a vida. Esta categoria de modelo é o que se chama de DL (Deep Learning).

Diagrama explicativo do aprendizado não supervisionado (unsupervised learning) em ML, onde não há a participação de um humano no processo de aprendizado do modelo. Fonte: https://medium.com/@chisoftware/supervised-vs-unsupervised-machine-learning-7f26118d5ee6

Pesquisas na utilização de DL em composição musical vem ocorrendo desde a segunda década do século 21 que ainda estamos. Trabalhos como o artigo “Deep Learning for Music” (link nas referências) tratam da pesquisa sendo realizada desde então em construir um modelo computacional capaz de gerar de modo não supervisionado (sem qualquer interação humana, ou seja, diferente dos exemplos acima, da reconstrução supervisionada das peças de Schubert e Beethoven) peças completas de música, ou seja, com melodia e harmonia encadeada com padrões rítmicos, que o ouvinte humano não consiga de fato distinguir se esta peça foi criada por um compositor humano ou por um modelo computacional sozinho.

No primeiro semestre de 2019, a empresa OpenIA, que realiza pesquisas em DL, lançou em seu site o MuseNet, um modelo capaz de gerar até 4 minutos de música em diversos gêneros musicais. O site apresenta vários exemplos das composições feitas por este DL, segundo eles, sem a supervisão humana. MuseNet não foi treinado por musicólogos ou outro tipo de teóricos musicais, para executar regras que descrevessem os estilos musicais que aprendeu a compor. Ao invés disso, este DL foi treinado com uma enorme quantidade de dados simbólicos (arquivos MIDI) de peças dos compositores e estilos que posteriormente veio a simular, compondo sozinho peças musicais. O resultado é, ao menos para mim, impressionante.

No próximo artigo continuarei esta discussão, onde tratarei dos conceitos de inteligência e criatividade musical na perspectiva deste momento tão interessante, onde algoritmos já se tornaram capazes de compor música que, de certa forma passaram no que seria, a meu ver, a versão musical de um teste de Turing, nome dado em homenagem ao famoso matemático e um dos criadores da computação, Alan Turing. Este postulou que um AI só poderia ser considerado de fato inteligente, se viesse a conseguir enganar um ser humano em um diálogo, no sentido de que o humano não conseguisse decidir se estava se comunicando com outro humano ou com uma máquina. O diálogo que Turing se referiu era o da linguagem, que ocorre em múltiplos sentidos (perguntas, respostas, declarações) e tem informação semântica multidimensional (sentido direto, metáfora, ironia, etc.). Aqui, tratamos de um caso que considero bem mais simples; o monologo da comunicação emotiva, não semântica, da música, do interprete para o ouvinte, barreira esta no entanto muito significativa, e que quase silenciosamente acaba de ser superada.

 

Referências:

“Inteligência artificial completa 10ª Sinfonia de Beethoven” Deutsche Welle. https://p.dw.com/p/3UQdb

Experts to use AI to finish Beethoven’s unfinished 10th symphony. http://sabahdai.ly/0eh8dg

John Kennedy. How AI completed Schubert’s Unfinished Symphony No 8.https://www.siliconrepublic.com/machines/unfinished-symphony-no-8-ai-huawei

Is AI stealing our jobs? – Matthias Röder (2019). https://youtu.be/50CUJB8tPGc

Everything You Need to Know About Artificial Neural Networks.https://medium.com/technology-invention-and-more/everything-you-need-to-know-about-artificial-neural-networks-57fac18245a1

Allen Huang, Raymond Wu. “Deep Learning for Music” CoRR abs/1606.04930.https://cs224d.stanford.edu/reports/allenh.pdf

Music Generation using Deep Learninghttps://youtu.be/lUZ2YBOLGsc

 

Como citar este artigo:

José Fornari. “Inteligência artificial e criatividade musical ”. Blogs de Ciência da Universidade Estadual de Campinas. ISSN 2526-6187. Data da publicação: 12 de dezembro de 2019. Link: https://www.blogs.unicamp.br/musicologia/2019/12/12/40/