reconhecimento de instrumentos em música polifónica · a seguinte dissertação de mestrado...

79
Gonçalo Ferreira Ferrão Castel-Branco IDENTIFICAÇÃO DE INSTRUMENTOS MUSICAIS EM MÚSICA POLIFÓNICA Dissertação no âmbito do Mestrado integrado em Engenharia Eletrotécnica e de Computadores, especialização em computadores orientada pelo Professor Doutor Fernando Manuel dos Santos Perdigão e apresentada ao Departamento de Engenharia Eletrotécnica e de Computadores da Faculdade de Ciências e Tecnologia da Universidade de Coimbra. Setembro de 2019

Upload: others

Post on 14-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Gonccedilalo Ferreira Ferratildeo Castel-Branco

IDENTIFICACcedilAtildeO DE INSTRUMENTOS MUSICAIS EM MUacuteSICA

POLIFOacuteNICA

Dissertaccedilatildeo no acircmbito do Mestrado integrado em Engenharia Eletroteacutecnica e de Computadores especializaccedilatildeo em computadores orientada pelo Professor Doutor Fernando Manuel dos Santos Perdigatildeo e apresentada ao Departamento de Engenharia Eletroteacutecnica e

de Computadores da Faculdade de Ciecircncias e Tecnologia da Universidade de Coimbra

Setembro de 2019

Agradecimentos

Quero deixar um sincero agradecimento a quem de uma forma ou de outra fez com que a realizaccedilatildeodeste trabalho se tornasse possiacutevel

Ao Professor Doutor Fernando Manuel dos Santos Perdigatildeo pela disponibilidade apoio esobretudo pela confianccedila depositada em mim

Agrave minha Matildee pela insistecircncia constante preocupaccedilatildeo e valores transmitidos natildeo soacute ao longoda realizaccedilatildeo deste projeto mas tambeacutem durante todo o meu percurso acadeacutemico Ao meu Pai pelatranquilidade positivismo e interesse constantes

Aos meus irmatildeos Joatildeo e Inecircs pela companhia boa disposiccedilatildeo e humor que sempre transmitiramAgrave minha namorada Sofia por toda a paciecircncia carinho e incentivo que sempre me deu desde o

iniacutecioA todos os meus amigos pelo companheirismo e por todos os momentos partilhadosPor fim agraves duas pessoas que criaram as melhores condiccedilotildees possiacuteveis e fizeram de tudo para que

este projeto se concretizasse ao meu Avocirc Daniel e agrave minha Avoacute Maria Helena

Resumo

A identificaccedilatildeo de instrumentos musicais continua um desafio por resolver na aacuterea de investigaccedilatildeo emmuacutesica geralmente referida como Music Information Retreival (MIR) Este problema fundamentalpara campos como a pesquisa por aacuteudio reconhecimento de geacutenero musical recomendaccedilatildeo de muacutesicaou a identificaccedilatildeo de plaacutegio seraacute abordado tendo em conta diversos meacutetodos

A seguinte dissertaccedilatildeo de mestrado apresenta um sistema de identificaccedilatildeo de instrumentos que tempor base uma pequena parte da base de dados AudioSet [10] com sons de instrumentos e que propotildee oreconhecimento de aacuteudio com base em imagens neste caso espetrogramas de mel que representam osom que se pretende classificar

O OpenMic-2018 (OM18) [17] eacute uma base de dados (BD) que surge no seguimento do AudioSete com os mesmos ideais mas direcionada para 20 classes de instrumentos musicais Esta base dedados publicada recentemente conta ainda com poucos trabalhos que a abordem Tentar-se-aacute superaros resultados jaacute apresentados tanto atraveacutes de abordagens originais como atraveacutes de abordagenspublicadas para o AudioSet Trabalhos muito recentes utilizam modelos de atenccedilatildeo para classificaros exemplares do AudioSet e revelaram resultados muito positivos pelo que tambeacutem seratildeo tidos emconta ao longo do projeto para a BD OM18

No acircmbito do presente trabalho foi criada uma nova base de dados PureMic que tem por base asduas bases de dados jaacute referenciadas Esta eacute uma base de dados cujos exemplares satildeo mais precisos eescolhidos de forma rigorosa para poder contribuir para o classificador em tempo real e para umamelhoria das etiquetas do OM18 base de dados que ainda tem alguma falta de informaccedilatildeo nesseaspeto

A seguinte dissertaccedilatildeo faz entatildeo um resumo das abordagens a ser consideradas nomeadamentea implementaccedilatildeo de redes neuronais convolucionais muito utilizadas nesta aacuterea Seratildeo utilizadasas trecircs bases de dados jaacute referidas que providenciaratildeo uma grande e suficiente quantidade de dadosdevidamente identificados

Palavras-chave Identificaccedilatildeo de instrumentos Muacutesicais Music information retreival redesneuronais convolucionais OpenMIC-2018 AudioSet PureMic Modelos de Atenccedilatildeo EspectogramaMel

Abstract

Musical instruments recognition remains an unsolved challenge in Music Information Retreival (MIR)This problem wich is fundamental for fields such as audio research music genre recognition or musicrecommendation will be addressed with a variety of methods

This Masterrsquos dissertation presents an instrument identification system that is based on a smallportion of AudioSet dataset [10] with 20 musical instrument classes This dataset proposes therecognition of audio events based on image inputs wich are log mel spectograms of sound events

OpenMic-2018 (OM18) [17] is a dataset that extends the reach of AudioSet but targeted to only20 classes of musical instruments There are several publications arround AudioSet research SinceOpenMic is similar to AudioSet some methods used in AudioSet will be aplied in OM18

In the context of this work a new dataset was created PureMic based on the two datasets alreadyreferenced This is a dataset whose audio clips are more accurate and rigorously chosen to be able tocontribute to the real-time classifier and to the improvement of OM18 labels

The following dissertation summarizes the approaches to be considered namely the implementationa convolutional neural networks widely used in this area AudioSet OpenMic-2018 and PureMicwill proveide a large and sufficient amount of properly identified data

Keywords Musical instruments recognition Music information retreival Concolutional NeuralNetworks OpenMIC-2018 AudioSet PureMic Atention Models Mel spectogram

Conteuacutedo

Lista de Figuras 11

Siglas 13

1 Introduccedilatildeo 111 Motivaccedilatildeo 1

12 Objetivos 3

13 Contextualizaccedilatildeo 3

14 Contribuiccedilotildees 3

15 Estrutura 4

2 Estado da arte 521 Perceccedilatildeo do ouvido humano 5

22 Representaccedilatildeo de sinais de aacuteudio 6

23 Aprendizagem Automaacutetica 9

231 Redes Neuronais 10

232 Redes Neuronais Convolucionais 18

24 Identificaccedilatildeo de instrumentos musicais 20

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica 22

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica 23

25 Dados com etiquetas fracas 25

3 Suporte ao desenvolvimento 2931 Bases de Dados 29

311 Audioset 29

312 OpenMic2018 34

313 PureMic 36

314 Preparaccedilatildeo dos dados 36

32 Otimizaccedilatildeo 39

33 Meacutetricas 41

331 Meacutetricas dependentes de um limiar 41

332 Meacutetricas independentes de um limiar 44

10 Conteuacutedo

4 Desenvolvimento 4741 Ferramentas utilizadas - Frameworks 4742 Otimizaccedilatildeo dos Modelos 4843 Dados disponiacuteveis 4844 Estrateacutegia 49

441 PM1 50442 PM2 51

45 Caso Praacutetico 53

5 Resultados e discussatildeo 5551 Modelos 5552 Comparaccedilatildeo dos resultados 5653 Etiquetas OpenMic-2018 57

6 Conclusatildeo e trabalho futuro 59

Bibliografia 61

Apecircndice A Matrizes de Confusatildeo 63

Lista de Figuras

11 Identificaccedilatildeo de instrumentos num caso praacutetico 2

21 Modelo percetual do ouvido Humano [27] 622 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral 723 Janelas de Hann sobrepostas 824 Filtros Mel na Frequecircncia em Hz 925 Coeficientes MFCC ao longo do tempo 926 Perceptratildeo 1027 Modelo Multi-layer Perceptron (MLP) 1028 Funccedilotildees de ativaccedilatildeo mais comuns 1129 Valor do custo em funccedilatildeo de um paracircmetro w 14210 Rede Neuronal simples 14211 Rede Neuronal mais complexa 16212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica 17213 Imagem RGB 18214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding 19215 Operaccedilotildees de Max Pooling e Average Pooling 20216 Camada flatten 20217 Rede Neuronal Convolucional 20218 Nuacutemero de artigos publicados no acircmbito do MIR ao longo dos anos 23219 Arquiteturas DL mais utilizadas no acircmbito do MIR 23220 Rede Neuronal com camada Bottleneck 24221 VGG16 [2] 25222 Imagem que identifica o problema do MIL 26223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21] 27

31 Estrutura do AudioSet 3032 Rede VGGish implementada ateacute ao bottleneck layer 3033 FFT do sinal amostrado a 441kHz 3134 Processo de obtenccedilatildeo do espectograma Mel 3235 Matriz de entrada da rede VGGish (96 x 64) 3236 Implementaccedilatildeo do PCA (AudioSet) 3337 Distribuiccedilatildeo do nuacutemero de exemplares descarregados 34

11

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Agradecimentos

Quero deixar um sincero agradecimento a quem de uma forma ou de outra fez com que a realizaccedilatildeodeste trabalho se tornasse possiacutevel

Ao Professor Doutor Fernando Manuel dos Santos Perdigatildeo pela disponibilidade apoio esobretudo pela confianccedila depositada em mim

Agrave minha Matildee pela insistecircncia constante preocupaccedilatildeo e valores transmitidos natildeo soacute ao longoda realizaccedilatildeo deste projeto mas tambeacutem durante todo o meu percurso acadeacutemico Ao meu Pai pelatranquilidade positivismo e interesse constantes

Aos meus irmatildeos Joatildeo e Inecircs pela companhia boa disposiccedilatildeo e humor que sempre transmitiramAgrave minha namorada Sofia por toda a paciecircncia carinho e incentivo que sempre me deu desde o

iniacutecioA todos os meus amigos pelo companheirismo e por todos os momentos partilhadosPor fim agraves duas pessoas que criaram as melhores condiccedilotildees possiacuteveis e fizeram de tudo para que

este projeto se concretizasse ao meu Avocirc Daniel e agrave minha Avoacute Maria Helena

Resumo

A identificaccedilatildeo de instrumentos musicais continua um desafio por resolver na aacuterea de investigaccedilatildeo emmuacutesica geralmente referida como Music Information Retreival (MIR) Este problema fundamentalpara campos como a pesquisa por aacuteudio reconhecimento de geacutenero musical recomendaccedilatildeo de muacutesicaou a identificaccedilatildeo de plaacutegio seraacute abordado tendo em conta diversos meacutetodos

A seguinte dissertaccedilatildeo de mestrado apresenta um sistema de identificaccedilatildeo de instrumentos que tempor base uma pequena parte da base de dados AudioSet [10] com sons de instrumentos e que propotildee oreconhecimento de aacuteudio com base em imagens neste caso espetrogramas de mel que representam osom que se pretende classificar

O OpenMic-2018 (OM18) [17] eacute uma base de dados (BD) que surge no seguimento do AudioSete com os mesmos ideais mas direcionada para 20 classes de instrumentos musicais Esta base dedados publicada recentemente conta ainda com poucos trabalhos que a abordem Tentar-se-aacute superaros resultados jaacute apresentados tanto atraveacutes de abordagens originais como atraveacutes de abordagenspublicadas para o AudioSet Trabalhos muito recentes utilizam modelos de atenccedilatildeo para classificaros exemplares do AudioSet e revelaram resultados muito positivos pelo que tambeacutem seratildeo tidos emconta ao longo do projeto para a BD OM18

No acircmbito do presente trabalho foi criada uma nova base de dados PureMic que tem por base asduas bases de dados jaacute referenciadas Esta eacute uma base de dados cujos exemplares satildeo mais precisos eescolhidos de forma rigorosa para poder contribuir para o classificador em tempo real e para umamelhoria das etiquetas do OM18 base de dados que ainda tem alguma falta de informaccedilatildeo nesseaspeto

A seguinte dissertaccedilatildeo faz entatildeo um resumo das abordagens a ser consideradas nomeadamentea implementaccedilatildeo de redes neuronais convolucionais muito utilizadas nesta aacuterea Seratildeo utilizadasas trecircs bases de dados jaacute referidas que providenciaratildeo uma grande e suficiente quantidade de dadosdevidamente identificados

Palavras-chave Identificaccedilatildeo de instrumentos Muacutesicais Music information retreival redesneuronais convolucionais OpenMIC-2018 AudioSet PureMic Modelos de Atenccedilatildeo EspectogramaMel

Abstract

Musical instruments recognition remains an unsolved challenge in Music Information Retreival (MIR)This problem wich is fundamental for fields such as audio research music genre recognition or musicrecommendation will be addressed with a variety of methods

This Masterrsquos dissertation presents an instrument identification system that is based on a smallportion of AudioSet dataset [10] with 20 musical instrument classes This dataset proposes therecognition of audio events based on image inputs wich are log mel spectograms of sound events

OpenMic-2018 (OM18) [17] is a dataset that extends the reach of AudioSet but targeted to only20 classes of musical instruments There are several publications arround AudioSet research SinceOpenMic is similar to AudioSet some methods used in AudioSet will be aplied in OM18

In the context of this work a new dataset was created PureMic based on the two datasets alreadyreferenced This is a dataset whose audio clips are more accurate and rigorously chosen to be able tocontribute to the real-time classifier and to the improvement of OM18 labels

The following dissertation summarizes the approaches to be considered namely the implementationa convolutional neural networks widely used in this area AudioSet OpenMic-2018 and PureMicwill proveide a large and sufficient amount of properly identified data

Keywords Musical instruments recognition Music information retreival Concolutional NeuralNetworks OpenMIC-2018 AudioSet PureMic Atention Models Mel spectogram

Conteuacutedo

Lista de Figuras 11

Siglas 13

1 Introduccedilatildeo 111 Motivaccedilatildeo 1

12 Objetivos 3

13 Contextualizaccedilatildeo 3

14 Contribuiccedilotildees 3

15 Estrutura 4

2 Estado da arte 521 Perceccedilatildeo do ouvido humano 5

22 Representaccedilatildeo de sinais de aacuteudio 6

23 Aprendizagem Automaacutetica 9

231 Redes Neuronais 10

232 Redes Neuronais Convolucionais 18

24 Identificaccedilatildeo de instrumentos musicais 20

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica 22

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica 23

25 Dados com etiquetas fracas 25

3 Suporte ao desenvolvimento 2931 Bases de Dados 29

311 Audioset 29

312 OpenMic2018 34

313 PureMic 36

314 Preparaccedilatildeo dos dados 36

32 Otimizaccedilatildeo 39

33 Meacutetricas 41

331 Meacutetricas dependentes de um limiar 41

332 Meacutetricas independentes de um limiar 44

10 Conteuacutedo

4 Desenvolvimento 4741 Ferramentas utilizadas - Frameworks 4742 Otimizaccedilatildeo dos Modelos 4843 Dados disponiacuteveis 4844 Estrateacutegia 49

441 PM1 50442 PM2 51

45 Caso Praacutetico 53

5 Resultados e discussatildeo 5551 Modelos 5552 Comparaccedilatildeo dos resultados 5653 Etiquetas OpenMic-2018 57

6 Conclusatildeo e trabalho futuro 59

Bibliografia 61

Apecircndice A Matrizes de Confusatildeo 63

Lista de Figuras

11 Identificaccedilatildeo de instrumentos num caso praacutetico 2

21 Modelo percetual do ouvido Humano [27] 622 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral 723 Janelas de Hann sobrepostas 824 Filtros Mel na Frequecircncia em Hz 925 Coeficientes MFCC ao longo do tempo 926 Perceptratildeo 1027 Modelo Multi-layer Perceptron (MLP) 1028 Funccedilotildees de ativaccedilatildeo mais comuns 1129 Valor do custo em funccedilatildeo de um paracircmetro w 14210 Rede Neuronal simples 14211 Rede Neuronal mais complexa 16212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica 17213 Imagem RGB 18214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding 19215 Operaccedilotildees de Max Pooling e Average Pooling 20216 Camada flatten 20217 Rede Neuronal Convolucional 20218 Nuacutemero de artigos publicados no acircmbito do MIR ao longo dos anos 23219 Arquiteturas DL mais utilizadas no acircmbito do MIR 23220 Rede Neuronal com camada Bottleneck 24221 VGG16 [2] 25222 Imagem que identifica o problema do MIL 26223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21] 27

31 Estrutura do AudioSet 3032 Rede VGGish implementada ateacute ao bottleneck layer 3033 FFT do sinal amostrado a 441kHz 3134 Processo de obtenccedilatildeo do espectograma Mel 3235 Matriz de entrada da rede VGGish (96 x 64) 3236 Implementaccedilatildeo do PCA (AudioSet) 3337 Distribuiccedilatildeo do nuacutemero de exemplares descarregados 34

11

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Resumo

A identificaccedilatildeo de instrumentos musicais continua um desafio por resolver na aacuterea de investigaccedilatildeo emmuacutesica geralmente referida como Music Information Retreival (MIR) Este problema fundamentalpara campos como a pesquisa por aacuteudio reconhecimento de geacutenero musical recomendaccedilatildeo de muacutesicaou a identificaccedilatildeo de plaacutegio seraacute abordado tendo em conta diversos meacutetodos

A seguinte dissertaccedilatildeo de mestrado apresenta um sistema de identificaccedilatildeo de instrumentos que tempor base uma pequena parte da base de dados AudioSet [10] com sons de instrumentos e que propotildee oreconhecimento de aacuteudio com base em imagens neste caso espetrogramas de mel que representam osom que se pretende classificar

O OpenMic-2018 (OM18) [17] eacute uma base de dados (BD) que surge no seguimento do AudioSete com os mesmos ideais mas direcionada para 20 classes de instrumentos musicais Esta base dedados publicada recentemente conta ainda com poucos trabalhos que a abordem Tentar-se-aacute superaros resultados jaacute apresentados tanto atraveacutes de abordagens originais como atraveacutes de abordagenspublicadas para o AudioSet Trabalhos muito recentes utilizam modelos de atenccedilatildeo para classificaros exemplares do AudioSet e revelaram resultados muito positivos pelo que tambeacutem seratildeo tidos emconta ao longo do projeto para a BD OM18

No acircmbito do presente trabalho foi criada uma nova base de dados PureMic que tem por base asduas bases de dados jaacute referenciadas Esta eacute uma base de dados cujos exemplares satildeo mais precisos eescolhidos de forma rigorosa para poder contribuir para o classificador em tempo real e para umamelhoria das etiquetas do OM18 base de dados que ainda tem alguma falta de informaccedilatildeo nesseaspeto

A seguinte dissertaccedilatildeo faz entatildeo um resumo das abordagens a ser consideradas nomeadamentea implementaccedilatildeo de redes neuronais convolucionais muito utilizadas nesta aacuterea Seratildeo utilizadasas trecircs bases de dados jaacute referidas que providenciaratildeo uma grande e suficiente quantidade de dadosdevidamente identificados

Palavras-chave Identificaccedilatildeo de instrumentos Muacutesicais Music information retreival redesneuronais convolucionais OpenMIC-2018 AudioSet PureMic Modelos de Atenccedilatildeo EspectogramaMel

Abstract

Musical instruments recognition remains an unsolved challenge in Music Information Retreival (MIR)This problem wich is fundamental for fields such as audio research music genre recognition or musicrecommendation will be addressed with a variety of methods

This Masterrsquos dissertation presents an instrument identification system that is based on a smallportion of AudioSet dataset [10] with 20 musical instrument classes This dataset proposes therecognition of audio events based on image inputs wich are log mel spectograms of sound events

OpenMic-2018 (OM18) [17] is a dataset that extends the reach of AudioSet but targeted to only20 classes of musical instruments There are several publications arround AudioSet research SinceOpenMic is similar to AudioSet some methods used in AudioSet will be aplied in OM18

In the context of this work a new dataset was created PureMic based on the two datasets alreadyreferenced This is a dataset whose audio clips are more accurate and rigorously chosen to be able tocontribute to the real-time classifier and to the improvement of OM18 labels

The following dissertation summarizes the approaches to be considered namely the implementationa convolutional neural networks widely used in this area AudioSet OpenMic-2018 and PureMicwill proveide a large and sufficient amount of properly identified data

Keywords Musical instruments recognition Music information retreival Concolutional NeuralNetworks OpenMIC-2018 AudioSet PureMic Atention Models Mel spectogram

Conteuacutedo

Lista de Figuras 11

Siglas 13

1 Introduccedilatildeo 111 Motivaccedilatildeo 1

12 Objetivos 3

13 Contextualizaccedilatildeo 3

14 Contribuiccedilotildees 3

15 Estrutura 4

2 Estado da arte 521 Perceccedilatildeo do ouvido humano 5

22 Representaccedilatildeo de sinais de aacuteudio 6

23 Aprendizagem Automaacutetica 9

231 Redes Neuronais 10

232 Redes Neuronais Convolucionais 18

24 Identificaccedilatildeo de instrumentos musicais 20

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica 22

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica 23

25 Dados com etiquetas fracas 25

3 Suporte ao desenvolvimento 2931 Bases de Dados 29

311 Audioset 29

312 OpenMic2018 34

313 PureMic 36

314 Preparaccedilatildeo dos dados 36

32 Otimizaccedilatildeo 39

33 Meacutetricas 41

331 Meacutetricas dependentes de um limiar 41

332 Meacutetricas independentes de um limiar 44

10 Conteuacutedo

4 Desenvolvimento 4741 Ferramentas utilizadas - Frameworks 4742 Otimizaccedilatildeo dos Modelos 4843 Dados disponiacuteveis 4844 Estrateacutegia 49

441 PM1 50442 PM2 51

45 Caso Praacutetico 53

5 Resultados e discussatildeo 5551 Modelos 5552 Comparaccedilatildeo dos resultados 5653 Etiquetas OpenMic-2018 57

6 Conclusatildeo e trabalho futuro 59

Bibliografia 61

Apecircndice A Matrizes de Confusatildeo 63

Lista de Figuras

11 Identificaccedilatildeo de instrumentos num caso praacutetico 2

21 Modelo percetual do ouvido Humano [27] 622 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral 723 Janelas de Hann sobrepostas 824 Filtros Mel na Frequecircncia em Hz 925 Coeficientes MFCC ao longo do tempo 926 Perceptratildeo 1027 Modelo Multi-layer Perceptron (MLP) 1028 Funccedilotildees de ativaccedilatildeo mais comuns 1129 Valor do custo em funccedilatildeo de um paracircmetro w 14210 Rede Neuronal simples 14211 Rede Neuronal mais complexa 16212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica 17213 Imagem RGB 18214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding 19215 Operaccedilotildees de Max Pooling e Average Pooling 20216 Camada flatten 20217 Rede Neuronal Convolucional 20218 Nuacutemero de artigos publicados no acircmbito do MIR ao longo dos anos 23219 Arquiteturas DL mais utilizadas no acircmbito do MIR 23220 Rede Neuronal com camada Bottleneck 24221 VGG16 [2] 25222 Imagem que identifica o problema do MIL 26223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21] 27

31 Estrutura do AudioSet 3032 Rede VGGish implementada ateacute ao bottleneck layer 3033 FFT do sinal amostrado a 441kHz 3134 Processo de obtenccedilatildeo do espectograma Mel 3235 Matriz de entrada da rede VGGish (96 x 64) 3236 Implementaccedilatildeo do PCA (AudioSet) 3337 Distribuiccedilatildeo do nuacutemero de exemplares descarregados 34

11

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Abstract

Musical instruments recognition remains an unsolved challenge in Music Information Retreival (MIR)This problem wich is fundamental for fields such as audio research music genre recognition or musicrecommendation will be addressed with a variety of methods

This Masterrsquos dissertation presents an instrument identification system that is based on a smallportion of AudioSet dataset [10] with 20 musical instrument classes This dataset proposes therecognition of audio events based on image inputs wich are log mel spectograms of sound events

OpenMic-2018 (OM18) [17] is a dataset that extends the reach of AudioSet but targeted to only20 classes of musical instruments There are several publications arround AudioSet research SinceOpenMic is similar to AudioSet some methods used in AudioSet will be aplied in OM18

In the context of this work a new dataset was created PureMic based on the two datasets alreadyreferenced This is a dataset whose audio clips are more accurate and rigorously chosen to be able tocontribute to the real-time classifier and to the improvement of OM18 labels

The following dissertation summarizes the approaches to be considered namely the implementationa convolutional neural networks widely used in this area AudioSet OpenMic-2018 and PureMicwill proveide a large and sufficient amount of properly identified data

Keywords Musical instruments recognition Music information retreival Concolutional NeuralNetworks OpenMIC-2018 AudioSet PureMic Atention Models Mel spectogram

Conteuacutedo

Lista de Figuras 11

Siglas 13

1 Introduccedilatildeo 111 Motivaccedilatildeo 1

12 Objetivos 3

13 Contextualizaccedilatildeo 3

14 Contribuiccedilotildees 3

15 Estrutura 4

2 Estado da arte 521 Perceccedilatildeo do ouvido humano 5

22 Representaccedilatildeo de sinais de aacuteudio 6

23 Aprendizagem Automaacutetica 9

231 Redes Neuronais 10

232 Redes Neuronais Convolucionais 18

24 Identificaccedilatildeo de instrumentos musicais 20

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica 22

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica 23

25 Dados com etiquetas fracas 25

3 Suporte ao desenvolvimento 2931 Bases de Dados 29

311 Audioset 29

312 OpenMic2018 34

313 PureMic 36

314 Preparaccedilatildeo dos dados 36

32 Otimizaccedilatildeo 39

33 Meacutetricas 41

331 Meacutetricas dependentes de um limiar 41

332 Meacutetricas independentes de um limiar 44

10 Conteuacutedo

4 Desenvolvimento 4741 Ferramentas utilizadas - Frameworks 4742 Otimizaccedilatildeo dos Modelos 4843 Dados disponiacuteveis 4844 Estrateacutegia 49

441 PM1 50442 PM2 51

45 Caso Praacutetico 53

5 Resultados e discussatildeo 5551 Modelos 5552 Comparaccedilatildeo dos resultados 5653 Etiquetas OpenMic-2018 57

6 Conclusatildeo e trabalho futuro 59

Bibliografia 61

Apecircndice A Matrizes de Confusatildeo 63

Lista de Figuras

11 Identificaccedilatildeo de instrumentos num caso praacutetico 2

21 Modelo percetual do ouvido Humano [27] 622 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral 723 Janelas de Hann sobrepostas 824 Filtros Mel na Frequecircncia em Hz 925 Coeficientes MFCC ao longo do tempo 926 Perceptratildeo 1027 Modelo Multi-layer Perceptron (MLP) 1028 Funccedilotildees de ativaccedilatildeo mais comuns 1129 Valor do custo em funccedilatildeo de um paracircmetro w 14210 Rede Neuronal simples 14211 Rede Neuronal mais complexa 16212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica 17213 Imagem RGB 18214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding 19215 Operaccedilotildees de Max Pooling e Average Pooling 20216 Camada flatten 20217 Rede Neuronal Convolucional 20218 Nuacutemero de artigos publicados no acircmbito do MIR ao longo dos anos 23219 Arquiteturas DL mais utilizadas no acircmbito do MIR 23220 Rede Neuronal com camada Bottleneck 24221 VGG16 [2] 25222 Imagem que identifica o problema do MIL 26223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21] 27

31 Estrutura do AudioSet 3032 Rede VGGish implementada ateacute ao bottleneck layer 3033 FFT do sinal amostrado a 441kHz 3134 Processo de obtenccedilatildeo do espectograma Mel 3235 Matriz de entrada da rede VGGish (96 x 64) 3236 Implementaccedilatildeo do PCA (AudioSet) 3337 Distribuiccedilatildeo do nuacutemero de exemplares descarregados 34

11

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Conteuacutedo

Lista de Figuras 11

Siglas 13

1 Introduccedilatildeo 111 Motivaccedilatildeo 1

12 Objetivos 3

13 Contextualizaccedilatildeo 3

14 Contribuiccedilotildees 3

15 Estrutura 4

2 Estado da arte 521 Perceccedilatildeo do ouvido humano 5

22 Representaccedilatildeo de sinais de aacuteudio 6

23 Aprendizagem Automaacutetica 9

231 Redes Neuronais 10

232 Redes Neuronais Convolucionais 18

24 Identificaccedilatildeo de instrumentos musicais 20

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica 22

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica 23

25 Dados com etiquetas fracas 25

3 Suporte ao desenvolvimento 2931 Bases de Dados 29

311 Audioset 29

312 OpenMic2018 34

313 PureMic 36

314 Preparaccedilatildeo dos dados 36

32 Otimizaccedilatildeo 39

33 Meacutetricas 41

331 Meacutetricas dependentes de um limiar 41

332 Meacutetricas independentes de um limiar 44

10 Conteuacutedo

4 Desenvolvimento 4741 Ferramentas utilizadas - Frameworks 4742 Otimizaccedilatildeo dos Modelos 4843 Dados disponiacuteveis 4844 Estrateacutegia 49

441 PM1 50442 PM2 51

45 Caso Praacutetico 53

5 Resultados e discussatildeo 5551 Modelos 5552 Comparaccedilatildeo dos resultados 5653 Etiquetas OpenMic-2018 57

6 Conclusatildeo e trabalho futuro 59

Bibliografia 61

Apecircndice A Matrizes de Confusatildeo 63

Lista de Figuras

11 Identificaccedilatildeo de instrumentos num caso praacutetico 2

21 Modelo percetual do ouvido Humano [27] 622 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral 723 Janelas de Hann sobrepostas 824 Filtros Mel na Frequecircncia em Hz 925 Coeficientes MFCC ao longo do tempo 926 Perceptratildeo 1027 Modelo Multi-layer Perceptron (MLP) 1028 Funccedilotildees de ativaccedilatildeo mais comuns 1129 Valor do custo em funccedilatildeo de um paracircmetro w 14210 Rede Neuronal simples 14211 Rede Neuronal mais complexa 16212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica 17213 Imagem RGB 18214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding 19215 Operaccedilotildees de Max Pooling e Average Pooling 20216 Camada flatten 20217 Rede Neuronal Convolucional 20218 Nuacutemero de artigos publicados no acircmbito do MIR ao longo dos anos 23219 Arquiteturas DL mais utilizadas no acircmbito do MIR 23220 Rede Neuronal com camada Bottleneck 24221 VGG16 [2] 25222 Imagem que identifica o problema do MIL 26223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21] 27

31 Estrutura do AudioSet 3032 Rede VGGish implementada ateacute ao bottleneck layer 3033 FFT do sinal amostrado a 441kHz 3134 Processo de obtenccedilatildeo do espectograma Mel 3235 Matriz de entrada da rede VGGish (96 x 64) 3236 Implementaccedilatildeo do PCA (AudioSet) 3337 Distribuiccedilatildeo do nuacutemero de exemplares descarregados 34

11

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

10 Conteuacutedo

4 Desenvolvimento 4741 Ferramentas utilizadas - Frameworks 4742 Otimizaccedilatildeo dos Modelos 4843 Dados disponiacuteveis 4844 Estrateacutegia 49

441 PM1 50442 PM2 51

45 Caso Praacutetico 53

5 Resultados e discussatildeo 5551 Modelos 5552 Comparaccedilatildeo dos resultados 5653 Etiquetas OpenMic-2018 57

6 Conclusatildeo e trabalho futuro 59

Bibliografia 61

Apecircndice A Matrizes de Confusatildeo 63

Lista de Figuras

11 Identificaccedilatildeo de instrumentos num caso praacutetico 2

21 Modelo percetual do ouvido Humano [27] 622 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral 723 Janelas de Hann sobrepostas 824 Filtros Mel na Frequecircncia em Hz 925 Coeficientes MFCC ao longo do tempo 926 Perceptratildeo 1027 Modelo Multi-layer Perceptron (MLP) 1028 Funccedilotildees de ativaccedilatildeo mais comuns 1129 Valor do custo em funccedilatildeo de um paracircmetro w 14210 Rede Neuronal simples 14211 Rede Neuronal mais complexa 16212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica 17213 Imagem RGB 18214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding 19215 Operaccedilotildees de Max Pooling e Average Pooling 20216 Camada flatten 20217 Rede Neuronal Convolucional 20218 Nuacutemero de artigos publicados no acircmbito do MIR ao longo dos anos 23219 Arquiteturas DL mais utilizadas no acircmbito do MIR 23220 Rede Neuronal com camada Bottleneck 24221 VGG16 [2] 25222 Imagem que identifica o problema do MIL 26223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21] 27

31 Estrutura do AudioSet 3032 Rede VGGish implementada ateacute ao bottleneck layer 3033 FFT do sinal amostrado a 441kHz 3134 Processo de obtenccedilatildeo do espectograma Mel 3235 Matriz de entrada da rede VGGish (96 x 64) 3236 Implementaccedilatildeo do PCA (AudioSet) 3337 Distribuiccedilatildeo do nuacutemero de exemplares descarregados 34

11

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Lista de Figuras

11 Identificaccedilatildeo de instrumentos num caso praacutetico 2

21 Modelo percetual do ouvido Humano [27] 622 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral 723 Janelas de Hann sobrepostas 824 Filtros Mel na Frequecircncia em Hz 925 Coeficientes MFCC ao longo do tempo 926 Perceptratildeo 1027 Modelo Multi-layer Perceptron (MLP) 1028 Funccedilotildees de ativaccedilatildeo mais comuns 1129 Valor do custo em funccedilatildeo de um paracircmetro w 14210 Rede Neuronal simples 14211 Rede Neuronal mais complexa 16212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica 17213 Imagem RGB 18214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding 19215 Operaccedilotildees de Max Pooling e Average Pooling 20216 Camada flatten 20217 Rede Neuronal Convolucional 20218 Nuacutemero de artigos publicados no acircmbito do MIR ao longo dos anos 23219 Arquiteturas DL mais utilizadas no acircmbito do MIR 23220 Rede Neuronal com camada Bottleneck 24221 VGG16 [2] 25222 Imagem que identifica o problema do MIL 26223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21] 27

31 Estrutura do AudioSet 3032 Rede VGGish implementada ateacute ao bottleneck layer 3033 FFT do sinal amostrado a 441kHz 3134 Processo de obtenccedilatildeo do espectograma Mel 3235 Matriz de entrada da rede VGGish (96 x 64) 3236 Implementaccedilatildeo do PCA (AudioSet) 3337 Distribuiccedilatildeo do nuacutemero de exemplares descarregados 34

11

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

12 Lista de Figuras

38 Processo de criaccedilatildeo do OpenMic-2018 [17] 3539 Distribuiccedilatildeo das anotaccedilotildees por classe [17] 35310 Meacutedia dos embeddings 37311 Diferentes Resoluccedilotildees temporais 38312 Implementaccedilatildeo da teacutecnica cross fold validation 38313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas 40314 Histograma da classificaccedilatildeo de uma classe 41315 Matriz de confusatildeo de uma classe 42316 Precisatildeo e recall elevados 43317 Curva ROC 45318 Curva Precision Recall 45

41 Classificaccedilatildeo do RF sem a classe de silecircncio 4942 Classificaccedilatildeo do RF com a classe de silecircncio 5043 Arquitetura da rede NN_MEAN 5144 Processo de obtenccedilatildeo da BD PM1 5245 Processo de obtenccedilatildeo da BD PM2 5246 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms) 5347 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado 54

51 Average precision por instrumento para o set de teste do OM 5752 Average precision por instrumento para o set de teste do PureMic 57

A1 Matriz de Confusatildeo NN_MEAN 64A2 Matriz de confusatildeo NN_ALL 65

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Siglas

RF Random Forest

BD Base de Dados

CNN Convolutional Neural Network

DFT Discret Fourier Transform

DL Deep Learning

STFT Short Time Fourier Transform

FFT Fast Fourier Transform

MIL Multiple Instance Learning

MIR Music Information Retreival

ML Machine Learning

NN Neural Network (Rede Neuronal)

OM18 OpenMic-2018

PCA Principal Component Analysis

PCM Pulse Code Modulation

SED Sound Event Detection

SLD Strongly Labelled Dataset

TF TensorFlow

WLD Weakly Labaled Dataset

13

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Capiacutetulo 1

Introduccedilatildeo

A muacutesica eacute uma forma de arte omnipresente e essencial para milhotildees de pessoas por todo o mundoNatildeo eacute conhecida nenhuma civilizaccedilatildeo ou agrupamento que natildeo possua manifestaccedilotildees musicaisproacuteprias Criaccedilotildees e atuaccedilotildees musicais satildeo um dos nossos artefactos culturais mais complexos eo poder emocional da muacutesica pode tocar o ser humano de formas surpreendentemente profundasMesmo sem estudar muacutesica o ser humano consegue identificar naturalmente timbres tons relaccedilatildeoharmoacutenica entre notas musicais emoccedilotildees entre muitas outras caracteriacutesticas Para isso o nossoceacuterebro realiza uma grande quantidade de processos complexos que compilam o aacuteudio ouvido eminformaccedilatildeo que nos eacute uacutetil como por exemplo distinguir fado de rock ou distinguir uma guitarra de umpiano

11 Motivaccedilatildeo

Entre muitas aacutereas que abrangem esta arte a muacutesica ao vivo eacute uma aacuterea que requer muito rigor Paraque o puacuteblico possa ouvir e sentir uma atuaccedilatildeo da forma que se pretende satildeo necessaacuterios vaacuteriosestudos antes e durante o espetaacuteculo tanto por parte do engenheiro de som responsaacutevel pelo controlode todos os aspetos sonoros como por parte do artista que em conjunto decidem os pormenores queaos ouvidos da plateia faratildeo a diferenccedila O processo responsaacutevel pela preparaccedilatildeo preacutevia do som detodo o espetaacuteculo chama-se Sound Check

O Sound Check eacute um procedimento necessaacuterio antes de qualquer tipo de atuaccedilatildeo no qual eacute decididaa melhor configuraccedilatildeo possiacutevel de forma a que o som reproduzido para a plateia seja limpo como volume adequado e com as misturas e balanccedilos tonais corretos Todas estas configuraccedilotildees satildeofeitas com uma mixing console (mesa de som) Essencial para qualquer artista o Sound Check eacutenormalmente realizado sem audiecircncia uma vez que eacute um processo demorado e mais teacutecnico Todos osinstrumentos estatildeo ligados agrave mesa de mistura cada instrumento com o seu canal (microfone ou ligadodiretamente) Para identificar cada instrumento e o associar ao respetivo canal o engenheiro de somdeve ouvir um instrumento de cada vez para assim etiquetar todos os canais (Figura 11)

O volume eacute a caracteriacutestica de um canal que o puacuteblico identifica com mais facilidade (eacute faacutecil dizerque a guitarra estaacute baixa face aos outros instrumentos no decorrer de um concerto) mas para que osom ouvido seja de qualidade existem muitas outras propriedades (Gain fader compressatildeo gravesetc) que devem ser consideradas e ajustadas antes e se necessaacuterio durante uma atuaccedilatildeo

1

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

2 Introduccedilatildeo

Ajustar todas estas propriedades para cada canal eacute uma tarefa que pode ser difiacutecil de resolverprincipalmente quando o rigor eacute essencial Para aleacutem de dever ajustar em tempo real todas estaspropriedades o engenheiro de som deve ser capaz de as ajustar de acordo com o que a sua experiecircncialhe sugere mas tambeacutem deve ter em conta os requisitos do artista que naturalmente varia consoante oseu gosto

Quando um espetaacuteculo comeccedila a acuacutestica da sala eacute alterada devido agrave sua ocupaccedilatildeo por parte dopuacuteblico e consequentemente o som ouvido natildeo eacute o mesmo Este eacute um caso previsiacutevel mas pode havermuitas outras causas que implicam a mesma consequecircncia e que podem natildeo ser tatildeo claras aos ouvidosde um engenheiro de som

Todos estes processos para aleacutem de muito dispendiosos satildeo complexos demorados e exigemmuita experiecircncia por parte do engenheiro de som pelo que resolver este problema com a ajudade tecnologia traria sempre vantagens para o objetivo final que eacute sempre garantir o melhor sompossiacutevel ao puacuteblico Para isso eacute necessaacuterio o estudo de dois temas principais a identificaccedilatildeo doinstrumento de cada canal e posteriormente o ajuste das propriedades de cada canal em temporeal que variam consoante o instrumento identificado

A motivaccedilatildeo para este projeto parte precisamente da ideia de aperfeiccediloar todos estes processos deforma a minimizar erros diminuir a demora dos processos e aumentar a sua precisatildeo em tempo real

Figura 11 Identificaccedilatildeo de instrumentos num caso praacutetico

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

12 Objetivos 3

12 Objetivos

Esta dissertaccedilatildeo consiste no estudo e investigaccedilatildeo da identificaccedilatildeo de instrumentos em tempo realprimeira das duas partes da ideia que motivou a escolha deste tema O objetivo principal passa peloestudo de teacutecnicas computacionais em particular a aprendizagem automaacutetica (Machine Learning)para identificar instrumentos

Machine Learning (ML) eacute uma aacuterea em crescimento que rapidamente atingiu resultados nuncaantes conseguidos em campos como o reconhecimento de imagem ou o reconhecimento da fala Noque diz respeito agrave identificaccedilatildeo de instrumentos tambeacutem existem alguns trabalhos com abordagenssemelhantes mas tambeacutem existe espaccedilo para os melhorar ou considerar outras abordagens para resolvereste problema

ML envolve diversas teacutecnicas sendo a escolha da arquitetura certa para uma dada tarefa uma dastarefas mais complexas Isso requer o estudo e preparaccedilatildeo de todos os dados disponiacuteveis para assimchegar agrave arquitetura que melhor satisfaz os requisitos A utilizaccedilatildeo deste tipo de teacutecnicas eacute tal que fazcom que apareccedilam novos e melhores resultados muito regularmente pelo que eacute difiacutecil estar sempre apar daquela que supostamente seraacute a teacutecnica mais adequada ao problema

Para atingir o principal objetivo seraacute entatildeo necessaacuterio o estudo de muitas das teacutecnicas utilizadasno ML desde a sua raiz ateacute agraves abordagens mais complexas para no final poder apresentar um processocompleto capaz de identificar instrumentos em tempo real

13 Contextualizaccedilatildeo

Esta dissertaccedilatildeo seraacute entatildeo escrita no contexto do Music Information Retreieval (MIR) uma aacutereade investigaccedilatildeo que tem vindo a crescer ao longo dos anos Tal como o nome indica esta aacuterea temcomo principal objetivo extrair informaccedilatildeo da muacutesica e para isso satildeo necessaacuterios conhecimentos emdiversas aacutereas como musicologia psicoacuacutestica psicologia teoria musical processamento de sinalcomputaccedilatildeo aprendizagem automaacutetica entre muitas outras aacutereas que unem a engenharia e a muacutesicaCom o crescimento do MIR surgiu entatildeo a sua sociedade internacional International Society for MusicInformation Retreival (ISMIR) [20] e a sua conferencia que veio servir de plataforma para trabalhos daaacuterea e assim uma maior divulgaccedilatildeo tanto para investigaccedilatildeo como para a induacutestria Esta sociedade veiotambeacutem facilitar a troca de conhecimentos e a propagaccedilatildeo de tecnologia numa aacuterea mais especiacuteficaApesar de jaacute existirem conferecircncias mais conceituadas e com muitos temas semelhantes como oICASSP [18] (International Conference on Acoustics Speech and Signal Processing) ou o DigitalAudio Effects [3] (DAFx) estas natildeo tecircm como tema principal a muacutesica

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MIRmotivo que torna este projeto ainda mais aliciante Pretende-se contribuir para a resoluccedilatildeo futura desteproblema

14 Contribuiccedilotildees

No final deste projeto espera-se entatildeo contribuir com

bull um sistema de identificaccedilatildeo de instrumentos musicais em tempo real

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

4 Introduccedilatildeo

bull uma base de dados de sons de instrumentos musicais pura e original com base no Audioset [10]e no OpenMic-2018 [17]

bull Contribuiccedilatildeo para o OpenMic-2018 atraveacutes da desambiguaccedilatildeo das suas etiquetas

15 Estrutura

Os restantes capiacutetulos do documento seratildeo organizados da seguinte forma o segundo capiacutetulo abordatodos os fundamentos teoacutericos necessaacuterios para o trabalho e tambeacutem o estado da arte da identificaccedilatildeode instrumentos fazendo um resumo de diversos trabalhos jaacute realizados

No capiacutetulo 3 eacute feita uma preparaccedilatildeo para o desenvolvimento ou seja satildeo abordados conceitosmais praacuteticos que natildeo se enquadram no capiacutetulo 2 Para aleacutem disso eacute neste capiacutetulo que se fala commais pormenor das bases de dados utilizadas

O capiacutetulo 4 apresenta o trabalho desenvolvido em conjunto com alguns resultados que fazemmais sentido ser apresentados durante algumas implementaccedilotildees

No capiacutetulo 5 eacute feito um rescaldo e anaacutelise aos resultados obtidos de uma forma mais resumida eobjetiva

Por fim o capiacutetulo 6 conclui este projeto falando sobre o que foi aprendido e o trabalho que aindase pode realizar em volta desta dissertaccedilatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Capiacutetulo 2

Estado da arte

21 Perceccedilatildeo do ouvido humano

Para ensinar uma maacutequina como ouvir e entender sons ou muacutesica eacute necessaacuterio antes perceber comoeacute que o ser o humano o faz

Uma das caracteriacutesticas mais espantosas do ser humano eacute a capacidade de criar representaccedilotildeesinternas atraveacutes do processamento de diversas fontes de informaccedilatildeo provenientes dos nossos sentidosEste processo de traduccedilatildeo consiste na criaccedilatildeo de uma representaccedilatildeo da informaccedilatildeo que foi recebida(no caso deste projeto seraacute a informaccedilatildeo ouvida) que seja capaz de ser interpretada pelo nosso ceacuterebroEsta representaccedilatildeo abstrata para o ser humano eacute tambeacutem essencial para uma maacutequina poder converteruma gravaccedilatildeo em algo que consiga interpretar

O ouvido humano eacute sensiacutevel a uma vasta extensatildeo de padrotildees desde o som de um reloacutegio atrabalhar ateacute ao som produzido durante um concerto de rock por exemplo Eacute particularmente sensiacutevela sons na extensatildeo de frequecircncias que a voz pode produzir (300 a 3000Hz) apesar de ser capaz decaptar frequecircncias ateacute aos 20KHz mas com menos sensibilidade para esta gama Este aspeto podeser visto como uma evoluccedilatildeo do ser humano uma vez que um dos estiacutemulos mais captados pelo seuouvido foi e eacute a voz humana

Segundo McAdams (1993) [26] o modelo percetual do ouvido humano consiste nos seguintesmecanismos

1 Transduccedilatildeo sensorial A primeira etapa consiste na representaccedilatildeo do sinal acuacutestico no sistemaauditivo Por outras palavras nesta fase as vibraccedilotildees presentes no ar que satildeo captadas peloouvido satildeo codificadas em impulsos nervosos que seratildeo interpretados por processos percetuaismais complexos

2 Agrupamento auditivo Consiste em agrupar diferentes fontes de aacuteudio Quando ouvimos umdeterminado som este pode ser constituiacutedo por diversas fontes (como por exemplo numa cidadeouvir pessoas a conversar e carros a trabalhar) que juntas formam o som ouvido Esta etapaconsiste na separaccedilatildeo e agrupamento dessas fontes

3 Propriedades e caracteriacutesticas auditivas Uma vez separada a informaccedilatildeo sensorial em fontesde som satildeo acionados uma seacuterie de processos que progressivamente analisam as propriedades

5

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

6 Estado da arte

consideradas relevantes ao ouvido num dado momento Esta anaacutelise pode extrair informaccedilatildeotanto de curtos (mili-segundos) como de longos (segundos) intervalos de tempo

4 Associar as propriedades auditivas a representaccedilotildees na memoacuteria Esta etapa consiste entatildeo emrecorrer agrave memoacuteria para assim decidir e reconhecer o som ouvido O estiacutemulo eacute reconhecidotendo em conta a classe que melhor corresponde agrave representaccedilatildeo auditiva isto eacute o som queeacute ouvido eacute comparado com os sons conhecidos e a classe com maior ativaccedilatildeo(mesmo quenunca tenha sido ouvido um som rigorosamente igual) eacute a classe correspondente ao som

Tal como vamos poder verificar existem muitas semelhanccedilas entre o meacutetodo bioloacutegico e o meacutetodocomputacional facto interessante e que pode ajudar na implementaccedilatildeo do sistema de identificaccedilatildeo deinstrumentos musicais

Figura 21 Modelo percetual do ouvido Humano [27]

22 Representaccedilatildeo de sinais de aacuteudio

Esta secccedilatildeo explica vaacuterios conceitos de processamento de sinal necessaacuterios para que um computadorpossa interpretar um sinal de aacuteudio O objetivo eacute obter a melhor representaccedilatildeo do sinal de aacuteudio(feature) para que neste caso seja possiacutevel distinguir instrumentos musicais

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

22 Representaccedilatildeo de sinais de aacuteudio 7

Os sinais de aacuteudio representam a variaccedilatildeo da pressatildeo acuacutestica do ar que eacute captada e interpretadapelo sistema auditivo Podem ser captados por microfones e convertidos para amostras digitais emsistemas de aquisiccedilatildeo de aacuteudio A informaccedilatildeo contida nos sinais de aacuteudio pode ainda ser comprimidacom codificadores de aacuteudio explorando as caracteriacutesticas do sistema auditivo humano Eacute o caso doscodificadores MP3 ACC OGG etc No caso de aacuteudio natildeo comprimido eacute regularmente usado formatoWAVE onde apenas se especifica a frequecircncia de amostragem e o formato das amostras Do ponto devista computacional eacute difiacutecil de extrair informaccedilatildeo capaz de identificar o conteuacutedo do aacuteudio nestetipo de formato Um dos desafios do MIR passa por transformar estes sinais natildeo codificados emrepresentaccedilotildees bidimensionais de tempo e frequecircncia

Short Time Fourier Transform

Para obter uma representaccedilatildeo na frequecircncia de um sinal discreto eacute comum usar a Discret FourierTransform (DFT) Contudo esta representaccedilatildeo eacute geralmente relativa a todo o sinal Para identificar oconteuacutedo espetral do sinal ao longo do tempo eacute usada a Short time Fourier Transform (STFT) Paraobter a STFT eacute necessaacuterio dividir o sinal em tramas (ou frames) com um tamanho suficientementepequeno (short time) que permita assumir que as frequecircncias neste intervalo satildeo estacionaacuterias Se osinal de aacuteudio for simplesmente dividido em tramas antes de aplicar a DFT (significa multiplicar poruma janela perfeitamente retangular de amplitude unitaacuteria) pode acontecer um fenoacutemeno chamadoleakage espectral Este fenoacutemeno representado na figura 22 acontece porque uma trama com umsinal perioacutedico pode natildeo conter um nuacutemero inteiro de periacuteodos e a DFT cria uma variaccedilatildeo brusca dofim do sinal para o iniacutecio do novo periacuteodo espalhando assim esta variaccedilatildeo temporal nas frequecircnciasvizinhas agrave frequecircncia original do sinal

Figura 22 Figura da esquerda sem Leakage espectral e figura direita com Leakage espectral

Este fenoacutemeno dificulta a identificaccedilatildeo das frequecircncias do sinal e por esse motivo as tramas satildeomultiplicadas por uma janela que atenua este efeito causado pelos limites de uma janela retangularEstas janelas neste caso de Hann (poderiam ser outras como as de Hamming) devem ser sobrepostastal como mostra a figura 23 uma vez que caso contraacuterio haveraacute menos suavizaccedilatildeo entre conteuacutedosespetrais sucessivos Depois de multiplicar todo o sinal pelas janelas eacute calculada a Fast Fouriertransform (FFT1) para cada trama O resultado desta anaacutelise eacute chamado de Short-Time Fourier-Transform(STFT) tambeacutem conhecido por sonograma e eacute visualizado usualmente com pseudocores resultandoum espetograma linear na frequecircncia Esta teacutecnica eacute uma das mais comuns no que diz respeito arepresentaccedilotildees espetrais

1Algoritmo eficiente para calcular a DFT

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

8 Estado da arte

Figura 23 Janelas de Hann sobrepostas

Escala Mel

A escala de Mel tenta simular a perceccedilatildeo auditiva humana que eacute mais sensiacutevel a variaccedilotildees nasbaixas frequecircncias e portanto as larguras de banda percetuais (filtros) deveratildeo crescer com a frequecircncia(figura 24) Para isso utilizando um banco de M filtros as frequecircncias da STFT podem ser mapeadasna escala de Mel correspondente A conversatildeo entre Mel e Hertz pode ser calculada atraveacutes daequaccedilatildeo

m = 2595log(1+

f700

)(21)

onde m eacute a frequecircncia em escala Mel e f a frequecircncia em Hz Um banco de filtros eacute um conjuntode filtros passa-banda que separam o sinal de entrada em vaacuterios canais cada um correspondente auma banda de frequecircncia especiacutefica

Coeficientes Cepstrais em escala Mel (MFCC)

Uma vez que os coeficientes do banco de filtros estatildeo altamente correlacionados eacute habitual aplicaruma DCT (Discrete Cosine Transform) ao logaritmo das energias nos vaacuterios canais do banco de filtrosO resultado satildeo os coeficientes MFCC (Mel-frequency Cepstral Coefficients) que descorelacionam erepresentam de forma comprimida o banco de filtros

Tipicamente para o reconhecimento de locutor os coeficientes considerados satildeo do intervalo[213] (figura 25) sendo que os restantes satildeo descartados porque representam mudanccedilas demasiadoraacutepidas no espetograma natildeo contribuindo para o reconhecimento de locutor Apesar dos paracircmetrosMFCC natildeo serem usados no acircmbito desta tese seratildeo abordados algumas vezes no que diz respeito aostrabalhos desenvolvidos no acircmbito da identificaccedilatildeo de instrumentos musicais

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

23 Aprendizagem Automaacutetica 9

Figura 24 Filtros Mel na Frequecircncia em Hz

Figura 25 Coeficientes MFCC ao longo do tempo

23 Aprendizagem Automaacutetica

Nas ciecircncias da computaccedilatildeo e em campos relacionados as redes neurais artificiais (ANNs) satildeo modeloscomputacionais inspirados no sistema nervoso central de um animal (em particular o ceacuterebro) quepermitem a uma maacutequina natildeo soacute aprender como tambeacutem reconhecer padrotildees O nome Aprendizagemautomaacuteticavem do facto de estas redes (ANNs) terem a capacidade de ser ensinadas A grandevantagem eacute que podem aprender a identificar problemas natildeo lineares

Quando ouvimos um piano haacute neuroacutenios no nosso ceacuterebro que satildeo estimulados e enviam sinaispara outros neuroacutenios que por sua vez continuam a enviar sinais entre outros neuroacutenios ateacute chegar umsinal ao neuroacutenio responsaacutevel por dizer se o som ouvido era ou natildeo um piano As redes neuronaisartificiais tentam simular este processo construindo redes de diversos neuroacutenios com o objetivo deidentificar por exemplo um instrumento num excerto de aacuteudio Por outras palavras a superfiacutecie dedecisatildeonatildeo eacute uma linha (como eacute o caso por exemplo de uma regressatildeo linear)

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

10 Estado da arte

231 Redes Neuronais

x2 w2 Σ f

Funccedilatildeo deativaccedilatildeo

ySaiacuteda

x1 w1

x3 w3

Pesos

Biasb

Entradas

Figura 26 Perceptratildeo

A figura 26 representa um perceptratildeo wn representa as entradas e y representa uma somaponderada dos pesos de cada entrada caso a funccedilatildeo de ativaccedilatildeo seja f (x) = x

Tal como se pode ver na figura 27 foi adicionada uma camada a amarelo entre a entrada e asaiacuteda chamada camada escondida (hidden layer) Cada um dos noacutes desta camada corresponde agravesoma ponderada dos pesos da entrada a verde e a saiacuteda corresponde agrave soma ponderada dos pesosdos neuroacutenios amarelos As redes neuronais satildeo capazes de resolver problemas com superfiacutecies deseparaccedilatildeo natildeo lineares e para isso eacute necessaacuterio introduzir uma natildeo linearidade

x1

x2

x3

Saiacuteda

camadaescondida

Camadade

entrada

Camadade saiacuteda

Figura 27 Modelo Multi-layer Perceptron (MLP)

A estrutura de um neuroacutenio (figura 26) tem na sua saiacuteda uma funccedilatildeo que no desenho convencionalde redes neuronais eacute omitida (figura 27) Esta funccedilatildeo mais conhecida por funccedilatildeo de ativaccedilatildeo eacuteresponsaacutevel por introduzir a natildeo linearidade pretendida Todos os noacutes das camadas intermeacutedias satildeotransformados por uma funccedilatildeo de ativaccedilatildeo antes de passar para as somas ponderadas da camadaseguinte

Existem vaacuterias funccedilotildees natildeo lineares neste tipo de redes sendo a funccedilatildeo sigmoide e a funccedilatildeo ReLU(rectified linear unit)(figura 28) das mais utilizadas A derivada da funccedilatildeo sigmoide essencial parao algoritmo responsaacutevel pela aprendizagem da rede satura rapidamente nos seus limites tendendopara zero Por esta razatildeo a rede neuronal pode estagnar na aprendizagem e portanto uma soluccedilatildeo eacutesubstituir a funccedilatildeo sigmoide pela ReLU que tem a sua derivada igual agrave entrada para entradas positivase zero no caso de entradas negativas Para aleacutem destas funccedilotildees de ativaccedilatildeo a funccedilatildeo softmax tambeacutemeacute muito utilizada na camada de saiacuteda

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

23 Aprendizagem Automaacutetica 11

Figura 28 Funccedilotildees de ativaccedilatildeo mais comuns

Supondo que f () representa uma funccedilatildeo de ativaccedilatildeo (ver a seguir) o valor de um neuroacutenio narede neuronal eacute dado pela formula

f (w middotx+b) (22)

onde w eacute o peso do neuroacutenio x a sua entrada e b mais conhecido por polarizaccedilatildeo (bias) desloca afunccedilatildeo de ativaccedilatildeo para um dos lados funcionando como um threshold ou limiar para obter diferentesvalores na saiacuteda do noacute

Assumindo agora que todos os neuroacutenios tecircm a sua funccedilatildeo de ativaccedilatildeo e adicionando aindamais hidden layers agrave rede o modelo comeccedila a ganhar a capacidade de encontrar relaccedilotildees muitocomplexas e natildeo lineares entre a entrada e a suposta saiacuteda Cada camada tenta chegar ao melhormodelo tendo em conta apenas a sua entrada (camada anterior) Na praacutetica as camadas iniciaisestabelecem relaccedilotildees gerais como picos espetrais ou subidads e descidas no tempo As camadas maisprofundas estabelecem relaccedilotildees mais complexas de tal forma que na saiacuteda eacute possiacutevel obter nestecaso classes de instrumentos

Funccedilotildees de ativaccedilatildeo

bull ReLU A ativaccedilatildeo linear retificada veio revolucionar o machine learning sendo das funccedilotildeesmais utilizadas Esta funccedilatildeo eacute linear para valores positivos e o que a torna natildeo linear eacute o factode valer sempre 0 para valores negativos

f (x) = max(x0) (23)

O facto de ter comportamento proacuteximo do linear facilita a otimizaccedilatildeo da rede neuronal Estafunccedilatildeo de ativaccedilatildeo eacute geralmente usada no fim de cada camada exceto na saiacuteda

bull Sigmoide Esta funccedilatildeo eacute muito utilizada na saiacuteda das redes neuronais ou seja na camadautilizada para classificaccedilatildeo A sigmoide transforma a sua entrada em valores entre 0 e 1 o que

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

12 Estado da arte

pode ser visto como uma probabilidade No caso de multi etiquetas (ver a seguir) esta funccedilatildeopermite a ativaccedilatildeo de vaacuterias classes em simultacircneo ou seja se a rede for usada para classificarum excerto de muacutesica com piano e guitarra a saiacuteda da rede pode ativar os dois neuroacutenios darespetiva classe

f (x) =1

1+ eminusx (24)

bull Soft-Max Semelhante agrave sigmoide esta funccedilatildeo tambeacutem transforma um vetor de valores desaiacuteda em probabilidades Neste caso a soma dessas probabilidades deve ser 1 o que obrigaafunccedilatildeo a decidir apenas uma classe ou entatildeo dividir as probabilidades por todas

σ(z) j =ez j

sumkk=1 ezk

(25)

O modelo que serviu de exemplo tem agora as componentes baacutesicas de uma rede neuronal

bull um conjunto de noacutes ou neuroacutenios organizados por camadas

bull um conjunto de pesos (w) representados pelas ligaccedilotildees entre cada camada

bull um conjunto de biases(b) para cada noacute

bull Uma funccedilatildeo de ativaccedilatildeo que transforma a saiacuteda de cada noacute (diferentes camadas podem terdiferentes funccedilotildees de ativaccedilatildeo)

Eacute com todos os valores de todos os noacutes bem calibrados que uma rede neuronal melhora o seudesempenho Para isso deve haver um treino supervisionado Isto significa que existem pares deentradas x e etiquetas y (xy) A uma entrada x podem corresponder vaacuterias etiquetas o que leva a doisconceitos tambeacutem eles essenciais para a aprendizagem automaacutetica

1 Multi classe Quando natildeo se pretende um classificador binaacuterio ou seja que decida se porexemplo um violino estaacute ou natildeo presente num excerto de aacuteudio o problema passa a ser multiclasse Neste caso existem duas classes ou mais

2 Multi etiqueta Problemas multi etiqueta soacute fazem sentido quando o problema eacute tambeacutem elemulti classe isto porque um problema multi etiqueta permite a existecircncia de vaacuterias etiquetaspara a mesma entrada x Se um excerto contiver sons de bandolim e ukulele em simultacircneo ese o objetivo for detetar os dois instrumentos na mesma classificaccedilatildeo entatildeo o problema eacute multietiqueta

O objetivo de um sistema de aprendizagem automaacutetica eacute que este consiga classificar x comoy Como se trata de um sistema feed-forward ou seja os dados fluem da entrada para a saiacutedasem nunca formar um ciclo existe um algoritmo de atribuiccedilatildeo de culpaa cada peso denominadobackpropagation Neste algoritmo eacute definido um criteacuterio geral de desempenho da rede (custo) onde acada iteraccedilatildeo se tenta diminuir o seu valor No fim o desempenho da rede eacute definido com base nassaiacutedas previstas e no valor efetivo dessas saiacutedas

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

23 Aprendizagem Automaacutetica 13

Inicializaccedilatildeo do ModeloOs pesos e biases satildeo responsaacuteveis pelo comportamento de uma rede neuronal e tendem para o valorideal agrave medida que estes algoritmos convergem Para isso deve-lhes ser atribuiacutedo um valor inicial quedeve ser inicializado aleatoriamente Apesar de ser uma praacutetica comum os pesos podem tambeacutem serinicializados a 0 ou podem tomar valores jaacute conhecidos como quando uma rede jaacute foi treinada e sepretende recuperar os seus paracircmetros

Foward propagationDepois de inicializar todos os seus paracircmetros a rede faz propagar a sua entrada no sentido dasaiacuteda ou seja calcula a saiacuteda (previsatildeo) da rede para uma dada entrada com base nos pesos e biasesatribuiacutedos Geralmente este processamento eacute feito em fornadasmais conhecidas como batches queno fundo satildeo pedaccedilos mais pequenos da base de dados de treino Depois de serem processados todosos batches completa-se uma eacutepoca Eacute comum repetir este tipo de algoritmos por diversas eacutepocas

Funccedilatildeo de custoFunccedilatildeo de custo ou Loss function C eacute a funccedilatildeo que determina o quatildeo longe estamos da saiacutedapretendida Para isso esta funccedilatildeo que no fundo representa o valor de um erro (custo) precisa deconhecer para cada entrada a saiacuteda estimada pela rede e o valor efetivo dessa saiacuteda (chamadoground truth) Quanto mais afastado estiver o valor estimado e o ground truth maior o custo Umafunccedilatildeo de custo muito utilizada eacute a entropia cruzada (cross entropy)

Xent(p(y)y) =minussumi

yi log(p(y)i) (26)

onde p(y) eacute a saiacuteda estimada e y o ground truth

GradienteO caacutelculo diferencial eacute essencial para a aprendizagem automaacutetica Jaacute que o objetivo eacute minimizar afunccedilatildeo de custo a sua derivada (em funccedilatildeo de qualquer paracircmetro da rede) ajuda a perceber em quesentido continuar e se estamos ou natildeo perto do miacutenimo (idealmente absoluto) da funccedilatildeo (eacute a isto quese chamou culpa derivada da funccedilatildeo de custo em relaccedilatildeo a um paracircmetro) Como a funccedilatildeo de custotem geralmente milhares de paracircmetros essa derivada deve ser calculada em funccedilatildeo de cada um deles(derivadas parciais)

Nesta etapa o objetivo eacute tentar encontrar o conjunto de pesos e biases que minimizam a funccedilatildeo decusto (gradiente nulo) Este eacute um processo iterativo que se repete para cada batch e que pode demorarde poucas ateacute milhares de iteraccedilotildees dependendo do problema e do tipo de dados utilizados A figura292 mostra o valor do custo em funccedilatildeo de um paracircmetro w Neste caso soacute existe um peso e a soluccedilatildeooacutetima acontece quando o gradiente eacute nulo (Miacutenimoda funccedilatildeo) Habitualmente as funccedilotildees de custosatildeo muito mais complexas de tal forma que eacute difiacutecil visualizaacute-las com mais de dois paracircmetros

Para resolver um dos maiores desafios da aprendizagem automaacutetica eacute muito comum utilizar oalgoritmo Gradient Descent Este eacute um algoritmo de otimizaccedilatildeo iterativo que tenta chegar ao miacutenimoda funccedilatildeo de custo atraveacutes de pequenos passos O gradiente indica a direccedilatildeo na qual a funccedilatildeo cresce e

2httpssaugatbhattaraicomnpwp-contentuploads201806gradient-descent-1jpg

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

14 Estado da arte

Figura 29 Valor do custo em funccedilatildeo de um paracircmetro w

como o objetivo eacute minimizar eacute necessaacuterio evoluirno sentido contraacuterio Para minimizar o custo osparacircmetros satildeo atualizados na direccedilatildeo descendentedo gradiente daiacute o nome gradiente descendente

Supondo que soacute eacute utilizado um peso w na rede eacute necessaacuterio saber qual o respectivo valor dafunccedilatildeo de custo C Dando vaacuterios valores a w eacute possiacutevel obter uma funccedilatildeo x como a da figura 29 ecalculada a sua derivada em ordem a w o declive em cada ponto passa tambeacutem a ser conhecido

O Gradient decent comeccedila num determinado ponto aleatoacuterio da funccedilatildeo C e atraveacutes de pequenospassos tenta chegar ao seu miacutenimo Para isso eacute necessaacuterio calcular as derivadas parciais da funccedilatildeo decusto e o algoritmo responsaacutevel por este processo eacute o backpropagation

Back propagation

Depois de derivar a funccedilatildeo de custo eacute possiacutevel retro-propagar a rede e ir calculando as derivadasparciais de cada paracircmetro desde a saiacuteda ateacute agrave entrada processo que faz jus ao nome deste algoritmo

Assumindo que estamos perante uma rede neuronal como a da figura 210

Figura 210 Rede Neuronal simples

a ativaccedilatildeo do neuroacutenio a(L) eacute dada por

a(L) = σ(w(L)a(Lminus1)+b(L)) (27)

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

23 Aprendizagem Automaacutetica 15

sendo w b e a(Lminus1) o valor do peso bias e ativaccedilatildeo do camada anterior respetivamente σ

representa a funccedilatildeo de ativaccedilatildeo sigmoide A soma ponderada entrada da sigmoide passa a denominar-seZ e simplificando

Z(L) = w(L)a(Lminus1)+b(L) (28)

a(L) = σ(Z(L)) (29)

O objetivo do gradient descent eacute saber o quatildeo sensiacutevel eacute a funccedilatildeo de custo C a pequenas variaccedilotildeesde cada um dos paracircmetros e para isso satildeo calculadas as derivadas parciais de C em ordem a w (210)b (211) e a(Lminus1) (212)

partCpartw(L)

=partZ(L)

partw(L)parta(L)

partZ(L)partC(L)

parta(L)(210)

partCpartb(L)

=partZ(L)

partb(L)parta(L)

partZ(L)partC(L)

parta(L)(211)

partCparta(Lminus1) =

partZ(L)

parta(Lminus1) parta(L)

partZ(L)partC(L)

parta(L)(212)

O vector gradiente (214) eacute composto pelas equaccedilotildees 210 e 211 Apesar de natildeo ser incluiacutedaa derivada parcial de C em funccedilatildeo de a(Lminus1) (212) ou por outras palavras a sensibilidade de C avariaccedilotildees da ativaccedilatildeo a(Lminus1) eacute essencial para o algoritmo de backpropagation uma vez que eacute estafunccedilatildeo que abre caminhoaos pesos e biases camada anterior (213) Este processo cada vez maiscomplexo com o aumentar dos paracircmetros repete-se ateacute agrave entrada da rede

a(Lminus1) = σ(w(Lminus1)a(Lminus2)+b(Lminus1)) (213)

nablaC =

partCpartw(1)

partCpartb(1)

partC

partw(L)

partCpartb(L)

(214)

Assumindo agora uma rede com mais de um neuroacutenio por camada (figura 211) o processo eacutesemelhante sendo apenas necessaacuterio ter em conta que cada neuroacutenio da saiacuteda Z j tem mais do que uma influenciaacute-lo (comparar com 28 caso com apenas um neuroacutenio por camada)

Z(L)j = w(L)

j0 a(Lminus1)0 +w(L)

j1 a(Lminus1)1 +w(L)

j2 a(Lminus1)2 +b(L)j (215)

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

16 Estado da arte

Figura 211 Rede Neuronal mais complexa

Tal como anteriormente eacute importante ter apenas um valor para o custo algo que sirva de referecircnciapara a performance da rede Neste caso com mais do que um neuroacutenio por camada a funccedilatildeo de custoglobal C eacute dada pelo somatoacuterio das funccedilotildees de custo obtidas para cada neuroacutenio

C =nLminus1

sumj=0

C j (216)

Por conseguinte a derivada parcial da funccedilatildeo de custo em funccedilatildeo da ativaccedilatildeo da camada anteriorLminus1 (outrora 212) eacute agora ligeiramente diferente jaacute que conta com mais do que uma activaccedilatildeo nasaiacuteda neste caso duas Para resolver este problema eacute feito um somatoacuterio da derivada da funccedilatildeo decusto de cada neuroacutenio em funccedilatildeo da ativaccedilatildeo da camada Lminus1

partC

parta(Lminus1)k

=nLminus1

sumj=0

partZ(L)j

parta(Lminus1)k

parta(L)j

partZ(L)j

partC(L)

parta(L)j

(217)

Com estes procedimentos o algoritmo de backpropagation eacute capaz de calcular todas as derivadasparciais que em muitos casos atingem milhotildees de paracircmetros Este caacutelculo permite entatildeo conhecerpara cada paracircmetro qual o seu proacuteximo valor isto eacute se o valor deve diminuir ou aumentar muito oupouco

Atualizaccedilatildeo dos pesos

O proacuteximo valor de cada paracircmetrownew (219) eacute obtido atraveacutes do passo Learning step(218) representado na figura 29 Este passo eacute obtido com base no declive calculado atraveacutes dobackpropagation e atraveacutes do ritmo de aprendizagem Learning rate

Learning step = declivetimesLearning rate (218)

Wnew =Wold minusLearning step (219)

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

23 Aprendizagem Automaacutetica 17

O facto de o Learning step estar relacionado com o declive da funccedilatildeo eacute uacutetil porque nos diz o quatildeoperto estamos do miacutenimo isto eacute para grandes declives os passos satildeo maiores mas vatildeo diminuindocom a proximidade ao miacutenimo da funccedilatildeo de custo ou ao zero da sua derivada (220)

nablaC = 0 (220)

onde C eacute o custo e nabla o vetor gradienteSe o passo for negativo Wnew aumenta Por outro lado se o passo for positivo Wnew diminui o

que eacute coerente com a procura do miacutenimo da funccedilatildeo de custo O Learning rate serve para garantir quea actualizaccedilatildeo dos pesos eacute lenta e suave

A atualizaccedilatildeo dos pesos eacute feita com uma determinada frequecircncia que eacute determinada pelo nuacutemerode batches M e pelo tamanho de cada batch N Existem 3 opccedilotildees

1 stochastic gradient descend Neste caso N = 1 e portanto os paracircmetros vatildeo ser atualizadosa cada exemplar da base de dados de treino Esta abordagem pode tornar o processo demasiadolento

2 batch gradient descend Tambeacutem eacute possiacutevel utilizar um uacutenico e grande batch que inclui a basede dados de treino toda Neste caso os pesos seratildeo atualizados apenas uma vez por eacutepoca eportanto eacute preciso treinar a rede durante vaacuterias eacutepocas ateacute esta comeccedilar a convergir

3 mini-batch gradient descend Tenta encontrar um meio termo entre as duas teacutecnicas anterioresGeralmente 10 lt N lt 1000 sendo que com esta abordagem (e tambeacutem com a anterior) eacutefeita a meacutedia dos valores da funccedilatildeo de custo de todos os exemplares de treino contidos numdeterminado batch

A atualizaccedilatildeo dos paracircmetros eacute feita atraveacutes de otimizadores Existem vaacuterios como o AdagradAdam RMSprop [30]

Todo o processo abordado nesta secccedilatildeo estaacute resumido na figura 212

Figura 212 Processo de treino de um algoritmo de Aprendizagem Automaacutetica

Deep Learning eacute um termo que se tem tornado cada vez mais popular este consiste em transformarestas redes com poucas camadas escondidas em redes profundas quanto mais profunda uma rede for

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

18 Estado da arte

mais capaz eacute de reconhecer padrotildees complexos mas a exigecircncia computacional tambeacutem aumentaPor outro lado quanto mais profunda for a rede mais dados satildeo necessaacuterios uma vez que tambeacutemeacute necessaacuterio ensinarmais paracircmetros Com o evoluir da tecnologia surgiu naturalmente o DeepLearning (DL) tanto pelo crescimento no nuacutemero de dados como pela evoluccedilatildeo a niacutevel computacional

232 Redes Neuronais Convolucionais

Uma das classes de redes neuronais mais utilizadas chama-se redes neuronais Convolucionais (CNNs)Ao contraacuterio das redes neuronais artificiais (ANNs) que tecircm uma cama de neuroacutenios como entradauma CNN eacute uma rede que pode receber como entrada uma imagem e atribuir a eventos que nelapossam ocorrer pesos e biases capazes de os distinguir As CNNs filtram diversas vezes a imagem deentrada e aprendem como chegar aos filtros que melhor distinguem um determinado evento

Na realidade uma imagem pode ser representada por N matrizes sendo N o nuacutemero de canaisque esta contempla No caso de uma imagem Red Green Blue (RGB) existem 3 canais e supondo quea imagem tem uma dimensatildeo de 4 x 4 eacute possiacutevel entatildeo extrair 3 matrizes de dimensotildees 4 x 4 cada talcomo se pode verificar na figura 213

Figura 213 Imagem RGB

Claro que se poderia transformar estes 4times 4times 3 = 48 valores numa uacutenica camada e utilizaruma rede neuronal para a classificaccedilatildeo mas imagens reais tecircm dimensotildees muito maiores e o pesocomputacional tornar-se-ia enorme As CNNs aplicam filtros agrave imagem de entrada por convoluccedilatildeo 2D(221)

KernelUma camada convolucional eacute composta por um kernel ou filtro matriz que eacute responsaacutevel pordeslizarao longo da imagem efetuando uma multiplicaccedilatildeo a cada avanccedilo ou stride Dada umaentrada 2D I e um kernel K a convoluccedilatildeo 2D eacute definida pela equaccedilatildeo

C( jk) = sump

sumq

I(pq)K( jminus pkminusq) (221)

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

23 Aprendizagem Automaacutetica 19

onde ( jk) satildeo as coordenadas da entrada e (pq) as coordenadas do kernel O kernel desliza pelaimagem e os pesos que o compotildeem satildeo aplicados a toda a aacuterea de entrada Esta partilha de paracircmetrosreduz significativamente o peso computacional e consequentemente o tempo de treino destas redes

Figura 214 Convoluccedilatildeo do kernel com uma matriz Stride=1 valid Padding

Caso a imagem tenha mais do que um canal a cada avanccedilo satildeo somados os resultados damultiplicaccedilatildeo de cada kernel com o respectivo pedaccedilo da imagem Tambeacutem eacute possiacutevel em redesmuito complexas escolher o nuacutemero de filtros a utilizar ou seja no caso da figura 214 se em vez deser usado 1 filtro fossem usados 64 a saiacuteda da rede seria 2times2times64

PaddingPor vezes para que o kernel possa fazer uma multiplicaccedilatildeo corretamente eacute necessaacuterio acrescentarpixeis agrave imagem A esse processo chama-se Padding e existem duas opccedilotildees valid e same ValidPadding manteacutem a imagem original e a dimensatildeo do resultado reduz sempre Same Padding acrescentazeros na moldura da imagem o que faz com que o resultado tal como o nome indica tenha as mesmasdimensotildees que a imagem

Pooling LayerSimilar agraves camadas convolucionais as camadas de pooling tambeacutem contecircm um kernel e o objetivo eacutereduzir a dimensatildeo da entrada Esta camada natildeo tem paracircmetros ou seja natildeo eacute treinada O pooling eacuteuacutetil para sumarizar algumas features detetadas na entrada e para aleacutem disso eacute tambeacutem capaz de geraruma representaccedilatildeo invariante a pequenos deslocamentos de uma determinada feature detetada Isto eacuteimportante quando queremos verificar se existe ou natildeo um determinado padratildeo em vez de saber a sualocalizaccedilatildeo

Existem dois tipos de pooling (figura 215)

bull Max Pooling - retorna o maacuteximo valor da porccedilatildeo de imagem que estaacute sob o kernel

bull Average Pooling - retorna a meacutedia dos valores da porccedilatildeo de imagem que estaacute sob o kernel

A operaccedilatildeo de Max Pooling eacute mais usada uma vez que tem desempenhos melhores que aalternativa

Flatten LayerDepois de reduzir vaacuterias vezes as dimensotildees eacute comum utilizar esta camada para converter a matriz oumatrizes resultante(s) num uacutenico vetor para depois ser classificado (figura 216)

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

20 Estado da arte

Figura 215 Operaccedilotildees de Max Pooling e AveragePooling

Figura 216 Camada flatten

Fully connected layerUma camada Fully connected ou ANN convencional pode ser vista como a entrada de uma redeneuronal que a partir desta camada se comporta tal como explicado anteriormente A figura 217 3

mostra uma rede com as diferentes camadas

Figura 217 Rede Neuronal Convolucional

24 Identificaccedilatildeo de instrumentos musicais

A identificaccedilatildeo de instrumentos eacute um problema ainda natildeo completamente resolvido no MusicInformation retreival Ao longo dos anos um dos principais objetivos foi identificar as melhoresfeatures para a classificaccedilatildeo de instrumentos musicais isto eacute a melhor forma de representar o aacuteudio demaneira a identificar corretamente um instrumento Existem abordagens que usam features baseadasno timbre feautures espectrais temporais e muitas outras formas de olhar para uma gravaccedilatildeo de umponto de vista musical que ajudam a melhor reconhecer instrumentos [29] [4]

3httprafaelsakuraigithubioimagesposts2017-12-20-cnn-mapreducepng

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

24 Identificaccedilatildeo de instrumentos musicais 21

Uma vez que eacute uma tarefa complexa eacute importante estudar e perceber como se deve comportarum sistema de identificaccedilatildeo de instrumentos ideal Martin (1999) [25] sugere alguns procedimentosbaacutesicos para tarefas de reconhecimento de fontes sonoras Apesar do trabalho natildeo ser direcionadopara o reconhecimento de instrumentos musicais enquadra-se perfeitamente neste problema Ummodelo ideal deve entatildeo cumprir os seguintes requisitos

1 apresentar Generalizaccedilatildeo O reconhecimento de um instrumento natildeo deve depender defactores externos como quem eacute que o toca ou o meio ambiente Todos estes factores por maisque influenciem o som ouvido nunca podem influenciar o reconhecimento do instrumento queestaacute a ser tocado

2 Pertencer ao mundo real Os dados a utilizar devem pertencer ao mundo real o que implicaalgum cuidado na escolha das bases de dados Estas natildeo devem conter sons demasiado artificiaisO objetivo eacute sempre que o classificador se comporte da melhor forma em casos reais

3 Ser escalaacutevel Eacute importante que o sistema esteja preparado para receber novas classes Abase de dados utilizada pode conter apenas 20 instrumentos e se o sistema funciona para esteconjunto tambeacutem deve funcionar caso se pretenda aumentar o nuacutemero de instrumentos areconhecer Natildeo soacute o sistema as features extraiacutedas tambeacutem devem ser flexiacuteveis a todo o tipo deinstrumentos

4 Ser robusto agrave degradaccedilatildeo Com o aumento do barulho ambiente reverberaccedilatildeo eco ouo nuacutemero de fontes de som ouvidas o ser humano perde gradualmente a capacidade dereconhecer um determinado instrumento Da mesma forma os classificadores deixam defuncionar corretamente quando um certo niacutevel de degradaccedilatildeo eacute atingido Num cenaacuterio realhaacute informaccedilatildeo (relativa ao instrumento que se pretende identificar) que se perde Para isso osistema deve ser capaz de resolver o que eacute chamado o missing feature problem Tem de sercapaz de reconhecer o instrumento ainda que natildeo tenha acesso a toda a sua informaccedilatildeo

5 Ter uma estrateacutegia de aprendizagem flexiacutevel Muitas vezes o ser humano aprende natildeo soacute comdados etiquetados (saber que o som que se estaacute a ouvir pertence a um determinado instrumento)mas tambeacutem com dados desconhecidos A performance de um sistema melhora sempre quandoeste eacute capaz de aprender com os dados que tem etiquetados mas tambeacutem posteriormenteaprender com os dados cuja presenccedila ou ausecircncia de um instrumento natildeo satildeo conhecidas

6 Funcionar em tempo real Com o objetivo de simular a forma como a perceccedilatildeo humanafunciona o modelo deve ser capaz de seguir a evoluccedilatildeo temporal do som A extraccedilatildeo defeatures e a inferecircncia de uma rede neuronal satildeo processos que podem demorar e impedir que aidentificaccedilatildeo ocorra em tempo real Eacute comum entatildeo apresentar resultados a uma taxa inferiorpara haver tempo para todos os caacutelculos necessaacuterios

ArquiteturaIndependentemente das escolhas que se possam fazer durante a implementaccedilatildeo do algoritmo este temsempre a mesma arquitetura composta por 4 etapas

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

22 Estado da arte

1 Preacute-processamento Aplicadas ainda ao aacuteudio existem estrateacutegias de pre-processamento comoa reduccedilatildeo do ruiacutedo que remove as componentes ruidosas do sinal ou a remoccedilatildeo de momentosde silecircncio

2 Extraccedilatildeo de features Tal como jaacute referido eacute importante representar o aacuteudio em formatos quesejam mais legiacuteveis para um classificador

3 Classificaccedilatildeo Etapa crucial onde decorre o algoritmo que aprende a identificar instrumentos epor fim faz uma previsatildeo relativamente a um conjunto de teste

4 Poacutes-processamento Com base nas previsotildees da etapa anterior eacute comum transformar estesdados por forma a obter o melhor resultado para a meacutetrica pretendida Para este tipo decaacutelculos eacute conveniente comparar os valores previstos com os valores verdadeiros (conhecidospreviamente)

241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica

A identificaccedilatildeo de instrumentos em muacutesica monofoacutenica eacute feita com base em duas categorias

bull reconhecimento com base em notas uacutenicas de um soacute instrumento

bull reconhecimento com base em frases de um soacute instrumento

Naturalmente a investigaccedilatildeo na identificaccedilatildeo de instrumentos comeccedilou por esta aacuterea mais simplese com menos problemas para resolver quando comparada com a identificaccedilatildeo de instrumentos emmuacutesica polifoacutenica

Um dos primeiros estudos realizados nesta aacuterea (2000) utilizou classificadores Gaussianos e kNN(k-nearest neighbors) num conjunto de 43 features temporais e espetrais com base em instrumentosorquestrais [6] Este trabalho marca o iniacutecio do reconhecimento de instrumentos musicais Noseguimento do trabalho anterior um ano depois (2001) a mesma equipa utilizou MFCCs em conjuntocom outras features espetrais e utilizou modelos de misturas Gaussianas (GMM) para as classificarOs resultados mostravam que as MFCC eram as features que melhores resultados apresentavam eainda hoje satildeo muito utilizadas

Essid et al [8] (2006) utilizou um conjunto de features encontradas com alguns algoritmos deseleccedilatildeo de features e Support Vector Machines (SVM) para classificar 10 instrumentos claacutessicostornando-se na altura a abordagem com melhores resultados Com o objetivo de explorar novasfeatures Yu et al [31] (2009) utilizou como entrada de classificadores KNN espetogramas de clipsde aacuteudio como imagens Esta abordagem eacute semelhante aquela que seraacute considerada neste projeto

Diment et al [5] (2013) utiliza a feature Modified Group Delay Features (MODGDF) [15] emconjunto com MFCC em 22 instrumentos da base de dados RWC [11] (2002) Por fim Han et al[14] (2016) propocircs uma abordagem para aprender features provenientes do espetograma de Mel Estetrabalho foi realizado com base em notas uacutenicas de 24 instrumentos novamente da base de dadosRWC [11]

Para se aproximar de situaccedilotildees reais os investigadores comeccedilaram a trabalhar na identificaccedilatildeoainda em aacuteudio monofoacutenico mas em frases de instrumentos Um dos primeiros estudos foi realizado

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

24 Identificaccedilatildeo de instrumentos musicais 23

por Krishna e Sreenivas [22] que utilizaram Line Spectral Features (LSF) como entrada de um modeloGMM implementado com 14 instrumentos diferentes

Essid et al [7] utilizou como modelo novamente o GMM com MFCC em conjunto com PrincipalComponent Analisys (PCA) e testado com base em 5 instrumentos PCA [1] eacute uma teacutecnica utilizadapara reduzir a dimensatildeo dos dados Atraveacutes do PCA eacute possiacutevel transformar dados com muitasdimensotildees em dados com menos mas preservar ainda assim a informaccedilatildeo relevante Com estateacutecnica eacute normal que se despenda de alguma precisatildeo no modelo implementado mas ganha-sesimplicidade portanto existe um trade-offentre o peso computacional e a precisatildeo que os novosdados proporcionam uma vez que dados com dimensotildees menores satildeo mais faacuteceis de analisar evisualizar

242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica

Ao longo dos uacuteltimos anos o foco da investigaccedilatildeo nesta aacuterea recai sobre aacuteudio polifoacutenico uma vez queeacute a abordagem que mais se aproxima do mundo real O Deep Learning e o seu crescimento exponencial(figura 2184) vieram revolucionar a identificaccedilatildeo de instrumentos musicais nomeadamente atraveacutesdas Redes Neuronais Convolucionais (figura 2195)

Figura 218 Nuacutemero de artigospublicados no acircmbito do MIR ao longodos anos

Figura 219 Arquiteturas DL maisutilizadas no acircmbito do MIR

Em 2015 comeccedilaram a surgir alguns trabalhos com CNN [23] [24] e em 2016 Han et al [13]realizou um dos primeiros trabalhos na identificaccedilatildeo de instrumentos musicais com recurso a CNNEste trabalho foi baseado na base de dados IRMAS [19] e uma vez mais utiliza o espetograma Melcomo entrada da CNN implementada

Esta estrateacutegia comeccedilou a ser cada vez mais comum uma vez que a rede ganha a capacidadede analisar tanto a componente temporal como a espetral Esta imagempode conter mais doque um instrumento que produz timbres uacutenicos identificaacuteveis no espetograma Atraveacutes dos filtrosconvolucionais eacute possiacutevel distinguir os diferentes instrumentos

4httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigarticles_per_yearpng5httpsgithubcomybayleawesome-deep-learning-musicblobmasterfigpie_chart_architecture

png

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

24 Estado da arte

Em 2017 surge uma nova base de dados publicada pela Google o AudioSet [10] Esta base dedados surge com a intenccedilatildeo de ajudar a investigaccedilatildeo na deteccedilatildeo de eventos de som (SED) A Googlelanccedilou um modelo pre-treinado chamado VGGish [16] que pode ser usado de duas formas

bull Extrator de features O modelo converte a entrada num vetor de features de dimensatildeo 128que pode servir de entrada para outro modelo

bull Parte de um modelo maior Acrescentando camadas no final da rede ateacute agrave camada declassificaccedilatildeo obteacutem-se um modelo que recebe as features de aacuteudio e prevecirc a saiacuteda paraas classes pretendidas Esta teacutecnica eacute tambeacutem conhecida por transfer learning

Isto porque o modelo soacute eacute disponibilizado ateacute uma camada bottleneckBottleneck ou gargalo de garrafa satildeo palavras que ajudam a entender o que eacute que significa este

conceito Esta eacute uma camada com menos neuroacutenios quando comparada com as anteriores Eacute umacamada muito utilizada para obter uma representaccedilatildeo da entrada com dimensotildees muito mais reduzidasou seja para comprimir e codificar essa informaccedilatildeo O vetor que resulta deste tipo de camadaschama-se embedding e eacute muito usado para visualizaccedilatildeo dos dados jaacute que a sua dimensatildeo eacute muitoreduzida quando comparada com a da entrada (figura 220)

Figura 220 Rede Neuronal com camada Bottleneck

O nome do modelo VGGish vem do modelo VGG16 [2] utilizado para reconhecimento de imagensA arquitetura da rede VGG16 (figura 221) eacute modificada para obter a rede VGGish (figura 32) estarede utiliza sempre convoluccedilotildees com filtros de 3 times 3 A dimensatildeo da entrada eacute alterada para 96 times64 (espetograma de Mel) e satildeo usados 4 grupos de camadas convoluccedilatildeo-maxpool (que tecircm menosuma convoluccedilatildeo cada) em vez de 5 Na saiacuteda em vez de 1000 unidades eacute usada uma camada FullyConnected com 128 Por fim este vetor eacute poacutes processado com uma transformaccedilatildeo do tipo PrincipalComponent Analisys (PCA)

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

25 Dados com etiquetas fracas 25

Figura 221 VGG16 [2]

Em 2018 surge uma base de dados com 20000 clips de aacuteudio o OpenMic-2018 (OM18) [17]Cada clip tem 10 segundos e eacute uma base de dados com 20 classes de instrumentos musicais Anotarum clip segundo a segundo eacute muito dispendioso e portanto esta eacute uma base de dados com etiquetasfracas Weakly Labelled Dataset (WLD) Isto significa que um instrumento eacute anotado como positivose estiver presente em pelo menos uma parte do clip caso contraacuterio eacute anotado como negativo (se natildeoestiver presente em nenhum momento do clip) Cada clip estaacute anotado apenas para 3-4 classes (em20) sendo as restantes anotadas como desconhecidas Esta base de dados segue a mesma arquiteturado AudioSet tanto na extraccedilatildeo de features (espetograma Mel) como na rede a utilizar (VGGish) Umdos trabalhos realizados em torno desta base de dados tem por base um classificador Random Forest(RF) e foi desonvolvido por quem criou o OpenMic-2018 Muito recentemente foram publicadostrabalhos que tal como projetado para esta dissertaccedilatildeo aplicam modelos de atenccedilatildeo a esta base dedados [12] [28]

Random forest eacute um algoritmo de aprendizagem automaacutetica utilizado (natildeo soacute) para classificaccedilatildeo eque seraacute utilizado ainda que muito pouco na execuccedilatildeo deste projeto Este algoritmo utiliza vaacuteriasaacutervores de decisatildeo e decide a sua saiacuteda com base nos resultados de todas elas

25 Dados com etiquetas fracas

Em muitos casos os dados a que temos acesso natildeo tecircm etiquetas fortesou seja a grande parte dasbases de dados usadas pertencem agrave categoria das Weakly labeled Datasets (WLD) Uma base dedados do tipo WLD conteacutem exemplares como por exemplo um ficheiro de aacuteudio de 10 segundoscuja etiqueta eacute violino mas que nada nos garante que este instrumento estaacute presente em todos os 10

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

26 Estado da arte

segundos Com este tipo de bases de dados surgiu o Multiple Instance Learning (MIL) A ideia doMIL eacute que um exemplar representa um saco de instacircncias Ao receber previsotildees das classes de cadauma das instacircncias eacute necessaacuterio juntar todas elas numa uacutenica previsatildeo de todo o saco

Uma das abordagens mais simples para tratar este tipo de problemas consiste no modelo Bag ofWords (BOW) que assume que todas as instacircncias herdam a etiqueta do bag respetivo Tudo isto eacutenecessaacuterio para a fase de treino mas na fase de inferecircncia a decisatildeo eacute tomada agregando as previsotildeesde cada uma das instacircncias sendo teacutecnicas como o max pooling (considera a previsatildeo mais alta) oumean pooling (meacutedia de todas as instacircncias) das mais comuns

Em contraste agraves WLD existem as Strongly Labaled Datasets (SLD) que descriminam temporalmenteos ficheiros de aacuteudio indicando a presenccedila ou ausecircncia de neste caso instrumentos que possamcoexistir em cada segmento temporal

Figura 222 Imagem que identifica o problema do MIL

Modelo de Atenccedilatildeo

De uma forma semelhante ao BOW os modelos de atenccedilatildeo criam um classificador (instance levelclassifier) f (x) para cada instacircncia x mas por outro lado as instacircncias natildeo herdam as etiquetas do bagNo fundo a aprendizagem supervisionada ao niacutevel da instacircncia deixa de existir Eacute entatildeo necessaacuterioagregar as previsotildees de cada instacircncia resultando num previsatildeo F(B) de todo o bag B dada por

F(B)k = sumxisinB

p(x)k f (x)k (222)

onde p(x)k corresponde ao peso de f (x)k para cada classe k p(x)k eacute entatildeo chamado de funccedilatildeode atenccedilatildeo e deve satisfazer a seguinte condiccedilatildeo

sumxisinB

p(x)k = 1 (223)

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

25 Dados com etiquetas fracas 27

para que a previsatildeo do bag seja vista como uma soma ponderada das previsotildees das instacircncias epara isso a funccedilatildeo de atenccedilatildeo pode ser modelada da seguinte forma

p(x)k = v(x)k sumxisinB

v(x)k (224)

v(x) deveraacute ser uma funccedilatildeo natildeo negativa que garanta que p(x) eacute uma probabilidade como porexemplo a softmax

A funccedilatildeo de atenccedilatildeo p(x)k controla o quanto eacute que uma determinada previsatildeo f (x)k deve importarA figura 223 mostra o modelo de atenccedilatildeo descrito

Figura 223 Implementaccedilatildeo de um modelo de atenccedilatildeo [21]

Tanto o OM18 como o AudioSet satildeo WLD Investigaccedilotildees recentes muito em volta do AudioSettentaram encontrar alternativas com melhores resultados O trabalho de Kong et al [21] (2019)utilizou modelos de atenccedilatildeo para classificar o AudioSet e atingiu resultados nunca antes obtidosnoutros trabalhos com esta base de dados

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Capiacutetulo 3

Suporte ao desenvolvimento

Para que o desenvolvimento do trabalho decorra da melhor forma eacute necessaacuterio conhecer algumasteacutecnicas tanto na preparaccedilatildeo dos dados como durante a implementaccedilatildeo de uma rede neuronal Paraaleacutem disso eacute essencial conhecer bem as bases de dados e perceber quais as suas limitaccedilotildees Para poderhaver referecircncias que nos indiquem a performance do algoritmo existem tambeacutem algumas meacutetricasque dependendo do tipo de problemas podem ser usadas

31 Bases de Dados

Para que todas as teacutecnicas referenciadas ao longo da dissertaccedilatildeo se possam concretizar eacute essencial orecurso a bases de dados Esta secccedilatildeo serve para introduzir as bases de dados utilizadas neste projeto

311 Audioset

O Audioset [10] eacute uma Weakly Labeled Dataset (WLD) (secccedilatildeo 25) que conta com mais de 2milhotildees de clips de aacuteudio cada um com 10 segundos dos mais variados eventos Esta base de dadostem 527 classes (multi classe) de eventos acuacutesticos como alarmes sons emitidos por animais ouinstrumentos musicais e foi construiacuteda a partir de viacutedeos do YouTube com o objetivo de contribuir paraa identificaccedilatildeo de eventos acuacutesticos (SED) Eacute uma base de dados multi-etiqueta e o que eacute publicadoem vez dos ficheiros de aacuteudio ou conjuntamente com os URLs do YouTube satildeo vetores de featuresdedimensatildeo 128 para cada segundo de aacuteudio Para aleacutem disso tambeacutem estatildeo disponiacuteveis o nome de cadasegmento (identificador atraveacutes do qual se chega ao viacutedeo no YouTube) o tempo inicial e final do clip(os viacutedeos tecircm sempre mais de 10 segundos pelo que eacute preciso selecionar um segmento) e por fimuma (ou mais) etiqueta agrave qual correspondem os 10 segundos (figura 31)

A equipa que desenvolveu o Audioset desenvolveu um trabalho onde testou varias redes declassificaccedilatildeo de imagem na classificaccedilatildeo de aacuteudio [16] Neste trabalho a rede de classificaccedilatildeo deimagens VGG [2] (figura 221) foi modificada e depois de algumas adaptaccedilotildees (ver sec 242) foientatildeo criada a rede VGGish (figura 32) que tem como objetivo classificar aacuteudio Depois de treinarmilhotildees de exemplares verificou-se numa camada bottleneck (ver sec 242) a meio da CNN umconjunto de valores que representa de forma compacta a informaccedilatildeo relevante para a classificaccedilatildeo dosegmento de aacuteudio Eacute entatildeo por essa razatildeo que o AudioSet disponibiliza apenas os 128 valores desta

29

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

30 Suporte ao desenvolvimento

saiacuteda bottleneck Estes representam de uma forma muito eficaz o aacuteudio natildeo sendo necessaacuterio (nempermitido neste caso) disponibilizar os ficheiros de aacuteudio

Figura 31 Estrutura do AudioSet

A arquitetura disponibilizada por parte da google representada na figura 32 soacute estaacute implementadaateacute agrave camada bottleneck pelo que pode ser usada apenas para extrair os 128 valores ou entatildeo parafazer parte de uma CNN maior

Para a entrada desta rede satildeo considerados 64 filtros mel por 96 frames 10ms cada de aacuteudio(96 x 64 x 1) Todos os pesos e biases satildeo inicializados a 0 todas as ativaccedilotildees satildeo ReLU todas asconvoluccedilotildees satildeo 3x3 com stride=1 (ver sec 232) e todos os maxpools satildeo 2x2 com stride=2 (razatildeopela qual a dimensatildeo eacute deduzida sempre para metade) Resumindo a rede recebe matrizes de 96 times 64e resulta numa saiacuteda (bottleneck) de 128 valores

Figura 32 Rede VGGish implementada ateacute ao bottleneck layer

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

31 Bases de Dados 31

Entrada da rede VGGishPara transformar qualquer ficheiro de aacuteudio nas matrizes de dimensatildeo 96 x 64 eacute necessaacuterio umpreacute-processamento de todos os clips O processo utilizado pelo AudioSet tem por base o procedimentoreferido na secccedilatildeo 22 atraveacutes do qual se obteacutem o espetrograma de Mel

A figura 33 mostra o moacutedulo da DFT de um segmento do sinal amostrado a 441kHz Tal comose pode verificar as frequecircncias mais elevadas satildeo da ordem dos 20kHz mais concretamente 22050Hertz metade da frequecircncia de amostragem ou frequecircncia de Nyquist Eacute perfeitamente visiacutevel quegrande parte do conteuacutedo espectral estaacute nas baixas frequecircncias pelo que natildeo eacute necessaacuterio um sinalcom uma frequecircncia de amostragem tatildeo elevada A equipa do AudioSet optou entatildeo por convertertodos os sinais para uma frequecircncia de amostragem de 16kHz cuja frequecircncia de Nyquist eacute de 8kHzvalor a partir do qual o conteuacutedo espetral comeccedila a ser irrelevante

Figura 33 FFT do sinal amostrado a 441kHz

Depois de mudar a frequecircncia de amostragem do sinal para 16kHz este eacute multiplicado pela janelade Hann de duraccedilatildeo 25ms (400 amostras) e um avanccedilo (hop) de 10ms (160 amostras)

Terminado o processo anterior a cada segmento que no caso dos clips de 10s satildeo 998lfloor160000minus400160

rfloor+1 = 998

eacute aplicada a DFT e o seu moacutedulo quadrado eacute aplicado ao banco de 64 filtros mel que estatildeocontidos entre os 125 e os 7500Hz Eacute aplicado o logaritmo ao espetograma Mel somado com umo f f set (log(mel+001)) para evitar o logaritmo de zero o que causaria instabilidade O resultado eacute ologaritmo do espetograma em escala Mel de dimensatildeo 998 x 64 (figura 34 1)

Para finalizar a equipa desenvolvedora desta base de dados optou por dividir estes 998 framesem conjuntos de 96 sem sobreposiccedilatildeo resultando assim em 10 matrizes com as mesmas dimensotildeesda entrada da rede VGGIsh 96 x 64 De notar que 998minus (96times 10) = 38 frames satildeo descartadostal como se pode verificar na figura 34 que resume todo o processo aqui explicado O nuacutemero deframes escolhido eacute 96 (10ms cada) uma vez que eacute possiacutevel decimar este valor por 2 5 vezes o que natildeoaconteceria caso o nuacutemero de frames fosse como seria esperado 100

Eacute interessante referir que a entrada da rede VGGish matrizes de 96 x 64 (figura 35) eacute interpretadacomo uma imagem (de um canal) ou seja a rede tentaraacute reconhecer um espetograma que representasom da mesma forma que tenta distinguir imagens de nuacutemeros manuscritos por exemplo

1httpswwwyoutubecomembedFu85jL7q6yEstart=70ampend=80

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

32 Suporte ao desenvolvimento

Figura 34 Processo de obtenccedilatildeo do espectograma Mel

Figura 35 Matriz de entrada da rede VGGish (96 x 64)

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

31 Bases de Dados 33

PCAA saiacuteda da rede vetor de dimensatildeo 128 eacute entatildeo uma boa representaccedilatildeo do clip que foi transformadoem espetograma de Mel e posteriormente processado por toda a VGGish O AudioSet aplica ainda atransformaccedilatildeo de PCA a este vetor Apesar de normalmente esta teacutecnica ser utilizada para reduccedilatildeodimensional neste caso a dimensatildeo manteacutem-se O AudioSet disponibiliza um vetor de meacutedias (128)e uma matriz de vetores proacuteprios (128 x 128) A figura 36 mostra o processo implementado para obtero PCA Eacute mostrado um graacutefico (embedding[21]embedding[14]) de 2 dos 128 valores um em funccedilatildeodo outro A entrada da rede satildeo duas distribuiccedilotildees normais com meacutedias e desvios padratildeo diferentes de160000 pontos cada (10 segundos) Em primeiro lugar os valores satildeo subtraiacutedos agrave sua meacutedia (A) como objetivo de tentar descolar os dados para a origem (meacutedia = 0) Depois de deslocados os dados satildeomultiplicados pela matriz de vetores proacuteprios A multiplicaccedilatildeo por esta matriz que foi obtida combase em muitos exemplares faz com que os dados se desloquem na direccedilatildeo com maior variacircncia (B)De seguida eacute feito o cliping Esta operaccedilatildeo limitaos dados isto eacute dado um intervalo de dois valorestodos aqueles que estiverem fora desse intervalo satildeo empurradosateacute agraves suas arestas (C) Por fimos valores satildeo normalizados num intervalo neste caso [0255] para no final serem convertidos parainteiros de 8 bits (D)

Figura 36 Implementaccedilatildeo do PCA (AudioSet)

Uma vez que o AudioSet natildeo dispotildee dos ficheiros de aacuteudio foi executado um script que ao longode vaacuterias semanas fez o download dos ficheiros de aacuteudio desta base de dados mas apenas as 20 classesque satildeo utilizadas no OpenMic Foram selecionados os ficheiros csv das 20 classes pretendidas Estesficheiros contecircm a informaccedilatildeo necessaacuteria para fazer o download de um video do YouTube dentro dointervalo de tempo correto Quer por direitos de autor ou por restriccedilotildees no que diz respeito agrave regiatildeonatildeo foi possiacutevel obter todos os ficheiros que fazem parte da base de dados Apesar disso a quantidadede exemplares que natildeo se conseguiram obter eacute muito reduzida quando comparada com o total de

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

34 Suporte ao desenvolvimento

ficheiros obtidos (160400) A distribuiccedilatildeo do nuacutemero de exemplares por classes estaacute representada nafigura 37

Figura 37 Distribuiccedilatildeo do nuacutemero de exemplares descarregados

312 OpenMic2018

A base de dados OpenMic2018 [17] eacute uma base de dados que conteacutem 20000 exemplares de trechosde aacuteudio de 20 instrumentos musicais

bull Acordeatildeo

bull Banjo

bull Baixo

bull Violoncelo

bull Clarinete

bull Pratos

bull Bateria

bull Flauta

bull Guitarra

bull Xilofone

bull Bandolim

bull Oacutergatildeo

bull Piano

bull Saxofone

bull Sintetiz

bull Trombone

bull Trompete

bull Ukulele

bull Violino

bull Voz

Esta base de dados tambeacutem ela multi-etiqueta eacute baseada no AudioSet isto eacute a informaccedilatildeodisponiacutevel constitui precisamente a mesma estrutura 10 vetores de 128 valores para cada clip deaacuteudio obtidos atraveacutes do mesmo processo O OM18 tem a vantagem de disponibilizar tambeacutem osseus ficheiros de aacuteudio Pela negativa a informaccedilatildeo que existe para cada clip natildeo eacute relativa a todasas classes mas sim relativa a apenas algumas isto eacute cada clip tem no maacuteximo 4 (das 20) etiquetasanotadas

Para disponibilizar os ficheiros eacute necessaacuterio que estes estejam disponiacuteveis para uso livre aocontraacuterio dos viacutedeos do YouTube e portanto esta BD foi gerada com clips do Free Music Archive(FMA) [9]

O FMA eacute um repositoacuterio online de gravaccedilotildees musicais disponiacuteveis gratuitamente Durante oprocesso de construccedilatildeo do OpenMic foram processados os clips deste arquivo que continham a licenccedilaCreative Commons Posteriormente foi construiacuteda uma DNN (InstrumentDNN) [17] treinada com o

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

31 Bases de Dados 35

Figura 38 Processo de criaccedilatildeo do OpenMic-2018 [17]

conteuacutedo do AudioSet relativo agraves 20 (das 526) classes correspondentes aos instrumentos musicais doOpenMic (instrument model fig 38)

Depois de ter um modelo treinado fizeram passar os dados do FMA pela InstrumentDNN(candidate construction fig 38) e seccionaram para cada classe 1000 clips daqueles quecontinham maior probabilidade e 500 cuja probabilidade era menor (quantile sampling fig 38)Posteriormente os clips foram alvo de um processo chamado croudsourcing (CF fig 38) queconsiste na etiquetagem dos clips mas por parte da populaccedilatildeo Foram selecionados os clips que eramcoerentes entre a InstrumentDNN e o croudsourcing perfazendo o total de 20000 exemplares

Tal como o AudioSet esta eacute tambeacutem uma Weakly Labeled Dataset (WLD) e para aleacutem dissoconta com muitas mais etiquetas negativas do que positivas A figura 39 mostra a distribuiccedilatildeo dasanotaccedilotildees para cada classe

Figura 39 Distribuiccedilatildeo das anotaccedilotildees por classe [17]

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

36 Suporte ao desenvolvimento

313 PureMic

Precisamente pelo facto de o AudioSet e o OpenMic terem etiquetas fracas surgiu a necessidade deno acircmbito do presente trabalho construir uma base de dados com etiquetas fortes (SLD) O PureMic eacuteuma contribuiccedilatildeo para este trabalho que foi construiacuteda com base nos exemplares do AudioSet e tendoem conta as 20 classes do OpenMic2018 Depois de descarregar os ficheiros do AudioSet tornou-sepossiacutevel a construccedilatildeo desta base de dados

Esta nova e original base de dados foi construiacuteda de forma a garantir que cada clip tem um eum soacute instrumento podendo assim garantir que em todos os 10 segundos de aacuteudio um determinadoinstrumento estaacute presente Foi necessaacuterio ouvir atraveacutes de mono-avaliaccedilatildeo vaacuterios exemplares doAudioSet ateacute chegar a 50 clips por instrumento resultando num total de 1000 clips de 10 segundoscada Eacute normal que apesar de conter apenas um instrumento possam por vezes haver momentos desilecircncio e por essa razatildeo foi acrescentada uma 21ordf classe que representa precisamente o silecircncio queem muitos casos tambeacutem eacute uacutetil ser classificado Com esta nova classe o PureMic conta com 1058exemplares com etiquetas fortes

Uma vez que foi feita com base no AudioSet deve seguir os mesmos paracircmetros e portanto natildeoeacute permitido disponibilizar os ficheiros de aacuteudio Tal como no AudioSet eacute possiacutevel disponibilizar oidentificador do YouTube o tempo de iniacutecio e fim do clip e as etiquetas que neste caso eacute apenas umapor clip A base de dados seraacute entatildeo disponibilizada para uso livre

314 Preparaccedilatildeo dos dados

Para que os modelos funcionem da melhor forma possiacutevel eacute necessaacuteria uma anaacutelise intensiva epreparaccedilatildeo cuidada dos dados para assim o modelo pelo qual se opta poder tirar o maacuteximo partido dasua arquitetura Esta secccedilatildeo explica entatildeo alguns conceitos relacionados com o tratamento de dadosque seratildeo abordados mais agrave frente em paralelo com a implementaccedilatildeo do trabalho praacutetico

A entrada da rede VGGish eacute de 96 frames de 10ms cada por 64 filtros Cada clip conteacutem 10entradas para a rede (10 x 96 x 64) portanto satildeo necessaacuterias metodologias para resolver este problemajaacute que soacute eacute permitido processar uma de cada vez O meacutetodo proposto pela baseline (trabalho dereferecircncia) do OpenMic calcula a meacutedias dos 10 embbedings (depois de passarem cada um pelaVGGish) e assim obteacutem apenas um embedding por clip (figura 310 2)

Esta teacutecnica diminui consideravelmente o nuacutemero de dados (10 vezes menos) o que em casoscomo a BD PureMic eacute desvantajoso jaacute que conta com poucos exemplares quando comparada com asrestantes

Uma outra abordagem consiste em atribuir aos embeddings as etiquetas do seu clip que nestecaso levaria a 10 exemplares por clip Esta abordagem pode levar a resultados piores se as bases dedados forem WLD Uma classe pode estar presente apenas no iniacutecio mas ao assumir a etiqueta (ouetiquetas) do clip os instantes finais herdam uma etiqueta que natildeo lhes corresponde Como a BDPureMic conteacutem apenas um instrumento por clip que foi escolhido com cuidado esta abordagem eacutemais vantajosa do que a anterior jaacute que multiplica o nuacutemero de exemplares por 10

Desta forma existem mais duas formas de apresentar os dados

bull Fazendo a meacutedia - 1 embedding por clip (1times128)2httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

31 Bases de Dados 37

Figura 310 Meacutedia dos embeddings

bull Assumindo que as instacircncias tecircm todas a etiqueta do clip a que correspondem - 10 embeddingspor clip (10times128)

Um paracircmetro que tambeacutem se pode alterar quando os ficheiros de aacuteudio estatildeo disponiacuteveis eacute oavanccedilo para a obtenccedilatildeo das matrizes de entrada da rede VGGish (96 x 64) O Audioset optou porprocessar estas matrizes sem sobreposiccedilatildeo (avanccedilo de 96 frames) razatildeo pela qual os 10 segundos decada exemplar satildeo representados por uma matriz de dimensotildees 10 x 96 x 64

Uma vez que este projeto tenta resolver um problema em tempo real pretende-se diminuir esteavanccedilo Os dados foram preacute-processados de forma a obter novos dados que em vez de avanccedilar 096savanccedilam 10ms (1 frame) ou 100ms (10 frames) o que permite uma maior resoluccedilatildeo temporal Quantomaior a resoluccedilatildeo maior a quantidade de dados Natildeo eacute possiacutevel aumentar a resoluccedilatildeo para aleacutem dos10ms porque esse eacute o intervalo de tempo a que corresponde cada uma das 96 colunas da matriz Poroutras palavras o avanccedilo utilizado aquando do calculo da STFT eacute de 10ms

Acrescem agora mais trecircs formas de apresentar os dados com trecircs resoluccedilotildees temporais distintas

bull avanccedilo de 096s (sem sobreposiccedilatildeo) - 10 matrizes

bull avanccedilo de 100ms - 91 matrizes

bull avanccedilo de 10ms - 903 matrizes

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

38 Suporte ao desenvolvimento

Figura 311 Diferentes Resoluccedilotildees temporais

K-fold Cross Validation

Quando o nuacutemero de dados natildeo eacute suficiente a teacutecnica de K-fold Cross Validation eacute muito utilizadaEsta teacutecnica em primeiro lugar divide os dados em K folds de tamanho igual Posteriormente omodelo eacute treinado com K-1 folds e testado com o fold que foi excluiacutedo Este processo de treino eacuteentatildeo repetido K vezes sendo que cada uma das novas iteraccedilotildees deve conter um fold de teste que aindanatildeo tenha sido utilizado A figura 312 ajuda a clarificar a forma como esta teacutecnica eacute implementada

Figura 312 Implementaccedilatildeo da teacutecnica cross fold validation

No caso da figura 312 obtecircm-se no fim dos 5 treinos 5 resultados que juntos representam melhora performance do classificador Com apenas um treino podem por coincidecircncia os dados de testeindicar um resultado que na verdade natildeo eacute aquele que o modelo representa

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

32 Otimizaccedilatildeo 39

Esta teacutecnica requer que os dados sejam misturados para que a sua distribuiccedilatildeo seja aleatoacuteria masdeve haver precauccedilatildeo na divisatildeo treinoteste no sentido de garantir que se um determinado instantedo clip P pertencer ao conjunto de treino os restantes instantes pertencentes ao mesmo clip P devempertencer ao mesmo conjunto Seria muito faacutecil obter resultados falaciosos se todos os instantesreservados para teste pertencessem a clips que tambeacutem teriam instantes no conjunto de treino Eacutesuposto neste tipo de teacutecnicas os dados de teste serem completamente novos e desconhecidos para arede coisa que natildeo aconteceria neste caso Assim a divisatildeo de dados para o cross fold validationseraacute feita com base nos clips e soacute depois de estes estarem atribuiacutedos ao respectivo conjunto sedesdobramem 10 91 ou 903 vetores (de dimensatildeo 128) por clip

32 Otimizaccedilatildeo

Esta secccedilatildeo retrata algumas teacutecnicas essenciais para que as implementaccedilotildees sejam mais eficientes emenos pesadas a niacutevel computacional Apesar da utilidade de algumas teacutecnicas a utilizaccedilatildeo de umaGPU capaz de processar uma enorme quantidade de dados em paralelo eacute a forma de otimizaccedilatildeo quepermite uma maior reduccedilatildeo do tempo de processamento Consequentemente permite uma maiorfacilidade na execuccedilatildeo de todo o trabalho

Monitorizaccedilatildeo durante o treinoGeralmente tem-se sempre acesso ao valor da funccedilatildeo de custo ao longo do treino mas eacute tambeacutempossiacutevel monitorizar outras meacutetricas durante este periacuteodo A funccedilatildeo de custo que eacute usada para aotimizaccedilatildeo apenas utiliza os dados de treino sendo normalmente os dados de teste utilizados no fimdo treino para atribuir uma pontuaccedilatildeo agrave rede Eacute tambeacutem praacutetica comum calcular o valor da funccedilatildeode custo para os dados de teste ao longo do treino (ao fim de cada eacutepoca) sem deixar que estesinfluenciem a otimizaccedilatildeo No fundo serve apenas para ter uma ideia de como a rede se comporta comdados que natildeo conhece

O valor da funccedilatildeo de custo para os dados de treino tende sempre a decrescer mas nem sempre ateacuteao seu miacutenimo absoluto Acontece que as redes neuronais comeccedilam a decorar os dados de treino emvez de os generalizar o que leva a um novo aumento do custo relativamente aos dados de teste Ofacto de poder seguir a funccedilatildeo de custo ao longo do treino mas calculada com base nos dados de testeeacute excelente para evitar este fenoacutemeno chamado overfitting (figura 3133)

O overfitting (figura 313) acontece precisamente no ponto em que o custo dos dados de testecomeccedila a crescer e em contraste o custo dos dados de treino continua a diminuir o que supostamenteestaria a melhorar a rede A partir do momento em que ocorre overfitting deixa de ser vantajosocontinuar a treinar

Early stopPara evitar a ocorrecircncia do overfitting eacute comum utilizar a teacutecnica de early stop Eacute precisamente noinstante assinalado na figura 313 que ocorre o early stop isto eacute por mais eacutepocas que ainda faltassemtreinar o treino eacute interrompido jaacute que natildeo era vantajosa a sua continuaccedilatildeo Resulta assim uma redemais capaz de identificar os padrotildees pretendidos

3httpscommonswikimediaorgwikiFileOverfitting_svgsvgmediaFileOverfitting_svgsvg

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

40 Suporte ao desenvolvimento

Figura 313 Valor do custo dos dados de treino e de teste ao longo de vaacuterias eacutepocas

hyperparameter tunning

Um dos principais objetivos quando se implementa um modelo de deep Learning eacute encontraros hyperparametros que levam ao melhor resultado Estes paracircmetros podem ser a configuraccedilatildeo daarquitetura da rede o tipo de funccedilotildees de ativaccedilatildeo o learning rate entre muitos outros que fazemcom que a procura pela melhor configuraccedilatildeo seja muito demorada e muito dispendiosa a niacutevelcomputacional Hyperparameter tunning eacute o processo que tenta precisamente encontrar a melhorconfiguraccedilatildeo dos vaacuterios paracircmetros a considerar Existem certas configuraccedilotildees que agrave partida satildeomelhores do que outras mas nada nos garante que natildeo estejamos a considerar certos pormenores quepodem fazer a diferenccedila principalmente quando o objetivo eacute melhorar a performance da rede pormais pequena que esta melhoraria possa ser

Grid SearchGrid Search eacute uma teacutecnica que ajuda a resolver o problema referido Considerando por exemplo quequeremos experimentar 5 paracircmetros na rede implementada como por exemplo

1 Nuacutemero de layers da rede 12 ou 3

2 Nuacutemero de neuroacutenios de cada layer 1024 ou 2048

3 Learning rate 001 ou 0001

4 Funccedilatildeo de ativaccedilatildeo sigmoid ou softmax

5 Nuacutemero de eacutepocas 100 ou 150

Atraveacutes da teacutecnica de Grid Search o modelo eacute entatildeo treinado 3times2times2times2times2 = 48 vezes nuacutemerode todas as configuraccedilotildees possiacuteveis com estes 5 paracircmetros As meacutetricas a registar podem ser vaacuterias ea secccedilatildeo seguinte ajuda a clarificar este conceito A ideia eacute que se deve registar para cada uma das 48iteraccedilotildees a meacutetrica pretendida e no fim verificar qual a melhor Isto indica qual a melhor configuraccedilatildeoou pelo menos daacute uma ideia para onde esta tende A framework TensorBoard explicada na secccedilatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

33 Meacutetricas 41

41 ajuda muito neste processo assim como a utilizaccedilatildeo de uma GPU A utilizaccedilatildeo desta unidade deprocessamento diminui consideravelmente o tempo de computaccedilatildeo

33 Meacutetricas

Para poder comparar os resultados de vaacuterios modelos e ter a noccedilatildeo se uma determinada implementaccedilatildeoestaacute num bom caminho ou natildeo eacute necessaacuterio ter uma referecircncia isto eacute um ou mais nuacutemeros queavaliem as implementaccedilotildees utilizadas Geralmente representados em percentagens este tipo de valoreschamam-se meacutetricas e existem vaacuterias capazes de se adaptar ao problema em causa O tipo de meacutetricaa escolher varia consoante o tipo de problema ou seja se eacute multi etiqueta multi classe se a base dedados estaacute equilibrada e pode tambeacutem depender do tipo de finalidade que se pretende Ao longo destasecccedilatildeo seratildeo clarificados todos os pormenores acerca das meacutetricas a utilizar Geralmente uma meacutetricaque avalia um determinado modelo eacute obtida apenas atraveacutes dos dados que foram guardados para testejaacute que satildeo dados que a rede desconhece simulando assim um caso real

331 Meacutetricas dependentes de um limiar

Supondo que se pretende identificar uma guitarra em diversos exemplares que contecircm sons de vaacuteriosinstrumentos musicais ou seja eacute necessaacuterio decidir entre guitarra ou natildeo guitarra Depois de treinarum determinado modelo os resultados da fase de teste correspondem agrave probabilidade de cada exemplarconter uma guitarra Estas probabilidades podem ser representadas pelo histograma representado nafigura 3144

Figura 314 Histograma da classificaccedilatildeo de uma classe

As meacutetricas dependentes de um limiar ou threshold tecircm em conta um limiar que deveraacutemaximizar a meacutetrica escolhida Neste caso e geralmente esse limiar deve ter o valor de σ = 05 Estevalor tipicamente escolhido quando trabalhamos com probabilidades (por ser o valor intermeacutedio)diz-nos que os exemplares com probabilidades a baixo de σ satildeo considerados como natildeo guitarrae por outro lado quando a probabilidade eacute superior a σ o exemplar eacute considerado como guitarra

4httpscommonswikimediaorgwikiFileReceiver_Operating_Characteristicpng

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

42 Suporte ao desenvolvimento

Eacute importante dizer que este limiar serve para decisatildeo jaacute que o valor verdadeiro (ground truth) detodos os exemplares eacute previamente conhecido e inalteraacutevel Eacute normal que probabilidades perto dolimiar contenham erros isto eacute um exemplar com probabilidade de 051 eacute considerado (predicted)positivo mas estaacute tatildeo perto do negativo que podemos estar perante um falso positivo ou seja apesarde a decisatildeo ter sido guitarra o ground truth deste exemplar eacute natildeo guitarra Portanto em algumasaplicaccedilotildees e dependendo do objetivo de quem as implementa pode ser uacutetil deslocar este threshold

Matrizes de confusatildeoFalso positivo palavra utilizada no paraacutegrafo anterior eacute um dos quatro termos associados a umamatriz de confusatildeo (figura 315) Estes termos tambeacutem representados na figura 314 dependem talcomo se pode verificar do threshold escolhido e significam o seguinte

bull True Positives (TP) Casos em que a decisatildeo eacute guitarra e o ground truth do exemplar tambeacutemo eacute

bull True Negatives (TN) Casos em que a decisatildeo eacute natildeo guitarra e o groundtruth deste exemplar eacuteigual agrave decisatildeo tomada

bull False Positives (FP) Casos em que a decisatildeo eacute guitarra mas na verdade natildeo corresponde aoground truth deste exemplar que eacute natildeo guitarra

bull False Positives (FN) Casos em que a decisatildeo eacute natildeo guitarra mas ao contraacuterio do que foiprevisto o ground truth para este exemplar eacute guitarra

Como se percebe facilmente o ideal seria que natildeo houvesse nem False Positives nem FalseNegatives o que faria com que o valor de qualquer meacutetrica fosse 100 Em problemas da vida realeste cenaacuterio eacute praticamente impossiacutevel de acontecer

Figura 315 Matriz de confusatildeo de uma classe

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

33 Meacutetricas 43

PrecisatildeoEsta meacutetrica responde agrave pergunta Daqueles que se decidiram como guitarra quantos eacute que efectivamentesatildeo que pode ser representada atraveacutes da foacutermula

Precisao =T P

T P+FP(31)

Eacute uma meacutetrica que daacute entatildeo importacircncia aos exemplares positivos descartando os negativosEacute possiacutevel obter uma precisatildeo muito elevada valor que pode ser enganoso se pretendermos que oclassificador neste caso seja tambeacutem capaz de rejeitar exemplares de uma forma eficiente A proacuteximameacutetrica explica melhor este caso

RecallRecall sensibilidade ou true positive rate (TPR) satildeo os nome que se podem dar a esta meacutetrica Apergunta agrave qual esta meacutetrica responde eacute Quantos dos exemplares que satildeo efetivamente guitarra eacute queforam classificados como tal e a formula que a representa eacute a seguinte

Recall =T P

T P+FN(32)

Ao contraacuterio da precisatildeo esta meacutetrica daacute valor a quantos dos exemplares guitarra foramclassificados como tal descartando exemplares cujo ground truth eacute natildeo guitarra mas que tambeacutem satildeoclassificados como guitarra O recall tal como a meacutetrica anterior tambeacutem pode entatildeo induzir emerro quando eacute muito elevado Geralmente quando uma meacutetrica eacute 100 a outra pode ser proacutexima dos0 portanto deve existir um tradeoff entre as duas com o objetivo de as equilibrar Este equiliacutebrio eacutedeterminado pelo threshold escolhido A figura 316 ajuda a entender quando eacute que as meacutetricas podemter valores muito elevados mas que natildeo eacute propriamente vantajoso para a aplicaccedilatildeo que se pretende

Figura 316 Precisatildeo e recall elevados

F1 ScoreFinalmente o F1 Score eacute uma meacutetrica que combina as duas anteriores num soacute valor A sua foacutermulacorresponde agrave meacutedia harmoacutenica entre a precisatildeo e o recall

F1 =2times precisaotimes recall

precisao+ recall(33)

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

44 Suporte ao desenvolvimento

Eacute uma meacutetrica que eacute muito uacutetil quando as bases de dados satildeo desequilibradas isto eacute quando onuacutemero de exemplares positivos eacute muito maior ou muito menor que o nuacutemero de exemplares negativos

AccuracyMuitas vezes para simplificar e tambeacutem quando natildeo se pretende olhar para as meacutetricas anteriormentefaladas a accuracy ou exatidatildeo eacute uma meacutetrica que representa a taxa de acertos total

Accuracy =T P+T N

T P+T N +FP+FN(34)

Quando o nuacutemero de classes eacute superior a 2 esta meacutetrica pode ser representada pela meacutedia dasaccuracies de cada classe Apesar de ser um meacutetrica bastante abrangente falha quando as bases dedados satildeo desiquilibradas

Fall-outEsta meacutetrica tambeacutem chamada de False positive Rate (FPR) eacute menos utilizada como referecircncia masmuito utilizada para construir o graacutefico AUC (ver a seguir) razatildeo pela qual seraacute aqui abordada A suafoacutermula eacute a seguinte

FPR =FP

FP+T N(35)

Ao contraacuterio das meacutetricas anteriores o valor ideal desta eacute 0 ou seja o objetivo passa pela suaminimizaccedilatildeo

332 Meacutetricas independentes de um limiar

Uma vez que nem sempre eacute necessaacuterio decidir (escolher o limiar) e eacute mais vantajoso analisaros modelos para todas as possibilidades existem meacutetricas que atraveacutes de um nuacutemero conseguemrepresentar a pontuaccedilatildeo de um modelo sem que seja necessaacuterio atribuir um thershold para a decisatildeo

Receiver Operating CharacteristicReceiver Operating Characteristic (ROC) ou ROC Curve eacute um graacutefico que representa a performancede um determinado classificador Este graacutefico ilustra uma curva do recall em funccedilatildeo do Taxa de FalsosPositivos (FPR) para todos os thresholds possiacuteveis A figura 317 representa um exemplo deste tipo degraacuteficos

A aacuterea por de baixo da curva representada (Area Under Curve) ou AUC eacute entatildeo uma meacutetricaque representa a performance do classificador sem especificar algum threshold Quando o problemaconteacutem mais do que uma classe eacute feita a meacutedia de todas as AUCrsquos resultando finalmente na mAUC(mean Area Under Curve)

O ponto que maximiza a AUC assinalado na figura eacute ponto cujo recall eacute 1 mas o FPR eacute 0

Precision Recall CurveMuito semelhante agrave AUC a curva de precision Vs recall representa tal como o nome indica a precisatildeoem funccedilatildeo do recall e um exemplo deste tipo de graacutefico estaacute representado na figura 318

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

33 Meacutetricas 45

O nome que se daacute agrave area por de baixo desta curva chama-se desta vez Average Precision (AP)e no caso de multi-classes a meacutetrica que representa a performance total do classificador eacute a meacutediadestas aacutereas chamada mAP (mean Average Precision)

O ponto que maximiza esta aacuterea neste caso e como eacute espectaacutevel por anaacutelise agrave secccedilatildeo anterior eacutequando a precisatildeo e o recall satildeo ambos 1

Figura 317 Curva ROC Figura 318 Curva Precision Recall

No fundo ambas as meacutetricas indicam o quanto misturadas as classificaccedilotildees estatildeo (em casos comoo da figura 316) Idealmente se houvesse um limiar que conseguisse separar as duas classificaccedilotildees eobter 100 tanto para a precisatildeo como para o recall a aacuterea de ambas as curvas seria 1

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Capiacutetulo 4

Desenvolvimento

Este capiacutetulo eacute dedicado agrave explicaccedilatildeo de como todo o trabalho foi desenvolvido

41 Ferramentas utilizadas - Frameworks

No acircmbito deste projeto seraacute utilizada a linguagem de programaccedilatildeo de alto niacutevel interpretada oPython Esta linguagem dispotildee de diversas bibliotecas essenciais para a realizaccedilatildeo deste projetosendo que seratildeo destacadas as mais importantes

bull TensorFlow (TF) Eacute das bibliotecas mais utilizadas para tratar problemas de machine learningEsta biblioteca foi desenvolvida pela equipa Google Brain para contribuir para a investigaccedilatildeonas aacutereas de machine learning e Redes Neuronais profundas Este tipo de redes trabalhamcom arrays multi-dimensionais ou por outras palavras tensores de onde vem o nome destabiblioteca Eacute uma biblioteca que trabalha com redes neuronais a muito baixo-niacutevel pelo que eacutepossiacutevel configurar todos os pormenores por mais evidentes que possam ser Tambeacutem seratildeoutilizadas algumas ferramentas disponiacuteveis com a proacutexima versatildeo TF20

bull Keras eacute uma API de alto-niacutevel que funciona por cimado TensorFlow Simplifica os problemasde baixo-nivel do TF sendo ideal para implementaccedilotildees mais raacutepidas e menos pormenorizadasPara aleacutem disso estaacute bem documentada o que faz desta API excelente para quem pretendecomeccedilar com este tipo de bibliotecas

bull TensorBoard Ainda relacionada com o TensorFlow esta ferramenta eacute excelente para fazerdebugging das implementaccedilotildees efetuadas Permite vizualizar graacuteficos de meacutetricas histogramascomparar hyper-parametros entre muitas outras ferramentas de visualizaccedilatildeo que tecircm muitautilidade Eacute esta a ferramenta utilizada para implementar o grid-search teacutecnica jaacute abordadaanteriormente

bull scikit-learn Biblioteca desenvolvida para python que inclui vaacuterios algoritmos de classificaccedilatildeoregressatildeo e clustering alguns deles utilizados para o desenvolvimento do projeto Para aleacutemdisso inclui ferramentas tambeacutem uacuteteis para o caacutelculo e apresentaccedilatildeo de vaacuterios tipos de meacutetricas

47

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

48 Desenvolvimento

42 Otimizaccedilatildeo dos Modelos

Para obter a arquitectura ideal foi efetuadada a teacutecnica de grid search (ver sec 32) para obter oshyperparametros ideais O recurso agrave GPU Nvidia Geforce GTX 1080 permitiu acelerar significativamentetodo o processo Os paracircmetros considerados no grid search foram os seguintes

bull Nuacutemero de neuroacutenios na primeira camada 512 1024 2048 ou 4096

bull Nuacutemero de neuroacutenios na segunda camada 512 1024 2048 ou 4096

bull Otimizador Adam SGD Adagrad RMSprop

bull learning rate 00001 0001 ou 001

bull tamanho do batch 512 1024 ou 2048

Antes de efetuar este processo foi feito um grid search apenas para decidir quantas camadas seusariam razatildeo pela qual esse natildeo eacute um paracircmetro a explorar dentro dos referidos anteriormente

43 Dados disponiacuteveis

Como ponto de partida tem-se entatildeo os seguintes dados

bull AudioSet 160400 ficheiros de aacuteudio e os respetivos embeddings (160400 x 10 x 128) com 20classes e etiquetas fracas

bull OpenMic-2018 20000 ficheiros de aacuteudio e os respetivos embeddings (20000 x 10 x 128) com20 classes e etiquetas fracas

bull PureMic 1058 ficheiros de aacuteudio e os respetivos embeddings (1058 x 10 x 128) com 21 classese etiquetas fortes Um e um soacute instrumento por clip

Com base nos procedimentos indicados na secccedilatildeo 314 a tabela 41 indica as abreviaturas dasdiferentes configuraccedilotildees abordadas tomando como exemplo uma base de dados de 3 exemplares de 10segundos cada Estas abreviaturas faratildeo parte consoante a configuraccedilatildeo do nome das bases de dadosoriginais A tabela 42 resume todas as bases de dados a ser utilizadas ao longo do desenvolvimento

Tabela 41 Abreviaturas das diferentes configuraccedilotildees

Abreviatura da configuraccedilatildeo Descriccedilatildeo DimensatildeoMEAN meacutedia dos embeddings de cada clip 3 x 128R096 Resoluccedilatildeo temporal de 96 frames (fig 311) 3 x 10 x 128R10 Resoluccedilatildeo temporal de 10 frames (fig 311) 3 x 91 x 128ALL_R10 juntam-se todos os embeddings (resoluccedilatildeo R_10) 273 x 128

Seroa de esperar que o suposto nuacutemero de embeddings (10 ou 91 por clip consoante a resoluccedilatildeotemporal) multiplicado pelo nuacutemero de clips resulte na dimensatildeo das bases de dados ALL Istoacontece com o OpenMic (14914 x 91 = 1357174) uma vez que os ficheiro satildeo disponibilizados

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

44 Estrateacutegia 49

Tabela 42 Bases de dados a ser utilizadas

Nome da BD Descriccedilatildeo DimensatildeoOM_treino_R10 Set de treino da BD OpenMic-2018 14914 x 91 x 128OM_treino_ALL_R10 OM_treino_R10 com os embeddinggs juntos 1357174 x 128AS_ALL_R10 embeddings do AudioSet juntos 14582011 x 128PM_MEAN meacutedia dos embeddings do PureMic 1058 x 128PM_ALL_R10 embeddings do PureMic juntos 96278 x 128

oficialmente No caso do AudioSet natildeo acontece o mesmo porque alguns dos ficheiros que foramdescarregados atraveacutes do script natildeo tecircm exatamente 10 segundos o que faz diminuir ligeiramente onuacutemero de embeddings Da mesma forma uma vez que proveacutem do AudioSet o PureMic tambeacutem temalguns exemplares com menos de 10 segundos

44 Estrateacutegia

O repositoacuterio do OpenMic disponibiliza uma implementaccedilatildeo de um modelo Random Forest (RF)cuja entrada eacute o vetor de 128 valores A implementaccedilatildeo deste modelo foi utilizada para testar a novabase de dados PureMic A figura 411 mostra uma classificaccedilatildeo feita a cada 10 ms pelo modelo RFtreinado apenas com a BD PM_MEAN 42

Figura 41 Classificaccedilatildeo do RF sem a classe de silecircncio

O momento de silecircncio eacute claramente visiacutevel mas como a rede natildeo conhece este som forccedila ativaccedilatildeo da classe clarinete Isto tambeacutem acontece porque a soma das probabilidades a cada instantetem de ser igual a 1 tal como acontece com a funccedilatildeo de ativaccedilatildeo softmax (ver sec 23)

Ao acrescentar a classe de silecircncio o problema anterior fica resolvido quando recebe momentosde silecircncio o classificador natildeo tem duacutevidas relativamente agrave classe que deve ativar (figura 42)

1httpswwwyoutubecomembed0rA7Sr4WfEUstart=60ampend=70

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

50 Desenvolvimento

Figura 42 Classificaccedilatildeo do RF com a classe de silecircncio

Tal como jaacute referido a PureMic eacute uma SLD ou seja uma base de dados com etiquetas fortes epara aleacutem disso cada clip tem um e um soacute instrumento Assumir desta vez que todas as matrizesherdam a classe do clip a que correspondem agrave semelhanccedila do BOW (ver sec 25) eacute muito maisseguro e tambeacutem aumenta a quantidade de dados Apesar disso eacute inevitaacutevel que estes clips tenhammomentos de silecircncio Eacute tambeacutem por esta razatildeo que a classe de silecircncio surge uma vez que com elaeacute possiacutevel identificar os momentos de silecircncio que apesar de poucos estavam a herdar etiquetas deum determinado instrumento e que na verdade natildeo as mereciam (como aconteceria no exemplo dasfiguras 41 ou 42)

441 PM1

PM1 eacute uma base de dados que tem como finalidade purificar as etiquetas do PureMic Para comeccedilarfoi treinada uma rede neuronal NN_MEAN com a base de dados PM_MEAN (tabela 42) Ameacutedia remove qualquer resoluccedilatildeo temporal natildeo permitindo distinguir os instantes em que ocorre cadainstrumento mas uma vez que a BD conteacutem apenas um instrumento por clip a meacutedia dos 10 segundosconteacutem de certeza informaccedilatildeo do instrumento a que a etiqueta corresponde (mesmo tendo algunsmomentos de silecircncio) Depois de efetuar o grid search os paracircmetros que obtiveram em conjuntomelhores resultados foram 4096 neuroacutenios para a primeira camada 2048 para a segunda com umlearning rate de 0001 tamanho do batch de 512 e o otimizador Adam (figura 43) O nuacutemero deeacutepocas eacute controlado pela teacutecnica de early stopping para evitar o overfitting (secccedilatildeo 32)

Obteacutem-se entatildeo um classificador que ainda natildeo atinge os objectivos pretendidos mas consegue daralgumas certezas relativamente agraves 21 classes 20 instrumentos e a classe de silecircncio que no fundo eacute aque seraacute mais uacutetil para a etapa seguinte

A matriz de confusatildeo da figura A1 mostra o resultado do treino da rede NN_MEAN suportadopelos 5 folds do cross fold validation (ver sec 314) somados Resulta uma accuracy (secccedilatildeo 33)final de 9480

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

44 Estrateacutegia 51

Figura 43 Arquitetura da rede NN_MEAN

Posteriormente seraacute utilizada a base de dados PM_ALL_R10 (tabela 42) Fazendo passar todosestes dados pela rede neuronal NN_MEAN eacute possiacutevel obter classificaccedilotildees no tempo para cada umadas 21 classes tal como acontece na figura 42 Isto permite identificar momentos de silecircncio quetinham a etiqueta do clip a que correspondem Quando num instante a classe de silecircncio eacute classificadaacima de um limiar k1 = 05 a etiqueta desse instante eacute alterada Para aleacutem disso os momentosrestantes tambeacutem devem ser superiores a um limiar k2 = 02 que garante que os frames restantespertencem efetivamente ao instrumento indicado na etiqueta e descarta frames abaixo deste limiarque representam momentos que natildeo satildeo nem de silecircncio nem do suposto instrumento Esta etapa estaacuterepresentada na figura 44 com o nome filtragem Esta figura representa o processo de obtenccedilatildeo dabase de dados PM1 que conta agora com 81032 embeddings

A rede NN_MEAN foi treinada com poucos exemplares e principalmente treinou com a meacutediados embeddings (PM_MEAN) o que significa que natildeo eacute tatildeo sensiacutevel a embeddings purossaiacutedosdirectamente da rede VGGish (com PCA) Uma vez que o silecircncio eacute uma classe que se distinguefacilmente das restantes esta rede serviu apenas para purificar ainda mais a BD PureMic atraveacutes daidentificaccedilatildeo dos momentos onde esta classe ocorre

442 PM2

PM2 eacute uma base de dados que conteacutem exemplares de todas as bases de dados deste projeto Foi entatildeotreinada com a base de dados PM1 uma nova rede neuronal NN_ALL com a mesma arquitetura darede NN_MEAN (figura 43) Esta rede seraacute agora capaz de fazer classificaccedilotildees ao longo do tempouma vez que foi treinada com exemplares de 10 frames de resoluccedilatildeo temporal e sem meacutedia aplicadaA matriz de confusatildeo da figura A2 mostra o resultado do treino da rede NN_ALL suportado pelos 5folds do cross fold validation somados resultando numa accuracy final de 9599 Este resultadovem confirmar que a base de dados PM1 eacute uma base de dados com etiquetas ainda mais fortes Apesarde neste caso haver discriminaccedilatildeo no tempo (cenaacuterio mais suscetiacutevel a erros) os resultados aindaassim satildeo melhores do que no caso anterior (NN_MEAN)

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

52 Desenvolvimento

Figura 44 Processo de obtenccedilatildeo da BD PM1

Com o objetivo de aumentar a base de dados PM1 todos os clips das restantes BDrsquos (OM_treino_ALL_R10e AS_ALL_R10) seratildeo passados pela rede NN_ALL e aqueles onde houver grandes certezas(classificaccedilatildeo gt 085) satildeo guardados Antes de pertencer agrave nova BD PM2 as classificaccedilotildees superioresao limiar teratildeo tambeacutem de corresponder agrave etiqueta do clip (figura 45) Resulta numa BD de 6228472de embeddings

Figura 45 Processo de obtenccedilatildeo da BD PM2

A rede NN_FINAL com a mesa configuraccedilatildeo que as anteriores seraacute a rede final deste projetoEsta rede eacute capaz de identificar instrumentos em tempo real o que permitiraacute fortalecer as etiquetas dabase de dados OpenMic-2018 O facto de poder classificar com uma determinada precisatildeo temporalpermite conhecer a cada instante a classificaccedilatildeo para todas as 21 classes

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

45 Caso Praacutetico 53

45 Caso Praacutetico

A figura 46 mostra a classificaccedilatildeo com resoluccedilatildeo temporal de 10ms ao longo de 10 segundos deum clip do YouTube 2 Eacute interessante verificar que com esta abordagem se notam claramente trecircsclasses que se destacam e que satildeo precisamente as classes associadas a este clip piano violino e

violoncelo tal como se pode verificar na figura 47 que representa um instante do viacutedeo referido

Figura 46 Classificaccedilatildeo de um clip de 10 segundos com resoluccedilatildeo temporal de 1 frame (10 ms)

Isto prova que eacute possiacutevel converter este tipo de classificaccedilotildees no tempo numa etiqueta querepresente os 10 segundos precisamente como as etiquetas disponiacuteveis no AudioSet e OM18 Paraisso seraacute considerada a estrateacutegia de mean pooling que calcula para cada classe a meacutedia de todas asclassificaccedilotildees (neste caso 903)

2httpswwwyoutubecomembed3S32ZCgQMTkstart=300ampend=310

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

54 Desenvolvimento

Figura 47 Imagem correspondente ao viacutedeo que conteacutem o aacuteudio classificado

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Capiacutetulo 5

Resultados e discussatildeo

Este capiacutetulo serve para apresentar e comparar os resultados tendo em conta diversos modelos ediversas BD para teste Os modelos a considerar seratildeo os seguintes

bull OM18-Baseline (RF)

bull Modelo de atenccedilatildeo treinado com a BD OM_treino_R10 (tabela 42)

bull NN_FINAL + Mean Pooling

51 Modelos

Baseline

Como referecircncia o OpenMic-2018 disponibiliza uma baseline que consiste num modelo RandomForest (RF) cujas meacutetricas satildeo avaliadas com base na base de dados de teste do OM18 Estabaseline utiliza 1 classificador binaacuterio para cada instrumento (20 RFrsquos) e a sua entrada eacute a meacutediados 10 embeddings de cada clip Estes resultados apresentados na tabela 51 satildeo a uacutenica referecircnciadisponiacutevel sendo os resultados restantes obtidos no decorrer deste projeto

Modelo de Atenccedilatildeo

O modelo de atenccedilatildeo (ver sec 25) foi replicado do trabalho de Kong et al [21] que disponibilizao coacutedigo para a sua implementaccedilatildeo Os dados utilizados para treino satildeo os da base de dadosOM_treino_R10 (tabela 42) Os resultados satildeo apresentados na tabela 51

NN_FINAL + Mean pooling

Com esta estrateacutegia abordada no capiacutetulo anterior eacute possiacutevel comparar os resultados de umarede que classifica instrumentos ao longo do tempo com a baseline que representa resultados para10 segundos A NN_FINAL classificou todos os embeddings da BD e depois de fazer a meacutedia dasclassificaccedilotildees para cada clip obteve os resultados apresentados na tabela 51

55

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

56 Resultados e discussatildeo

52 Comparaccedilatildeo dos resultados

A tabela 51 mostra os resultados dos modelos testados com a base de dados de teste do OM18

Tabela 51 Resultados Obtidos para o set de teste do OM18

mAP AUCOpenMic-2018 Baseline 079 087Modelo de atenccedilatildeo 081 088NN_FINAL + Mean pooling 072 082

Uma vez que o PureMic conteacutem aacuteudios simples apenas com um instrumento sem ambiguidadeseacute interessante verificar como eacute que BD como o OM18 treinada com alguns milhares de exemplares(149154) se comporta com este tipo de dados mais claros Por essa razatildeo a tabela 51 apresenta osresultados dos mesmos modelos mas aplicados agrave BD de teste do PureMic

Tabela 52 Resultados Obtidos para o set de teste do PureMic

mAP AUCOpenMic-2018 Baseline 075 097Modelo de atenccedilatildeo 089 099NN_FINAL + Mean pooling 099 099

A tabela 51 mostra que o modelo de atenccedilatildeo implementado supera a baseline mas o NN_FINAL+ Mean pooling natildeo Isto deve-se ao facto de o OM conter exemplares muito ruidosos com muitoseventos em simultacircneo ou seja conteacutem poucos excertos de instrumentos a tocar sozinhos ou compoucas interferecircncias Por essa mesma razatildeo a tabela 52 mostra que a baseline tem resultados poucoconsistentes quando testada em instrumentos puros

O set de teste do PureMic tem os dados desequilibrados isto porque havendo 20 classes cada umacom cerca de 50 exemplares e todos eles etiquetados uma classe tem apenas 50 dados positivos emcontraste com 50times19 = 950 dados negativos Com este tipo de bases de dados a meacutetrica AUC natildeotem tanto significado uma vez que eacute uma meacutetrica que considera os TN (True Negatives) contempladosna formula do FPR (False Positive Rate) utilizado para a contruccedilatildeo da curva ROC (secccedilatildeo 33) Comoexistem muito mais dados negativos eacute normal que o valor desta meacutetrica seja elevado quando naverdade natildeo representa correctamente o desempenho dos classificadores Desta forma deve ser maisimportante a meacutetrica AP esta natildeo considera os TN e eacute mais robusta a dados desequilibrados

O graacutefico da figura 51 apresenta os valores da meacutetrica AP para cada instrumento com o set deteste do OM18 O graacutefico da figura 52 apresenta a mesma meacutetrica para o set de teste do PureMic

Quando testados com dados puros o modelo NN_FINAL + Mean pooling tem resultados melhoresEstes resultados satildeo obtidos com base na meacutedia das classificaccedilotildees de cada clip portanto natildeo eacute porhaver alguns frames mal classificados que o resultado final natildeo vai corresponder ao correto A meacutediaatenua este efeito Claro que o facto de pertencer agrave mesma base de dados (apesar de natildeo teremcontribuiacutedo para o treino) pode ajudar a obter resultados melhores tal como tambeacutem acontece nobaseline testado com o seu set de teste

O objetivo eacute que se consigam identificar claramente e apenas instrumentos musicais A ideiaque deu origem a este trabalho pretende identificar instrumentos durante um espetaacuteculo Esses

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

53 Etiquetas OpenMic-2018 57

Figura 51 Average precision por instrumento para o set de teste do OM

Figura 52 Average precision por instrumento para o set de teste do PureMic

instrumentos por norma tecircm o seu sinal acessiacutevel de uma forma limpa (ou por microfone ou no casode instrumentos eletroacutenicos diretamente ligados) tal como os exemplares escolhidos para o PureMicPara aleacutem disso na figura 51 eacute possiacutevel verificar que o modelo NN_FINAL + Mean pooling chega asuperar a baseline em dois casos acordeatildeo e orgatildeo

53 Etiquetas OpenMic-2018

A base de dados OpenMic-2018 tem um total de 400000 etiquetas (20times 20000) Das 400000etiquetas apenas 41265 estatildeo etiquetadas 17611 positivas e 23654 negativas

Ao passar todos os exemplares pelo modelo NN_FINAL + Mean Pooling obtemos as classificaccedilotildeesatribuiacutedas a todos os 20000 exemplares Dependendo do grau de certeza que se pretende pode-se

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

58 Resultados e discussatildeo

contribuir com mais ou menos etiquetas A tabela 53 mostra a relaccedilatildeo entre a percentagem escolhidae nuacutemero de etiquetas que se consegue melhorar A coluna esquerda mostra as etiquetas negativas e acoluna direita as positivas

Tabela 53 Relaccedilatildeo entre a percentagem de certeza e o nuacutemero de etiquetas

percentagem nrordm de exemplaresnegativos

percentagem nrordm de exemplarespositivos

1times10minus10 28617 099 12751times10minus9 30874 095 20781times10minus8 33519 09 27681times10minus7 37017 08 39391times10minus6 41213 065 62981times10minus5 46995 05 9529

No caso em que se pretende mais rigor (primeira linha da tabela) eacute possiacutevel acrescentar agraves 41265etiquetas mais 29892 (cerca de 70 das etiquetas que existiam) No maacuteximo (para os limiaresconsiderados na tabela) eacute possiacutevel contribuir com 56524 etiquetas novas aumentando assim o nuacutemerode dados etiquetados para mais de o dobro

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Capiacutetulo 6

Conclusatildeo e trabalho futuro

Neste trabalho foram desenvolvidos 3 classificadores de instrumentos musicais O nuacutemero deinstrumentos considerado foi de 20 de acordo com a base de dados OpenMic-2018 mais a classede silecircncio que em muitos casos eacute uacutetil que se classifique O modelo NN_MEAN foi utilizado paramelhorar ainda mais as etiquetas da base de dados PureMic uma das contribuiccedilotildees deste trabalhoCom isto a base de dados que jaacute tinha etiquetas fortes tornou-se ainda mais puraatraveacutes da remoccedilatildeode momentos de silecircncio O resultado foi a BD PM1 que foi utilizada para treinar o modelo NN_ALLtestado com dados puros com uma resoluccedilatildeo temporal de 100ms e obteve uma accuracy de 9599(matriz A2) O modelo final NN_FINAL classifica clips de aacuteudio tambeacutem com uma resoluccedilatildeotemporal de 100ms e foi usado para contribuir para o aumento das etiquetas da base de dadosOpenMic-2018 sendo que eacute possiacutevel aumentar o nuacutemero de etiquetas para mais de o dobro (de 41265para 97789)

Para aleacutem de todo o conhecimento ganho em vaacuterios campos como processamento de sinal machinelearning e python e na utilizaccedilatildeo de vaacuterias ferramentas como o TensorFlow TensorBoard latex entreoutros eacute possiacutevel agora atraveacutes do modelo NN_FINAL classificar instrumentos musicais a uma taxade cerca de 1 segundo aplicando este modelo diretamente ao som captado por um microfone

Como trabalho futuro existem teacutecnicas para melhorar o trabalho jaacute realizado como a teacutecnicade data augmentation que procura aumentar os dados que jaacute existem atraveacutes da sua manipulaccedilatildeoTambeacutem existem outras metodologias que podem melhorar a performance dos modelos como o treinoda rede VGGish que neste trabalho foi usada apenas para extrair features Acima de tudo o objetivodeveraacute passar por continuar o projeto que motivou a realizaccedilatildeo desta dissertaccedilatildeo

59

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Bibliografia

[1] R Bro Analytical Methods Principal Component Analysis Royal Society Of Chemistry pages2812ndash2831 2014

[2] C Chung S Patel R Lee L Fu S Reilly T Ho J Lionetti M D George and P TaylorImplementation of an integrated computerized prescriber order-entry system for chemotherapyin a multisite safety-net health system American Journal of Health-System Pharmacy75(6)398ndash406 2018

[3] Dafx Digital Audio Effects 2019 (DAFx 2019)

[4] J D Deng C Simmermacher and S Cranefield A study on feature analysis for musicalinstrument classification IEEE Transactions on Systems Man and Cybernetics Part BCybernetics 38(2)429ndash438 2008

[5] A Diment P Rajan T Heittola and T Virtanen Modified Group Delay Feature for MusicalInstrument Recognition Technical report

[6] A Eronen Comparison of features for musical instrument recognition In Proceedings of the2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (CatNo01TH8575) pages 19ndash22 IEEE

[7] S Essid G Richard and B David Musical instrument recognition on solo performancesundefined 2004

[8] S Essid G Richard and B David Musical Instrument Recognition by pairwise classificationstrategies Technical report 2006

[9] FMA Free Music Archive

[10] J F Gemmeke D P Ellis D Freedman A Jansen W Lawrence R C Moore M Plakal andM Ritter Audio Set An ontology and human-labeled dataset for audio events ICASSP IEEEInternational Conference on Acoustics Speech and Signal Processing - Proceedings pages776ndash780 2017

[11] M Goto H Hashiguchi T Nishimura and R Oka RWC Music Database Popular Classicaland Jazz Music Databases Technical report

[12] S Gururani M Sharma and A Lerch An Attention Mechanism for Musical InstrumentRecognition 2(Miml) 2019

[13] Y Han J Kim and K Lee Deep Convolutional Neural Networks for Predominant InstrumentRecognition in Polyphonic Music IEEEACM Transactions on Audio Speech and LanguageProcessing 25(1)208ndash221 jan 2017

[14] Y Han S Lee J Nam and K Lee Sparse feature learning for instrument identification Effectsof sampling and pooling methods 2290

61

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

62 Bibliografia

[15] R M Hegde H A Murthy and G V Rao The modified group delay feature A new spectralrepresentation of speech 8th International Conference on Spoken Language Processing ICSLP2004 (May 2014)913ndash916 2004

[16] S Hershey S Chaudhuri D P Ellis J F Gemmeke A Jansen R C Moore M Plakal D PlattR A Saurous B Seybold M Slaney R J Weiss and K Wilson CNN architectures forlarge-scale audio classification ICASSP IEEE International Conference on Acoustics Speechand Signal Processing - Proceedings pages 131ndash135 2017

[17] E J Humphrey S Durand and B Mcfee OpenMIC-2018 AN OPEN DATASET FORMULTIPLE INSTRUMENT RECOGNITION 2018

[18] Icassp Home - ICASSP 2020

[19] Irmas IRMAS a dataset for instrument recognition in musical audio signals - MTG - MusicTechnology Group (UPF)

[20] Ismir ISMIR - Home | ISMIR

[21] Q Kong C Yu Y Xu T Iqbal W Wang and M D Plumbley Weakly Labelled AudioSetTagging with Attention Neural Networks (Mil)1ndash12

[22] A Krishna and T Sreenivas Music instrument recognition from isolated notes to solo phrasesIn 2004 IEEE International Conference on Acoustics Speech and Signal Processing volume 4pages ivndash265ndashivndash268 IEEE

[23] T Lee Taejin Park MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEPCONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH TaejinPark and Taejin Lee Electronics and Telecommunications Research Institute ( ETRI ) Republicof Korea Electronics and Telecommunications Research Institute (ETRI) Republic of Korea

[24] P Li J Qian and T Wang Automatic Instrument Recognition in Polyphonic Music UsingConvolutional Neural Networks 2015

[25] K D Martin Sound-source recognition a theory and computational model 1999

[26] Mcadams Stephen McAdams Recognition of Auditory Sound Sources and Events (Thinking inSound The Cognitive Psychology of Human Audition Oxford University Press Oxford 1993)1993

[27] S Mcadams Recognition of sound sources and events In Thinking in SoundThe CognitivePsychology of Human Audition pages 146ndash198 Oxford University Press apr 1993

[28] P D I Milano MUSICAL INSTRUMENTS RECOGNITION A TRANSFER LEARNINGAPPROACH 2018

[29] M Muumlller Fundamentals of Music Processing 2015

[30] S Ruder An overview of gradient descent optimization algorithms Technical report

[31] G Yu and J-J Slotine Audio classification from time-frequency texture pages 1677ndash16802009

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

Apecircndice A

Matrizes de Confusatildeo

63

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

64 Matrizes de Confusatildeo

Figura A1 Matriz de Confusatildeo NN_MEAN

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo

65

Figura A2 Matriz de confusatildeo NN_ALL

  • Conteuacutedo
  • Lista de Figuras
  • Siglas
  • 1 Introduccedilatildeo
    • 11 Motivaccedilatildeo
    • 12 Objetivos
    • 13 Contextualizaccedilatildeo
    • 14 Contribuiccedilotildees
    • 15 Estrutura
      • 2 Estado da arte
        • 21 Perceccedilatildeo do ouvido humano
        • 22 Representaccedilatildeo de sinais de aacuteudio
        • 23 Aprendizagem Automaacutetica
          • 231 Redes Neuronais
          • 232 Redes Neuronais Convolucionais
            • 24 Identificaccedilatildeo de instrumentos musicais
              • 241 Identificaccedilatildeo de instrumentos em muacutesica monofoacutenica
              • 242 Identificaccedilatildeo de instrumentos em muacutesica polifoacutenica
                • 25 Dados com etiquetas fracas
                  • 3 Suporte ao desenvolvimento
                    • 31 Bases de Dados
                      • 311 Audioset
                      • 312 OpenMic2018
                      • 313 PureMic
                      • 314 Preparaccedilatildeo dos dados
                        • 32 Otimizaccedilatildeo
                        • 33 Meacutetricas
                          • 331 Meacutetricas dependentes de um limiar
                          • 332 Meacutetricas independentes de um limiar
                              • 4 Desenvolvimento
                                • 41 Ferramentas utilizadas - Frameworks
                                • 42 Otimizaccedilatildeo dos Modelos
                                • 43 Dados disponiacuteveis
                                • 44 Estrateacutegia
                                  • 441 PM1
                                  • 442 PM2
                                    • 45 Caso Praacutetico
                                      • 5 Resultados e discussatildeo
                                        • 51 Modelos
                                        • 52 Comparaccedilatildeo dos resultados
                                        • 53 Etiquetas OpenMic-2018
                                          • 6 Conclusatildeo e trabalho futuro
                                          • Bibliografia
                                          • egingroup immediate write unused def MessageBreak let protect edef Your command was ignoredMessageBreak Type I ltcommandgt ltreturngt to replace it with another commandMessageBreak or ltreturngt to continue without it errhelp let def MessageBreak (inputenc) def errmessage Package inputenc Error Unicode char ecircnd (U+DC)MessageBreak not set up for use with LaTeXSee the inputenc package documentation for explanationType H ltreturngt for immediate help endgroup iceaAendcsname 13elax 0thornyumlApecircndice A Matrizes de Confusatildeo