UNIVERSIDADE ESTADUAL PAULISTA “JULIO DE MESQUITA FILHO” Instituto de Ciências e Tecnologia Campus de Sorocaba VINICIUS MORAES SANTOS Reconhecimento de Emoções Através da Fala Utilizando Redes Neurais Sorocaba 2022 VINICIUS MORAES SANTOS RECONHECIMENTO DE EMOÇÕES ATRAVÉS DA FALA UTILIZANDO REDES NEURAIS Trabalho de Conclusão de Curso apresentado ao Instituto de Ciência e Tecnologia de Sorocaba, Universidade Estadual Paulista (UNESP), como parte dos requisitos para obtenção do grau de Bacharel em Engenharia de Controle e Automação. Orientador: Prof. Dr. Márcio Alexandre Marques Coorientador: Dr. Thiago Gonçalves dos Santos Martins Sorocaba 2022 AGRADECIMENTOS Agradeço minha família, amigos e colegas, pela companhia e direcionamento durante as etapas da minha vida. Agradeço também pelo apoio dos meus professores, coordenadores, diretores e ao setor administrativo, que possibilitaram uma formação de qualidade para mim como aluno e profissional. Além das instituições acadêmicas que foram essenciais para minha formação. Agradeço em especial ao meu orientador Professor Márcio, e ao coorientador Thiago, que estiveram comigo durante essa longa jornada de pesquisa e aprendizado, sempre me ajudando e apoiando na conduta desta pesquisa. Por fim, agradeço minha namorada Beatriz por todo apoio, suporte e auxílio com a formatação. O insucesso é apenas uma oportunidade para recomeçar com mais inteligência. Henry Ford SANTOS, V. M. Reconhecimento de emoções através da fala utilizando redes neurais. 2022. 42 f. Trabalho de Graduação (Bacharel em Engenharia de Controle e Automação) - Instituto de Ciências e Tecnologia, Universidade Estadual Paulista, Sorocaba, 2022 RESUMO Aplicações que detectam o estado emocional de pacientes se apresentam como uma alternativa para lidar com pessoas passando por grandes cargas emocionais, como pacientes com COVID- 19 em isolamento. Essas ferramentas detectam o estado emocional utilizando técnicas não invasivas como sons e fala produzidos pelo paciente. Com o objetivo de avaliar a união de técnicas de análise de áudio e modelos de aprendizado de máquina que detectam o estado emocional, avaliou-se o desempenho de redes neurais convolucionais (CNN) associadas a três técnicas de análise áudio para classificação de emoções através da fala. A primeira técnica avaliada, transformada de Fourier de tempo curto (STFT), apresentou acurácia de 23% para o processo de treinamento realizado com 75 épocas. Ao utilizar essa abordagem o modelo foi incapaz de extrair padrões dos dados de entrada, resultando no processo de underfitting. A segunda técnica utilizada, o espectrograma Mel, reduziu significativamente o tempo de processamento total do modelo e apresentou acurácia de aproximadamente 100% para o conjunto de treinamento. No entanto, o aprendizado obtido na etapa de treinamento não foi observado para o conjunto de teste, com acurácia de 28%, indicando que o modelo se especializou nos dados, resultando no processo de overfitting. A última técnica utilizada, coeficientes cepstrais de frequência Mel (MFCC), apresentou resultados superiores as demais técnicas, com o menor tempo de processamento e melhor desempenho nas etapas de treinamento e teste, atingindo uma acurácia de 68%. Ao aumentar o número de amostras e camadas de processamento da rede CNN, foi possível aumentar o desempenho ainda mais, atingindo acurácia de 86%. Portanto, o classificador de emoções através da fala, baseado na combinação de redes neurais convolucionais e técnicas de áudio, apresentou o melhor desempenho ao utilizar como técnica de análise a MFCC. Palavras-Chave: Aprendizado de máquina; redes neurais; CNN; análise de áudio. SANTOS, V. M. Recognition of emotions through speech using neural networks. 2022. 42 f. Graduation work (Bachelor in Control and Automation Engineering) - Instituto de Ciências e Tecnologia, Universidade Estadual Paulista, Sorocaba, 2022 ABSTRACT Applications that detect the emotional state of patients present themselves as an alternative to deal with people experiencing great emotional burdens, such as patients with COVID-19 in isolation. These tools detect emotional state using non-invasive techniques such as sounds and speech produced by the patient. In order to evaluate the combination of audio analysis techniques and machine learning models that detect emotional state, the performance of convolutional neural networks (CNN) associated with three audio analysis techniques for classifying emotions through the speaks. The first technique evaluated, short-time Fourier transform (STFT), showed an accuracy of 23% for the training process performed with 75 epochs. When using this approach, the model was unable to extract patterns from the input data, resulting in the underfitting process. The second technique used, the Mel spectrogram, significantly reduced the total model processing time and presented an accuracy of approximately 100% for the training set. However, the learning obtained in the training stage was not observed for the test set, with an accuracy of 28%, indicating that the model specialized in the data, resulting in the overfitting process. The last technique used, Mel frequency cepstral coefficients (MFCC), presented superior results to the other techniques, with the shortest processing time and better performance in the training and test stages, reaching an accuracy of 68%. By increasing the number of samples and processing layers of the CNN network, it was possible to increase the performance even more, reaching an accuracy of 86%. Therefore, the emotion classifier through speech, based on the combination of convolutional neural networks and audio techniques, presented the best performance when using MFCC as an analysis technique. Keywords: Machine learning; neural networks; CNN; audio analysis. LISTA DE FIGURAS FIGURA 1 - Exemplo do processo de classificação para as classes gato e cachorro .............. 18 FIGURA 2 - Representação de uma rede neural e seus neurônios ........................................... 20 FIGURA 3 - Representação da matriz de confusão para as classes gato e cachorro ............... 21 FIGURA 4 - Camadas que compõem a arquitetura de uma CNN............................................ 25 FIGURA 5 - Implementação de um classificador, etapas de construção, treinamento e avaliação ................................................................................................................................... 26 FIGURA 6 - Forma de ondas dos áudios com relação ao tempo ............................................. 29 FIGURA 7 - Processo de transformação e carregamento de dados na CNN ........................... 30 FIGURA 8 - Espectrogramas obtidos utilizando a STFT para as diferentes emoções presentes no conjunto RAVDESS ............................................................................................................ 31 FIGURA 9 - Histórico de treinamento do modelo utilizando a STFT, 50 épocas ................... 32 FIGURA 10 - Histórico de treinamento do modelo utilizando a STFT, 75 épocas ................. 33 FIGURA 11 - Matriz de confusão do modelo utilizando a STFT, 75 épocas de treinamento . 34 FIGURA 12 - Espectrogramas obtidos utilizando a escala mel para as diferentes emoções presentes no conjunto RAVDESS ............................................................................................ 36 FIGURA 13 - Histórico de treinamento do modelo utilizando o Espectrograma Mel, 50 épocas ....................................................................................................................................... 37 FIGURA 14 - Histórico de treinamento do modelo utilizando o Espectrograma Mel, 75 épocas ....................................................................................................................................... 37 FIGURA 15 - Matriz de confusão do modelo utilizando o Espectrograma Mel, 75 épocas de treinamento ............................................................................................................................... 38 FIGURA 16 - Espectrogramas obtidos utilizando a MFCC para as diferentes emoções presentes no conjunto RAVDESS ............................................................................................ 40 FIGURA 17 - Histórico de treinamento do modelo utilizando a MFCC, 50 épocas ............... 41 FIGURA 18 - Histórico de treinamento do modelo utilizando a MFCC, 75 épocas ............... 41 FIGURA 19 - Matriz de confusão do modelo utilizando a MFCC, 75 épocas de treinamento 42 FIGURA 20 - Histórico de treinamento do modelo com a MFCC utilizando o novo conjunto de dados e arquitetura ............................................................................................................... 45 FIGURA 21 - Matriz de confusão modelo com a MFCC utilizando o novo conjunto de dados e arquitetura, 50 épocas de treinamento ................................................................................... 46 LISTA DE ABREVIAÇÕES E SIGLAS AM - Aprendizado de Máquina CNN - Convolutional Neural Network FN - Falsos Negativos FP - Falsos Positivos IA - Inteligência Artificial MFCC - Mel Frequency Cepstral Coefficients RNA - Redes Neurais Artificiais RNR - Redes Neurais Recorrentes STFT - Short Time Fourier Transform TESS - Toronto Emotional Speech Set VN - Verdadeiros Negativos VP - Verdadeiros Positivos SUMÁRIO 1 INTRODUÇÃO ................................................................................................................ 13 2 INTRODUÇÃO TEÓRICA .............................................................................................. 15 2.1 Inteligência Artificial ............................................................................................... 15 2.2 Aprendizado de Máquina ........................................................................................ 16 2.2.1 Aprendizado Supervisionado .............................................................................. 16 2.2.2 Aprendizado Não Supervisionado ...................................................................... 17 2.2.3 Aprendizado por Reforço ................................................................................... 18 2.3 Algoritmos de Classificação .................................................................................... 18 2.4 Redes Neurais ........................................................................................................... 19 2.5 Matriz de Confusão ................................................................................................. 21 2.6 Métricas de avaliação de classificadores (validação de modelo) ......................... 22 2.6.1 Acurácia .............................................................................................................. 22 2.6.2 Precisão ............................................................................................................... 22 2.6.3 Sensibilidade (Recall) ......................................................................................... 23 2.6.4 F1-score .............................................................................................................. 23 3 METODOLOGIA ............................................................................................................. 24 3.1 Banco de Dados utilizado ........................................................................................ 24 3.2 Rede Neural Convolucional (CNN) ........................................................................ 24 3.3 Técnicas para análise de áudio ............................................................................... 25 3.4 Implementação do Classificador ............................................................................ 26 4 RESULTADOS E DISCUSSÕES .................................................................................... 28 4.1 Transformada de Fourier de Tempo Curto .......................................................... 31 4.2 Espectrograma Mel .................................................................................................. 35 4.3 Coeficientes Cepstrais de Frequência Mel ............................................................. 40 4.4 Evoluindo o Desempenho do Classificador ........................................................... 44 5 CONCLUSÃO ................................................................................................................. 50 REFERÊNCIAS ..................................................................................................................... 52 13 INTRODUÇÃO Desde o início da humanidade, os seres humanos buscam criar ferramentas capazes de tornar suas tarefas mais fáceis e suas vidas cada vez mais simples. Graças a esse comportamento, a nossa espécie foi capaz de criar roupas, abrigos e diversas máquinas, cada uma especializada em determinada tarefa. Conforme a humanidade foi se desenvolvendo, as máquinas criadas tornaram-se cada vez melhores, mais precisas e inteligentes (BEJAN, 2020). Para atender à crescente demanda por ferramentas e soluções inteligentes, surge uma nova área de estudo dentro da Inteligência Artificial (IA), conhecida como Aprendizado de Máquina (AM) (JOSHI, 2020). O aprendizado de máquina, do inglês Machine Learning, tem como objetivo permitir que máquinas aprendam e consigam realizar tarefas complexas sem serem explicitamente programadas para isso (ONGSULEE, 2017). A partir da união entre um grande volume de dados e um algoritmo de aprendizado de máquina, o computador torna-se capaz de extrair diferentes padrões e estabelecer relações entre as informações recebidas, e utilizar essas relações para atingir seu objetivo. Além disso, ao fornecer novas informações, espera-se que o computador seja capaz de generalizar os padrões encontrados, e se adaptar aos novos dados (JOSHI, 2020). Dois fatores foram fundamentais para o desenvolvimento e popularização de aplicações de aprendizado de máquina, o aumento do poder de processamento disponível e a grande quantidade de dados gerada constantemente (ONGSULEE, 2017). O aumento na oferta de unidades de processamento gráfico, do inglês Graphic Processing Unit, que realizam processamento paralelo de maneira eficiente e rápida, tornou possível analisar e processar grandes “massas” de dados. Dessa forma, o uso de algoritmos de aprendizado de máquina tornou-se viável em diferentes áreas (HELM, 2020). Além da Ciência da Computação, diversas áreas já fazem uso de aplicações de aprendizado de máquina, seja para tarefas simples como o reconhecimento e filtragem de spans, até tarefas mais complexas como processamento de linguagem natural, visão computacional e reconhecimento de imagens (HELM, 2020). Dentre essas áreas, a medicina destaca-se com resultados e descobertas animadoras. Algoritmos de aprendizado de máquina vêm sendo amplamente utilizados por diversas especialidades médicas, como radiologia, dermatologia, oftalmologia, psicologia e saúde mental, com a prevenção e detecção de episódios de psicose em esquizofrênicos (MIOTTO et al., 2017). 14 A união entre tecnologia e a área médica tem se mostrado benéfica, representando um ganho significativo na velocidade, reprodutibilidade e precisão dos diagnósticos (MIOTTO et al., 2017; WARING et al., 2020). No entanto, os ganhos vão além de ferramentas inteligentes para o aumento de produtividade. Essa união também é capaz de influenciar de maneira significativa a relação entre médico e paciente. Aplicações que detectam o estado emocional do paciente se apresentam como uma alternativa para lidar com pessoas passando por grandes cargas emocionais, como pacientes de COVID-19 em isolamento (NESS et al., 2021). Pois além de garantir um diagnóstico de qualidade, permite a equipe médica tomar decisões mais assertivas a respeito da evolução do paciente (MIOTTO et al., 2017). Aplicações que detectam o estado emocional utilizam técnicas não invasivas, sendo possível utilizar sinais vitais, imagens e até mesmo sons e fala produzidos pelo paciente (HOSSAIN; MUHAMMAD, 2018). Dessa forma não é necessário submeter o paciente a novos exames e processos estressantes, apenas captar, analisar e extrair valor dos diferentes sinais gerados em eventuais consultas, atendimento e até mesmo internações. Além disso, ferramentas de reconhecimento de emoções já são recursos utilizados em sistemas de diagnóstico psicológico, expressão de emoções de avatares digitais e até mesmo em processos de compra e venda de produtos. Portanto, está se tornando uma necessidade crescente investigar e reconhecer as emoções induzidas por determinadas interações. Seja por interesses médicos, para acompanhar o desenvolvimento de pacientes, quanto por interesse de designers, investidores, produtores e clientes. Cada nova aplicação desenvolvida testa o potencial dos algoritmos para lidar com diferentes dados e novas tarefas. Embora já existam diversos exemplos do uso de aprendizado de máquina com sucesso, é necessário seguir pesquisando e avaliando o desempenho dessa tecnologia em diferentes áreas e com diferentes tipos de dados. Diante desse cenário, o objetivo desse trabalho é desenvolver e avaliar o desempenho de um classificador, utilizando uma rede CNN, que seja capaz de identificar emoções através de arquivos de áudios contendo trechos de fala. 15 INTRODUÇÃO TEÓRICA 2.1 Inteligência Artificial O termo inteligência artificial, cada vez mais comum em nosso vocabulário, surgiu no início da década de cinquenta, durante uma conferência de verão organizada na universidade de Dartmouth. Nesse evento, definiu-se inteligência artificial como “a ciência capaz de produzir máquinas inteligentes”. Já Alan Turing (apud JOSHI, 2020), pesquisador conhecido como o pai da ciência da computação, define inteligência artificial como: “Se existe uma máquina por trás de uma cortina e um humano está interagindo com ela (por qualquer meio, áudio ou texto) e se o humano sentir que está interagindo com outro humano, então a máquina é artificialmente inteligente”. Essa definição, conhecida como Teste de Turing, não visa diretamente a noção de inteligência, ela foca nas ações que um agente inteligente deve ser capaz de realizar (JOSHI, 2020; HELM, 2020). A partir desta perspectiva, o desenvolvimento de uma inteligência artificial deixa de estar ligado a construir uma máquina extraordinária capaz de resolver diversos tipos de problemas. Para Turing, quando falamos em inteligência artificial, estamos nos referindo a máquinas que são capazes de realizar tarefas que eram exclusivamente humanas. Uma máquina capaz de passar nesse teste deve ser capaz de se comunicar utilizando a linguagem humana, seja por texto ou áudio. Além da comunicação, é necessário que ela saiba armazenar informações pertinentes a conversa e apresente a capacidade de raciocinar, usando as informações armazenadas para tirar conclusões. Por fim, a máquina também precisa possuir a capacidade de aprender com as inteirações, e se adaptar a novas perguntas (RUSSEL et al., 2010; JOSHI, 2020). É importante ressaltar que o Teste de Turing não avalia a interação física entre a máquina e o humano, existe uma barreira física que permite apenas a interação por áudio ou texto. Outras abordagens do teste surgiram posteriormente e ficaram conhecidas como Teste de Turing Completo, adicionando um sinal de vídeo e uma pequena abertura na cortina, permitindo que a máquina e o entrevistador possam interagir por meio de objetos, imagens ou vídeos. Com essas modificações são adicionados novos critérios de avaliação da inteligência da máquina, como as habilidades de visão, manipulação de objetos e movimentação (RUSSEL et al., 2010; JOSHI, 2020). 16 As capacidades avaliadas em ambos os testes compõem atualmente as grandes áreas de estudo da IA, são elas: processamento de linguagem natural, representação de conhecimento, raciocino automatizado, aprendizado de máquina, visão computacional e robótica. No entanto estes testes deixaram de ser um objetivo a ser superado e hoje possuem apenas fins didáticos. As pesquisas agora focam em compreender os mecanismos básicos da inteligência. Semelhante a aeronáutica que dominou os céus quando deixou de tentar imitar os pássaros e passou a dominar a aerodinâmica do voo, a inteligência artificial busca criar máquinas inteligentes, não duplicar a inteligência que já existe (RUSSEL et al., 2010). 2.2 Aprendizado de Máquina O termo “aprendizado de máquina” surgiu no final da década de 50, cunhado por Arthur Samuel, durante seus estudos sobre ciência da computação e inteligência artificial. Para Samuel, o aprendizado de máquina é a capacidade de um programa de computador aprender e produzir um comportamento que não foi explicitamente programado pelo seu desenvolvedor (JOSHI, 2020). Para que um programa possa de fato aprender, é necessário que ele receba uma grande quantidade de dados e informações sobre a tarefa a ser realizada. Esses dados são divididos em dois grupos, o primeiro é utilizado para treinar o algoritmo e é chamado de grupo de treinamento, já o segundo é conhecido como grupo de teste, e é responsável por validar o treinamento e desempenho do algoritmo (ONGSULEE, 2017). Também é preciso que o algoritmo seja capaz de avaliar o seu progresso na realização da tarefa, quantificando a distância entre o comportamento apresentado e o ideal. Além disso, é necessário que essa métrica de erro seja utilizada como mecanismo de feedback, orientando as próximas decisões do programa (ONGSULEE, 2017; JOSHI, 2020). Portanto, podemos dizer que um algoritmo está aprendendo quando ele é capaz de melhorar seu desempenho em uma determinada tarefa de maneira autônoma, utilizando os dados disponíveis e o conhecimento adquirido em inteirações passadas. Os algoritmos de aprendizado de máquina podem ser divididos em três grupos, cada um deles possui uma abordagem diferente do processo de aprendizado, são eles: aprendizado supervisionado, não supervisionado e por reforço (RUSSEL et al., 2010; JOSHI, 2020). 2.2.1 Aprendizado Supervisionado O termo “aprendizado supervisionado” é utilizado para classificar os algoritmos de aprendizado de máquina que relacionam a saída com a entrada a partir de dados rotulados, 17 processados e agrupados por uma entidade supervisora. Essa entidade é responsável por selecionar quais dados serão fornecidos a máquina e quais variáveis independentes, features, são relevantes a tarefa (RUSSEL et al., 2010). É papel do supervisor atribuir a resposta esperada para cada exemplo do problema, essa resposta é conhecida como rótulo, e pode ser tanto um valor numérico quanto uma classe. Utilizando as variáveis fornecidas e os rótulos para cada exemplo do problema, o algoritmo deve ser capaz de aprender por meio da observação, validando suas respostas com um mecanismo de feedback (JOSHI, 2020). Ao final do processo de treinamento a máquina deve ser capaz de utilizar o conhecimento adquirido para prever qual o rótulo de saída associado a exemplos que não estavam no conjunto de entrada. As principais tarefas associadas ao aprendizado supervisionado são a classificação e a regressão. A principal diferença entre as duas tarefas é o tipo de valor previsto, tarefas de classificação estão associadas a valores categóricos, já a regressão está associada a valores numéricos (JOSHI, 2020). 2.2.2 Aprendizado Não Supervisionado Já os algoritmos de aprendizado não supervisionado não recebem rótulos associados aos dados de entrada. Sem a intervenção de um supervisor, o algoritmo busca padrões e similaridades entre os dados de maneira autônoma, identificando similaridades previamente conhecidas e novos padrões até então desconhecidos (RUSSEL et al., 2010). Utilizando diferentes técnicas baseadas na distância geométrica entre pontos, distribuições estatísticas e até mesmo dispersão e densidade de pontos, é possível encontrar e estabelecer diferentes padrões entre os dados fornecidos (JOSHI, 2020). As principais tarefas associadas ao aprendizado não supervisionado são a transformação e o agrupamento (JOSHI, 2020). Os algoritmos de agrupamento são utilizados para dividir os dados em diferentes grupos, com características e similaridades previamente estabelecidas. Já os algoritmos de transformação são utilizados para criar uma representação de um conjunto de dados complexos que seja mais conveniente que a original, mas mantenha suas principais características. Essa nova representação pode ser utilizada para facilitar a interpretação humana ou para melhorar o desempenho de outros algoritmos de aprendizagem, essa abordagem híbrida é conhecida como semi-supervisionada e pode ser utilizada para melhorar o desempenho de algoritmos de aprendizagem supervisionada (RUSSEL et al., 2010). 18 2.2.3 Aprendizado por Reforço O processo de aprendizado por reforço está associado a situações complexas, em que o processo de treinamento utilizando exemplos e dados previamente conhecidos não é suficiente para melhorar o desempenho da máquina naquela tarefa. Neste tipo de algoritmo, um agente é responsável por realizar uma ação, dentre todas as opções possíveis naquele ambiente. Cada ação realizada fornece uma recompensa, baseada no objetivo da tarefa. O objetivo do agente é encontrar ações que maximizem a sua recompensa, levando ao objetivo da tarefa. Esse tipo de aprendizado é amplamente utilizado em sistemas de robótica (RUSSEL et al., 2010). 2.3 Algoritmos de Classificação Tarefas de classificação estão associadas ao grupo dos algoritmos de aprendizado supervisionado, cujo objetivo é prever a classe associada a um determinado conjunto de variáveis de entrada (RUSSEL et al., 2010). O algoritmo é treinado utilizando um conjunto de dados contendo os rótulos das classes associadas ao problema (JOSHI, 2020). A Figura 1 ilustra o processo de classificação para as classes gato e cachorro. Fig Nessa tarefa, a máquina recebe um conjunto de dados contendo características de ambos os animais, e seus respectivos rótulos, ou seja, as classes gato e cachorro. Após o processo de Fonte: Autoria Própria Figura 1 - Exemplo do processo de classificação para as classes gato e cachorro 19 treinamento utilizando as informações fornecidas, o algoritmo deve ser capaz de diferenciar novos exemplos a partir de suas características, e associá-los a suas respectivas classes. Problemas como este, envolvendo apenas duas classes, são conhecidos como classificação binária, já os problemas envolvendo diversas classes são conhecidos como classificação multiclasse (RUSSEL et al., 2010). Para garantir que o modelo tenha uma resposta adequada quando exposto ao problema no mundo real, é necessário pensar no conjunto de dados fornecido. Garantir a qualidade dos dados utilizados no processo de treinamento é fundamental. Remover erros e duplicatas, buscar uma distribuição homogênea das classes do problema e possuir um número significativo de amostras são boas práticas, fundamentais para garantir a qualidade do aprendizado (JOSHI, 2020). Outra prática necessária é a divisão dos dados de entrada em dois subconjuntos, treino e teste. Essa separação é necessária para avaliar o comportamento do modelo com dados fora do conjunto de treinamento. Dessa forma, é possível prevenir que a máquina se especialize no conjunto de treinamento e perca a capacidade de interagir com novos exemplos, processo conhecido como overfitting, ou não consiga encontrar relações nas amostras de treino, o underfitting (RUSSEL et al., 2010). 2.4 Redes Neurais Um dos métodos de aprendizado de máquina utilizado para a classificação e reconhecimento de padrões são as Redes Neurais Artificiais (RNA). Esses algoritmos se baseiam na estrutura do sistema nervoso humano, e seu objetivo é reconhecer as relações entre os elementos de um conjunto de dados, por meio de um processo que imita a maneira que o cérebro e suas células operam. Uma RNA é um sistema composto por diversos neurônios interconectados, organizados em camadas de processamento, responsáveis pela extração e processamento de características. Os neurônios são capazes de se adaptar às mudanças da entrada para obter o resultado esperado na saída, sem a necessidade de redesenhar os critérios do modelo (ONGSULEE, 2017). A Figura 2 apresenta uma ilustração de uma rede neural e seus neurônios organizados na estrutura de camadas. A partir da camada de entrada, os neurônios recebem as informações e então as propagam para uma série de camadas ocultas, cada uma responsável por processar uma parte da informação de entrada. Em seguida, apresentam uma resposta na camada de saída (ONGSULEE, 2017). 20 Os neurônio representam as unidades básicas de processamento da rede, seu funcionamento é baseado no neurônio real. Os neurônios digitais, conhecidos como perceptrons, possuem canais de comunicação, responsáveis por receber os estímulos. Os sinais são multiplicados por um valor que indica a influência do dado na saída da unidade e somados para definir o nível de atividade do neurônio. O valor de saída do neurônio é definido ao inserir o nível de atividade obtido na função de ativação. As redes neurais ganharam destaque por seus resultados, onde o seu desenvolvimento e estudo originaram uma nova área do aprendizado de máquina, conhecida como aprendizado profundo (JOSHI, 2020). Em geral, as redes neurais tradicionais possuem no máximo três camadas, sendo apenas uma oculta. Em contrapartida, uma rede de aprendizado profundo possui diversas camadas, organizando os neurônios em padrões cada vez mais complexos. A partir da organização dos neurônios e funções de cada camada é possível diferenciar uma rede, sendo que as Redes Neurais Convolucionais, do inglês Convolutional Neural Network (CNN) possuem camadas especializadas em extrair características por meio de filtros de convoluções, enquanto as Redes Neurais Recorrentes (RNR) possuem camadas que atuam como memória, guardando informações da interação anterior (MIOTTO et al., 2017). Fonte: Autoria Própria Figura 2 - Representação de uma rede neural e seus neurônios 21 No aprendizado profundo, uma CNN é um tipo de estrutura em que o padrão de conexão dos neurônios é inspirado na organização do córtex visual animal e os processos biológicos realizados, principalmente na região conhecida como campo receptivo (RUSSEL et al., 2010). Quando o neurônio recebe um estímulo, a resposta dentro do campo receptivo pode ser descrita matematicamente por uma operação de convolução. Essas redes são aplicadas principalmente no reconhecimento de imagens, vídeos, processamento de linguagem natural e reconhecimento de fala (RUSSEL et al., 2010; MIOTTO et al., 2017). 2.5 Matriz de Confusão Nessa matriz, as linhas representam as classes reais e as colunas representam as classes previstas. A Figura 3 apresenta a matriz de confusão para o processo de classificação binária das classes gato e cachorro. Se chamarmos a classe cachorro de positivo e a classe gato de negativo, podemos dividir a matriz de confusão nos seguintes quadrantes: Verdadeiro Positivo (VP) - valores da classe “cachorro” preditos de forma correta; Falso Positivo (FP) - valores da classe “cachorro” preditos de forma errada; Falso Negativo (FN) - valores da classe “gato” preditos de forma errada; Verdadeiro Negativo (VN) - valores da classe “gato” preditos de forma correta. Fonte: Autoria Própria Figura 3 - Representação da matriz de confusão para as classes gato e cachorro 22 A partir da matriz de confusão podemos calcular as principais métricas de avaliação de classificadores. 2.6 Métricas de avaliação de classificadores (validação de modelo) Um classificador tem como objetivo selecionar a classe de uma amostra, dentre todas as classes presentes no conjunto de dados. A avaliação de um modelo de classificação é feita a partir da comparação entre as classes preditas pelo modelo e as verdadeiras classes de cada amostra. Cada métrica avalia diferentes aspectos do processo de classificação, são elas: acurácia, precisão, sensibilidade e F1-Score. 2.6.1 Acurácia A acurácia analisa a quantidade de acertos em relação ao total de classificações, ou seja, nos diz quantas de nossas amostras foram classificadas corretamente, independente da classe. É um indicador útil para mensurar a eficácia geral do modelo (VINODHINI, et al., 2015). Ela pode ser escrita como a razão entre o número de previsões corretas, VP e VN, e o número total de previsões realizadas VP, VN, FP e FN. Equação (1) VP - Número de Verdadeiros Positivos obtidos; VN - Número de Verdadeiros Negativos obtidos; FP - Número de Falsos Positivos obtidos; FN - Número de Falsos Negativos obtidos; 2.6.2 Precisão A precisão avalia a assertividade do classificador, ou seja, dos exemplos classificados como positivos, quantos realmente são positivos. É definida como a razão entre os VP e a soma dos VP e FP. Está métrica avalia a assertividade das previsões positivas do modelo, ou seja, dentre todas as classificações da classe cachorro que o modelo realizou, quantas estão corretas. Equação (2) 𝐴𝑐𝑢𝑟á𝑐𝑖𝑎 = 𝑛𝑝𝑟𝑒𝑣𝑖𝑠õ𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑡𝑎𝑠 𝑛𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑝𝑟𝑒𝑣𝑖𝑠õ𝑒𝑠 𝐴𝑐𝑢𝑟á𝑐𝑖𝑎 = 𝑉𝑃 + 𝑉𝑁 𝑉𝑃 + 𝑉𝑁 + 𝐹𝑃 + 𝐹𝑁 (1) 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 = 𝑉𝑃 𝑉𝑃 + 𝐹𝑃 (2) 23 VP - Número de Verdadeiros Positivos obtidos; FP - Número de Falsos Positivos obtidos; 2.6.3 Sensibilidade (Recall) Essa métrica dá maior ênfase para os erros FN, ou seja, indica quão bom o seu classificador é para classificar corretamente a classe de interesse. É definido como a razão entre os VP e a soma dos valores VP e FN, ou seja, de todas as previsões realizadas pelo modelo para a classe cachorro, quantas estão corretas. Equação (3) VP - Número de Verdadeiros Positivos obtidos; FP - Número de Falsos Positivos obtidos; 2.6.4 F1-score A métrica F1-score leva em consideração tanto a precisão quanto a sensibilidade. Ela é definida pela média harmônica entre precisão e cobertura, e representa uma relação de equilíbrio entre as duas métricas citadas (VINODHINI., et al, 2015). Equação (4) 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 = 𝑉𝑃 𝑉𝑃 + 𝐹𝑃 (3) 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 = 2 1 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 + 1 Sensibilidade (4) 24 METODOLOGIA 3.1 Banco de Dados utilizado Com o objetivo de desenvolver e validar um classificador capaz de identificar emoções através de arquivos de áudios contendo trechos de fala, utilizou-se o banco de dados audiovisuais de fala e música emocional da Universidade Ryerson, conhecido como RAVDESS. Este conjunto de dados é composto por 1440 arquivos de áudio gravados por 24 atores profissionais com sotaque norte-americano neutro, divididos igualmente entre homens e mulheres (LIVINGSTONE, 2018). Os arquivos de fala emocional presentes no banco de dados contêm expressões de felicidade, tristeza, calma, raiva, medo, surpresa, nojo e uma expressão neutra. Cada ator realizou 60 gravações, vocalizando as sentenças "Kids are talking by the door" e "Dogs are sitting by the door", produzidas em dois níveis de intensidade, normal e forte (LIVINGSTONE, 2018). 3.2 Rede Neural Convolucional (CNN) Para o classificador, optou-se por utilizar uma rede neural convolucional (CNN), como modelo de aprendizado de máquina, pois ela apresenta um bom desempenho em tarefas de classificação de áudio e reconhecimento de fala, quando associada a representações de tempo- frequência, como espectrogramas (HUZAIFAH, 2017). A Figura 4 apresenta os três grandes grupos de camadas que compõem a arquitetura de uma CNN. O primeiro grupo contém as camadas de convolução e agrupamento (pooling). Já o segundo grupo é composto por uma camada intermediaria que conecta o primeiro grupo as camadas densas, que possuem diversos neurônios interconectados. O último grupo de camadas é composto por uma camada de saída. 25 Após criada a estrutura da rede, inicia-se o processo de treinamento. Nessa etapa, uma parte do conjunto de dados é apresentada a rede e compara-se a saída prevista com os rótulos reais daquelas amostras. Parâmetros do modelo como pesos e vieses são atualizados, de forma que os valores previstos se aproximem dos valores reais. Ao concluir esse processo, dizemos que uma época de treinamento foi concluída. 3.3 Técnicas para análise de áudio Técnicas de análise de áudio como a Transformada de Fourier de Tempo Curto (STFT), Espectrograma Mel e Coeficientes Cepstrais de Frequência Mel (MFCC), permitem converter o áudio de sua forma bruta para uma representação da estrutura temporal e espectral do sinal original. Nos classificadores implementados, a arquitetura da CNN não recebe o áudio bruto como um dado de entrada, mas sim o espectro de frequências que compõem o áudio com relação ao tempo (HUZAIFAH, 2017). Com o apoio da biblioteca de áudio desenvolvida em python, Librosa, realizou-se o processamento dos arquivos de áudio emocional, a extração dos rótulos e a transformação dos áudios em espectrogramas, formato utilizado para alimentar o modelo de aprendizado supervisionado. Para transformação foram utilizadas três diferentes técnicas de análise de áudio: Transformada de Fourier de Tempo Curto, Espectrograma Mel e Coeficientes Cepstrais de Frequência Mel. Os espectrogramas extraídos por cada técnica foram então apresentados ao Fonte: Autoria Própria Figura 4 - Camadas que compõem a arquitetura de uma CNN 26 modelo separadamente, e comparou-se o desempenho do classificador para cada técnica de análise. 3.4 Implementação do Classificador Para desenvolvimento do classificador utilizou-se a biblioteca de aprendizado profundo e redes neurais Keras, em conjunto com o framework de aprendizado de máquina TensorFlow, desenvolvido pela Google. Juntas essas bibliotecas possuem as ferramentas necessárias para o desenvolvimento, treinamento e validação de diferentes arquiteturas de redes neurais artificiais e outros tipos de algoritmos de aprendizado de máquina. A implementação do classificador pode ser dividida em três etapas, exemplificadas na Figura 5. Na primeira etapa é realizada a construção do modelo, as camadas são adicionadas e a quantidade de neurônios e sua função de ativação é definida. Neste trabalho utilizou-se a função de ativação Relu, devido a sua simplicidade computacional e seu comportamento linear. Por fim, é criado o otimizador do processo de aprendizado e compila-se o modelo. Os otimizadores são responsáveis por alterar os atributos do modelo, pesos e taxa de aprendizado, de maneira dinâmica, com o objetivo de reduzir a perda e o tempo de processamento. Fonte: Autoria Própria Figura 5 - Implementação de um classificador, etapas de construção, treinamento e avaliação 27 A segunda etapa consiste no processo de treinamento do modelo. Nessa etapa, 70 % dos dados de entrada, conjunto de treinamento, são utilizados para realizar o processo de treinamento. Os outros 30 % são utilizados nas etapas de validação e teste, respectivamente 10 % e 20 % do conjunto de dados de entrada. Os resultados das etapas de teste e validação foram utilizados para avaliar a performance do modelo para as diferentes técnicas utilizadas. O ambiente de desenvolvimento utilizado neste trabalho é composto pela IDE PyCharm Community 2021.2.3, associada a linguagem Python, versão 3.6. Esse ambiente é executado em uma máquina com sistema operacional Windows 10 Home(x64), processador Intel i7 7500U 2.70 GHz, 16 GB de memória RAM e uma GPU Nvidia GeForce 940MX. 28 RESULTADOS E DISCUSSÕES A partir do conjunto de dados audiovisuais RAVDESS, os arquivos de áudio foram contabilizados e organizados por emoção expressada, e na sequência, analisou-se a duração média dos arquivos para cada classe do conjunto de dados. A Tabela 1 apresenta o número de arquivos de áudios e a duração média dos arquivos em segundos para cada emoção presente no conjunto de dados. Emoção Arquivos Duração Média Raiva 192 3.87 ± 0.32 s Nojo 192 3.94 ± 0.37 s Calma 192 3.79 ± 0.33 s Medo 192 3.57 ± 0.29 s Tristeza 192 3.69 ± 0.29 s Felicidade 192 3.64 ± 0.26 s Surpresa 192 3.49 ± 0.24 s Neutra 96 3.50 ± 0.21 s Observa-se o equilíbrio entre as classes raiva, nojo, calma, medo, tristeza, felicidade e surpresa com 192 arquivos. Já a expressão neutra possui apenas o nível de intensidade normal, portanto, apresenta apenas 96 arquivos. Quanto a duração média dos áudios, é possível observar um equilíbrio entre as classes, com duração média abaixo de 4 segundos. Nota-se também que as emoções nojo e raiva estão associadas a uma maior duração média, enquanto as emoções surpresa e neutra apresentam as menores durações. Em seguida, utilizando as ferramentas para carregamento e visualização da biblioteca librosa, realizou-se a visualização de uma amostra do conjunto de áudio. A Figura 6 apresenta as formas de onda com relação ao tempo, para uma amostra aleatória de cada classe do conjunto de dados de entrada. É possível observar na figura a duração dos áudios próxima a 4 segundos. Também pode-se observar uma maior intensidade para os sinais entre os instantes 1 e 3 s. Tabela 1 - Número de arquivos de áudios e duração média de cada emoção presente no conjunto RAVDESS. Fonte: Autoria Própria 29 Após a análise exploratória do conjunto de dados, iniciou-se o processo de transformação. Nessa etapa os áudios foram submetidos a três diferentes técnicas de análise de áudio, STFT, Espectrograma Mel e MFCC. Cada técnica possui diferentes abordagens e foca em diferentes aspectos do sinal de áudio. Ao final de cada análise, os áudios são transformados em espectrogramas, um formato mais adequado para serem processados pelo modelo (HUZAIFAH, 2017). Finalizado o processo de transformação, teve início o processo de criação e carregamento de dados na rede neural, sendo este o modelo de aprendizado supervisionado utilizado. A Figura 7 apresenta uma ilustração do processo de transformação e carregamento de dados no modelo. Na parte superior da figura, é possível observar o processo de conversão do áudio para espectrograma, realizado por uma das três técnicas de análise de áudio. O espectrograma alimenta a CNN, percorrendo três grandes grupos de camadas, até chegar ao final do fluxo, onde recebe um rótulo referente a provável emoção expressada. Fonte: Autoria Própria Figura 6 - Forma de ondas dos áudios com relação ao tempo 30 O primeiro grupo de camadas é composto por dois conjuntos de convolução, sendo que cada conjunto é formado por uma camada de convolução associada diretamente a uma camada de pooling. Para este processo utilizou-se um filtro de convolução em duas dimensões, Conv2D. Esse filtro desloca-se em duas direções, vertical e horizontal, percorrendo os dois eixos do espectrograma. A outra camada é de pooling que é responsável por extrair e aglutinar as informações extraídas pelos filtros de convolução, reduzindo o número de parâmetros e mantendo o processo de treinamento efetivo. A camada de pooling utilizada é do tipo MaxPooling, e retorna o valor máximo da operação de convolução (ONGSULEE, 2017; HUZAIFAH, 2017). Já o segundo grupo é composto por uma camada flatten, ligada diretamente a duas camadas densas (Dense). Essas camadas possuem diversos neurônios interconectados, responsáveis pelo processamento das informações extraídas pelas camadas de convolução (ONGSULEE, 2017). Por fim, o último grupo é composto por apenas uma camada com oito neurônios, responsáveis pela saída da rede. Cada neurônio está associado a uma emoção e apresenta uma pontuação, onde a classe com a maior pontuação representa a previsão feita pelo modelo (ONGSULEE, 2017). Fonte: Autoria Própria Figura 7 - Processo de transformação e carregamento de dados na CNN 31 4.1 Transformada de Fourier de Tempo Curto A primeira técnica de análise de áudio utilizada foi a Transformada de Fourier de Tempo Curto (STFT). Ao analisar um sinal dinâmico como um arquivo de áudio, não basta sabermos quais frequências compõem aquele sinal, é necessário entendermos a evolução dessas frequências com relação ao tempo (HUZAIFAH, 2017). Diferente da transformada de Fourier clássica, que permite apenas convertermos um sinal no domínio do tempo para o domínio da frequência, a STFT conserva a relação temporal entre as frequências (HUZAIFAH, 2017). A Figura 8 apresenta os espectrogramas resultantes da análise utilizando a STFT para as diferentes emoções presentes no conjunto RAVDESS. A partir dessa figura é possível identificar as componentes de frequências presentes no sinal de áudio e sua intensidade com relação ao tempo. Nota-se que as componentes de baixa frequência são predominantes para todas as emoções, entre os instantes 1 e 3 s. Quanto as altas frequências, é possível observar sua presença em menor intensidade, e em pontos específicos distribuídos pelo espectro para as diferentes emoções. Fonte: Autoria Própria Figura 8 - Espectrogramas obtidos utilizando a STFT para as diferentes emoções presentes no conjunto RAVDESS 32 Após a transformação utilizando a STFT, os dados foram separados nos conjuntos de treino, validação e teste. Durante o processo de treinamento foram utilizados os conjuntos de treino e validação, sendo o primeiro responsável pelo aprendizado da rede, ajuste dos pesos e vieses de cada neurônio. Já o segundo conjunto é responsável por validar o processo de aprendizado, garantindo que a rede não perca a capacidade de generalização durante o treinamento (ONGSULEE, 2017). As Figuras 9 e 10 apresentam os históricos de treinamento do modelo utilizando a STFT como técnica de análise para 50 e 75 épocas de treinamento, respectivamente. Em cada figura, o gráfico da parte superior apresenta a acurácia, medida associada ao total de acertos obtidos pelo modelo. Já a parte inferior apresenta os valores de perda, valores utilizados para ajuste dos pesos e vieses, estando associados aos erros cometidos naquela etapa do processo de treinamento. Fonte: Autoria Própria Figura 9 - Histórico de treinamento do modelo utilizando a STFT, 50 épocas 33 Ambas as figuras apresentam uma variação significativa tanto para perda, quanto para acurácia. Nota-se que o modelo não apresenta avanços significativos no processo de aprendizado, oscilando entre diferentes valores durante as épocas de treinamento. Portanto, o modelo não foi capaz de estabelecer relações e padrões entre os dados de entrada e saída, configurando o processo underfitting (AMIRUDDIN et al., 2020). Ao aumentarmos o número de épocas de treinamento, observou-se um aumento da acurácia de treinamento e validação. No entanto, esse aumento não veio associado a uma redução nos valores de perda, e novamente observamos uma grande oscilação entre valores de acurácia com o passar das épocas de treinamento (AMIRUDDIN et al., 2020). Portanto, o aumento do número de épocas não afetou o processo de aprendizado da rede de maneira significativa, ao aumentar o número de épocas percebemos a repetição dos padrões de underfitting observados em 50 épocas. Ao final do processo de treinamento o modelo foi avaliado utilizando os dados do conjunto de teste. O modelo submetido a 50 épocas de treinamento apresentou acurácia de 8%, já o modelo submetido 75 épocas, apresentou acurácia de 23%. Além do baixo desempenho para os modelos treinados utilizando a STFT como técnica de análise, destaca-se o alto tempo de processamento, aproximadamente 1h 20min, o mais alto entre todas as técnicas. Fonte: Autoria Própria Figura 10 - Histórico de treinamento do modelo utilizando a STFT, 75 épocas 34 A Figura 11 apresenta a matriz de confusão resultante do processo de avaliação do modelo para 75 épocas de treinamento, melhor resultado obtido. A partir da matriz de confusão é possível analisarmos o desempenho da rede para cada emoção do problema de maneira individual. A rede não foi capaz de diferenciar entre as emoções expressadas em cada arquivo de áudio, e classifica todas as amostras de treinamento como felicidade ou raiva, evidenciando o underfitting do modelo. A Tabela 2 apresenta os valores de precisão, sensibilidade e F1-Score para cada classe, obtidos a partir da matriz de confusão. Novamente, observa-se que a rede não foi capaz de diferenciar entre as emoções expressadas, apresentando valores nulos de precisão e sensibilidade para praticamente todas as classes. Já as classes felicidade e raiva destacam-se quanto aos valores apresentados. A alta sensibilidade para felicidade está associada a uma baixa precisão, pois o modelo classificou a maioria das expressões de felicidade corretamente, cobrindo bem essa emoção. No entanto, o modelo também classificou grande parte dos áudios como felicidade, pois não foi capaz de diferenciar felicidade das demais emoções, reduzindo a precisão para essa emoção e por consequência sua F1-Score. Fonte: Autoria Própria Figura 11 - Matriz de confusão do modelo utilizando a STFT, 75 épocas de treinamento 35 Já a classe raiva apresenta o comportamento inverso do observado para felicidade, alta precisão associada a uma baixa sensibilidade. Podemos notar que o modelo classificou corretamente algumas expressões de raiva, aumentando sua precisão para essa emoção. No entanto, como o modelo também classificou grande parte dos áudios como felicidade, áudios contendo expressões de raiva foram classificados como felicidade, reduzindo a sensibilidade para essa emoção e por consequência sua F1-Score. Emoção Precisão Sensibilidade F1-Score Neutra 0.00 0.00 0.00 Calma 0.00 0.00 0.00 Felicidade 0.10 0.87 0.18 Tristeza 0.00 0.00 0.00 Raiva 0.60 0.47 0.53 Medo 0.00 0.00 0.00 Nojo 0.00 0.00 0.00 Surpresa 0.00 0.00 0.00 De maneira geral, os modelos utilizando a análise por STFT apresentaram o maior tempo de processamento, e não foram capazes de extrair padrões dos dados de treinamento, configurando o processo de underfitting. Ambos apresentaram um baixo desempenho para os conjuntos de treinamento e teste, resultando em previsões não confiáveis e pouco assertivas. Diversas razões podem levar ao underfitting, desde uma arquitetura simples, incapaz de extrair e lidar com a complexidade dos dados, ou mesmo devido a um problema no conjunto de treinamento utilizado, como um número de amostras insuficiente ou ruídos, além de possíveis distorções presentes no conjunto (HUZAIFAH, 2017). 4.2 Espectrograma Mel A segunda técnica de análise utilizada é conhecida como Espectrograma Mel, do inglês mel spectrogram, e tem como base a escala mel de percepção sonora. A ideia central dessa escala é que o ouvido humano consegue captar melhor variações de baixa frequência (HUZAIFAH, 2017). Portanto, ao associarmos a escala mel ao espectrograma resultante da Tabela 2 - Valores de precisão, sensibilidade e F1-Score para cada emoção, utilizando STFT como técnica. Fonte: Autoria Própria 36 análise por STFT, conseguimos representar a percepção humana de frequências, adicionando uma nova camada ao processo de transformação do áudio bruto em espectrograma (HUZAIFAH, 2017). A Figura 12 apresenta o resultado da análise utilizando a técnica de Espectrograma Mel para as diferentes emoções presentes no conjunto RAVDESS. Semelhante a análise utilizando STFT, figura 8, é possível observar a predominância das componentes de baixa frequência no sinal, entre os instantes 1 e 3s. No entanto, a adição da escala de mel ao espectrograma permite visualizar essa informação com maior clareza, simulando a percepção sonora humana e sua predileção por baixas frequências. As Figuras 13 e 14 apresentam os históricos de treinamento do modelo utilizando Espectrograma Mel como técnica de análise para 50 e 75 épocas de treinamento, respectivamente. Novamente, em cada figura o gráfico superior apresenta a acurácia, medida associada ao total de acertos obtidos pelo modelo. Já a parte inferior apresenta os valores de perda, valores utilizados para ajuste dos pesos e vieses, estando associados aos erros cometidos naquela etapa do processo de treinamento. Inicialmente, observa-se um novo comportamento do modelo para essa técnica, apresentando uma redução gradual nos valores de perda de treinamento, acompanhado por um aumento significativo da acurácia, passando de 20% para 80%. Fonte: Autoria Própria Figura 12 - Espectrogramas obtidos utilizando a escala mel para as diferentes emoções presentes no conjunto RAVDESS 37 No entanto, a redução gradual da perda, acompanhada por um aumento da acurácia observada para o conjunto de treinamento não se reflete no conjunto de validação. Para esse conjunto é possível observar um padrão semelhante ao underfitting, com oscilações nos valores Fonte: Autoria Própria Fonte: Autoria Própria Figura 13 - Histórico de treinamento do modelo utilizando o Espectrograma Mel, 50 épocas Figura 14 - Histórico de treinamento do modelo utilizando o Espectrograma Mel, 75 épocas 38 de acurácia, e pouco ou nenhum avanço no processo de aprendizado. Portanto, o modelo especializou-se no conjunto de treino, perdendo sua capacidade de generalizar e processar novos dados, configurando o processo de overfitting (HUZAIFAH, 2017). Ao final do processo de treinamento o modelo foi avaliado utilizando os dados do conjunto de teste. O modelo submetido a 50 épocas de treinamento apresentou acurácia de 28%, já o modelo submetido 75 épocas, a acurácia foi de 38%. Além do baixo desempenho para os modelos treinados utilizando o Espectrograma Mel como técnica de análise, destaca-se o tempo de processamento de 45 min, o segundo mais alto entre as técnicas utilizadas. É possível observar um aumento nos valores de acurácia com o aumento do número de épocas de treinamento. No entanto, ao analisarmos as perdas do conjunto de validação, é possível perceber que o aumento da acurácia não reflete uma diminuição das perdas, na verdade houve um aumento. A Figura 15 apresenta a matriz de confusão resultante do processo de avaliação do modelo para 75 épocas de treinamento. A partir da matriz de confusão, podemos analisar o desempenho do classificador para classe individualmente. A rede não foi capaz de diferenciar entre emoções, concentrando grande parte de suas previsões na classe raiva, e algumas poucas previsões na classe felicidade. Semelhante ao resultado apresentado na Figura 11, novamente é possível observar uma falha no processo de treinamento do modelo. Fonte: Autoria Própria Figura 15 - Matriz de confusão do modelo utilizando o Espectrograma Mel, 75 épocas de treinamento 39 A Tabela 3 apresenta os valores de precisão, sensibilidade e F1-Score para cada classe, obtidos a partir da matriz de confusão. Semelhante ao resultado da técnica anterior, a rede não foi capaz de diferenciar entre as emoções expressadas, apresentando valores nulos para precisão e sensibilidade para praticamente todas as classes. Novamente as classes felicidade e raiva destacam-se como as únicas previsões da rede, e a classe medo pois apresenta precisão máxima. No entanto, ao observamos a matriz de confusão, figura 15, percebemos que a alta precisão da classe medo ocorreu devido à falta de previsões para aquela classe, e por coincidência, a única previsão realizada resultou em um acerto. Já a alta cobertura da classe raiva, indica que o modelo foi capaz de identificar com sucesso os áudios que continham expressões de raiva, no entanto esse valor está associado a uma baixa precisão, uma vez que o modelo classificou grande parte dos áudios como raiva, reduzindo a precisão para essa emoção e por consequência sua F1-Score. Por fim, a classe felicidade apresenta baixa precisão e sensibilidade, uma vez que grande parte dos áudios foram classificados como raiva. Portanto, o modelo não foi capaz de diferenciar a raiva das demais emoções. Assim, o desempenho apresentado para o conjunto de treinamento não foi observado no conjunto de teste, evidenciando o padrão de overfitting do modelo. Emoção Precisão Sensibilidade F1-Score Neutra 0.00 0.00 0.00 Calma 0.00 0.00 0.00 Felicidade 0.29 0.11 0.16 Tristeza 0.00 0.00 0.00 Raiva 0.14 0.95 0.24 Medo 1.00 0.02 0.04 Nojo 0.00 0.00 0.00 Surpresa 0.00 0.00 0.00 De maneira geral, os modelos alimentados utilizando a análise por espectrograma mel, se especializaram nos dados de treinamento e perderam a capacidade de generalizar e lidar com novos dados, configurando o processo de overfitting. Ambos os modelos, com 50 e 75 épocas, Tabela 3 - Valores de precisão, sensibilidade e F1-Score para cada emoção, utilizando o espectrograma de mel como técnica. Fonte: Autoria Própria 40 apresentaram um alto desempenho para os conjuntos de treinamento, no entanto esse resultado não foi observado no conjunto de teste, resultando em previsões não confiáveis e pouco assertivas para esse conjunto. O overfitting pode ter ocorrido devido a arquitetura proposta ser complexa, o que acabou se especializando rapidamente, ou até mesmo devido a um problema no conjunto de treinamento, com um número de amostras insuficiente ou presença de ruídos. 4.3 Coeficientes Cepstrais de Frequência Mel A última técnica de análise utilizada é conhecida como MFCC, do inglês Mel Frequency Cepstral Coefficients. Essa técnica foi desenvolvida inicialmente para estudar sinais sísmicos, no entanto o uso em aplicações de processamento musical e reconhecimento de fala popularizou-a (REJAIBI, 2021). Os coeficientes da MFCC descrevem diversos aspectos do sinal, não apenas as variações de frequência, e são considerados o mais próximo do sistema auditivo humano (REJAIBI, 2021). A Figura 16 apresenta o resultado da análise utilizando a técnica de MFCC para as diferentes emoções presentes no conjunto RAVDESS. É possível observar a semelhança entre a figura e os espectrogramas apresentados anteriormente. No entanto essa figura apresenta o valor de cada coeficiente com relação ao tempo, e pode ser entendida como uma matriz de coeficientes. As Figuras 17 e 18 apresentam os históricos de treinamento do modelo utilizando a MFCC como técnica de análise para 50 e 75 épocas de treinamento, respectivamente. Fonte: Autoria Própria Figura 16 - Espectrogramas obtidos utilizando a MFCC para as diferentes emoções presentes no conjunto RAVDESS 41 Novamente, em cada figura o gráfico superior apresenta a acurácia, medida associada ao total de acertos obtidos pelo modelo. Já a parte inferior apresenta os valores de perda, valores utilizados para ajuste dos pesos e vieses, estando associados aos erros cometidos naquela etapa do processo de treinamento. Diferente das técnicas de análises utilizadas até o momento, dessa vez é possível observar a redução dos valores de perda e um aumento da acurácia para ambos os conjuntos, treino e validação. Esse comportamento indica que o modelo aprendeu de maneira adequada durante o treinamento, e não perdeu sua capacidade de generalização, configurando um treinamento de sucesso (AMIRUDDIN et al., 2020). Fonte: Autoria Própria Fonte: Autoria Própria Figura 17 - Histórico de treinamento do modelo utilizando a MFCC, 50 épocas Figura 18 - Histórico de treinamento do modelo utilizando a MFCC, 75 épocas 42 Ao final do processo de treinamento o modelo foi avaliado utilizando os dados do conjunto de teste. O modelo submetido a 50 épocas de treinamento apresentou acurácia de 62%, já o modelo submetido a 75 épocas, apresentou acurácia de 67%, um desempenho superior aos modelos avaliados até o momento. O aumento do número de épocas de treinamento resultou em um aumento da acurácia do modelo. No entanto, ao analisarmos as perdas do conjunto de validação é possível perceber que o aumento da acurácia não reflete uma redução das perdas. Além da melhora de desempenho para os modelos treinados utilizando a MFCC como técnica de análise, destaca-se o baixo tempo de processamento obtido, aproximadamente 30 min, o mais baixo entre todas as técnicas. A Figura 19 apresenta a matriz de confusão resultante do processo de avaliação do modelo para 75 épocas de treinamento. Observa-se um aumento no desempenho da rede para cada emoção presente no conjunto de testes. Dessa forma, é possível observar que o aprendizado obtido com o conjunto de treinamento foi utilizado com sucesso para o conjunto de testes. Nota-se também que a rede foi capaz de diferenciar grande parte das emoções presentes, destacando o desempenho para as classes surpresa, raiva e calma. Fonte: Autoria Própria Fonte: Autoria Própria Figura 19 - Matriz de confusão do modelo utilizando a MFCC, 75 épocas de treinamento 43 A Tabela 4 apresenta os valores de precisão, sensibilidade e F1-Score para cada classe, obtidos a partir da matriz de confusão. Diferente dos modelos anteriores, é possível observar que a rede foi capaz de diferenciar entre as emoções expressadas, apresentando um desempenho acima de 50 % para grande maioria das classes, indicando que modelo foi capaz de aprender a identificar com sucesso os áudios que continham essas emoções. Para as emoções que apresentaram o melhor desempenho, surpresa, raiva e calma, observa-se uma F1-Score acima de 70%. Pela matriz de confusão, é possível observar que o modelo foi capaz de classificar com poucas falhas os áudios que continham essas emoções, aumentando a precisão e cobertura do modelo para cada classe, e em consequência seu F1-Score. Já a classe tristeza, apresentou o menor desempenho entre as emoções, com F1-Score abaixo de 50%. Da matriz de confusão, temos que o modelo apresentou dificuldades para diferenciar a tristeza de outras emoções, reduzindo a precisão e sensibilidade para essa classe. Emoção Precisão Sensibilidade F1-Score Neutra 0.52 0.76 0.62 Calma 0.86 0.73 0.79 Felicidade 0.79 0.56 0.66 Tristeza 0.53 0.46 0.49 Raiva 0.65 0.82 0.72 Medo 0.83 0.47 0.60 Nojo 0.60 0.62 0.61 Surpresa 0.59 0.90 0.71 De maneira geral, os modelos implementados utilizando a análise por MFCC, apresentaram o melhor desempenho no processo de treinamento e classificação dos dados de teste. Diferente dos modelos anteriores, utilizando a MFCC foi possível extrair padrões dos dados, sem que o modelo perdesse a capacidade de generalizar, configurando o processo de treinamento adequado, fitting (AMIRUDDIN et al., 2020). Ambos os modelos, com 50 e 75 épocas, apresentaram desempenho acima de 80%, na etapa de treinamento, já para o conjunto Tabela 4 - Valores de precisão, sensibilidade e F1-Score para cada emoção, utilizando MFCC como técnica. Fonte: Autoria Própria 44 de testes a acurácia do modelo foi de 61%, com F1-Score acima de 60% para grande parte das classes do problema. 4.4 Evoluindo o Desempenho do Classificador Ao compararmos o desempenho do modelo para as diferentes técnicas utilizadas, STFT, Espectrograma Mel e MFCC. Observamos não apenas a melhora no processo de treinamento, mas também é possível notar o aumento na acurácia geral da rede para a última técnica. Outro ponto a ser destacado é a melhora significativa na capacidade de diferenciar as classes do problema. Enquanto os modelos alimentados pelas demais técnicas possuíam a capacidade de diferenciar apenas duas emoções, o modelo treinado utilizando MFCC apresentou a capacidade de diferenciar as oito emoções do conjunto. No entanto, ao analisarmos a performance para cada classe individualmente, utilizando as matrizes de confusão e as tabelas apresentadas, é possível perceber que a rede ainda não responde de forma satisfatória para todas as emoções analisadas, apresentando valores de F1- Score abaixo de 70% para as classes neutra, felicidade, tristeza, medo e nojo (Tabelaapre 4). Com o objetivo de evoluir o desempenho da CNN, uma nova etapa de treinamentos foi realizada. Um novo conjunto de dados de entrada foi utilizado, aumentando o número de amostras por emoção. A arquitetura do modelo também foi alterada adicionando novas camadas de processamento e realizando o ajuste dos hiperparâmetros. Para aumentar o número de amostras, adicionou-se ao conjunto de dados inicial, um novo conjunto de áudios com 2800 arquivos, conhecido como TESS (Toronto Emotional Speech Set). A Tabela 5 apresenta o número de arquivos presentes em cada conjunto de áudio por emoção. Emoção RAVDESS TESS Raiva 192 400 Nojo 192 400 Medo 192 400 Tristeza 192 400 Felicidade 192 400 Surpresa 192 400 Neutra 96 400 Calma 192 0 Fonte: Autoria Própria Tabela 5 - Número de amostras por emoção para os conjuntos Ravdess e Tess 45 Diferente do conjunto inicial, RAVDESS, o novo conjunto de áudios possui apenas sete emoções, não contemplando a classe calma. Já as demais classes apresentam 400 amostras para cada emoção, representando um aumento significativo no número de áudios disponíveis para o treinamento da rede. Outra diferença entre os conjuntos, é o número de atores, o conjunto RAVDESS possui 24 atores, divididos igualmente entre homens e mulheres com diferentes faixas etárias. Já o conjunto TESS, possui apenas duas atrizes, com 26 e 64 anos. A Figura 20 apresenta o histórico de treinamento do modelo utilizando a MFCC como técnica de análise e o novo conjunto de dados de entrada, resultante da união entre os conjuntos RAVDESS e TESS. Durante as 50 épocas de treinamento é possível observar uma redução significativa nos valores de perda. Com os conjuntos de treino e validação apresentando valores de perdas inferiores a 0.5, menor que o resultado obtido até o momento. Para a acurácia, observa-se um aumento gradual e contínuo, com poucas oscilações, durante as 50 épocas de treinamento. É possível observar que o desempenho da rede não apresenta diferenças significativas para os conjuntos de treino e validação. Isso indica que o modelo aprendeu de maneira adequada, mantendo sua capacidade de generalização e apresentando uma performance bem semelhante para ambos os conjuntos, configurando um processo de treinamento próximo ao ideal (AMIRUDDIN et al., 2020). Fonte: Autoria Própria Figura 20 - Histórico de treinamento do modelo com a MFCC utilizando o novo conjunto de dados e arquitetura 46 Ao final do processo de treinamento, o modelo foi avaliado utilizando os dados do conjunto de teste. Nesta etapa, o novo modelo apresentou acurácia de 86%, desempenho superior aos demais avaliados até o momento. A Figura 21 apresenta a matriz de confusão resultante do processo de avaliação do modelo. Ao analisarmos cada classe individualmente, observamos que o aumento na acurácia geral da rede se reflete na maior parte das classes do problema. O aprendizado obtido durante a etapa de treinamento foi utilizado com sucesso no conjunto de testes. Uma vez que a rede foi capaz de diferenciar todas as emoções presentes no conjunto de dados, com exceção da calma. A Tabela 6 apresenta os valores de precisão, sensibilidade e F1-Score para cada classe, obtidos a partir da matriz de confusão. Logo de início, é possível notar a melhora no desempenho da rede. Os valores de F1-Score acima de 80% para todas as classes, exceto calma, evidenciam que modelo foi capaz de identificar com sucesso os áudios e suas emoções. Destaca-se o desempenho do modelo para as emoções surpresa, nojo e neutra, com F1-Score acima de 90%, já a classe calma apresentou a menor pontuação entre as emoções com 65%. O baixo desempenho para esta emoção está associado ao pequeno número de amostras disponíveis Fonte: Autoria Própria Figura 21 - Matriz de confusão modelo com a MFCC utilizando o novo conjunto de dados e arquitetura, 50 épocas de treinamento 47 para essa classe. Uma vez que o novo conjunto de dados TESS não possui amostras para esta emoção, esse fato faz com que o desempenho fique próximo ao obtido anteriormente para o treinamento utilizando apenas o conjunto RAVDESS. Emoção Precisão Sensibilidade F1-Score Neutra 0.93 0.90 0.91 Calma 0.55 0.78 0.65 Felicidade 0.80 0.85 0.83 Tristeza 0.91 0.78 0.84 Raiva 0.89 0.89 0.89 Medo 0.88 0.85 0.86 Nojo 0.90 0.92 0.91 Surpresa 0.93 0.88 0.90 Ao inserir novas amostras no conjunto de dados, alterou-se não apenas o número de amostras, mas também a proporção de gênero no conjunto. Enquanto o conjunto inicial, RAVDESS, possui atores divididos igualmente entre homens e mulheres, o conjunto TESS possui apenas atrizes. Portanto, com o objetivo de analisar a performance do modelo por gênero, realizou-se uma nova etapa de testes e validações do modelo. As Tabelas 7 e 8 apresentam os valores de precisão, sensibilidade e F1-Score, obtidos ao testar o desempenho da rede utilizando áudios gravados por homens e mulheres, respectivamente. O modelo apresenta diferentes valores de precisão, sensibilidade e F1-Score para homens e mulheres. Para os áudios masculinos, observa-se F1-Score abaixo ou próximo a 50%, para as classes neutra, felicidade, tristeza, medo e nojo. Já para os áudios femininos, apenas a classe calma apresenta F1-Score próximo a 50%, e as demais emoções apresentam F1-Score acima de 85%, indicando um bom equilíbrio entre a precisão e a sensibilidade da classe. Tabela 6 - Valores de precisão, sensibilidade e F1-Score para cada emoção, para MFCC após o aumento do número de amostras e alteração na arquitetura da rede. Fonte: Autoria Própria 48 Emoção Precisão Sensibilidade F1-Score Neutra 0.50 0.40 0.44 Calma 0.77 1.00 0.87 Felicidade 0.50 0.20 0.29 Tristeza 0.75 0.30 0.43 Raiva 0.54 0.70 0.61 Medo 0.43 0.60 0.50 Nojo 0.50 0.70 0.58 Surpresa 0.78 0.70 0.74 Emoção Precisão Sensibilidade F1-Score Neutra 0.95 0.89 0.92 Calma 0.50 0.60 0.55 Felicidade 0.88 0.86 0.87 Tristeza 0.93 0.80 0.86 Raiva 0.89 0.94 0.91 Medo 0.87 0.96 0.91 Nojo 0.94 0.94 0.94 Surpresa 0.96 0.98 0.97 De maneira geral, ao aumentar o número de amostras e inserir novas camadas de processamento a CNN, foi possível aumentar o desempenho da rede. Esses ajustes fizeram a acurácia geral da rede aumentar de 61% para 85%. Diferente dos modelos anteriores, o modelo não só conseguiu extrair padrões dos dados de entrada sem perder a capacidade de generalizar, como apresentou um desempenho semelhante para todos os subconjuntos utilizados, treino, Tabela 7 - Valores de precisão, sensibilidade e F1-Score para cada emoção, para MFCC após o aumento do número de amostras e alteração na arquitetura da rede, áudios masculinos. Tabela 8 - Valores de precisão, sensibilidade e F1-Score para cada emoção, para MFCC após o aumento do número de amostras e alteração na arquitetura da rede, áudios femininos. Fonte: Autoria Própria Fonte: Autoria Própria 49 validação e teste, configurando o processo de treinamento próximo ao ideal, uma vez que apresenta uma boa performance para áudios de diferentes fontes (AMIRUDDIN et al., 2020). No entanto, a melhora no desempenho não foi observada em todas as classes do problema, devido à ausência de amostras para a classe calma no conjunto TESS, que apresentou desempenho semelhante ao observado antes das mudanças. Além disso, ao inserir o novo conjunto, alterou-se a proporção de homens e mulheres entre os atores. Essa distorção gerou consequências no desempenho da rede, aumentando a acurácia, sensibilidade e F1-Score da rede para áudios femininos, e reduzindo a performance do modelo para áudios masculinos. 50 CONCLUSÃO Com o desenvolvimento desse trabalho foi possível implementar e avaliar três diferentes classificadores baseados em redes neurais, utilizando algoritmo de aprendizado de máquina supervisionado. Esses classificadores foram treinados e “aprenderam” a diferenciar oito emoções, utilizando trechos de fala, presentes no conjunto de dados de áudios RAVDESS. Para que o modelo fosse capaz de extrair padrões do arquivo de áudio, foram utilizadas diferentes técnicas de análise de áudio, cada uma refletindo diretamente no desempenho do classificador. A primeira técnica de análise, STFT, foi caracterizada pelo processo de underfitting, com acurácia abaixo de 20% para os conjuntos de treino e teste. Mesmo com o aumento de épocas de treinamento, os modelos que utilizaram essa técnica não foram capazes de extrair padrões dos dados. Isso indica a necessidade da elaboração de uma nova arquitetura, capaz de lidar com a complexidade dos dados, ou um aumento no número de amostras disponíveis para treinamento. Já a segunda técnica, Espectrograma Mel, foi marcada pelo processo de overfitting, com acurácia próxima a 90 e 30% para os conjuntos de treino e teste, respectivamente. Os modelos treinados utilizando essa técnica acabaram se especializando no conjunto de treinamento, e perderam a capacidade de interagir com novos dados. Novamente, as possíveis soluções para esse problema seriam a troca de arquitetura da rede convolucional, ou um aumento no número de amostras disponíveis para treinamento. Por fim, os modelos que utilizaram a MFCC apresentaram o melhor desempenho nas etapas de treino e validação, sem apresentar problemas na etapa de treinamento. Dessa forma foi possível observar o aumento da acurácia e diminuição das perdas, para os conjuntos de treino e validação. No entanto, ao avaliarmos a performance utilizando o conjunto de testes, a acurácia geral ficou em 60%, já para o desempenho por classe, observa-se que o modelo conseguiu diferenciar grande parte das emoções do problema, apresentando uma F1-Score acima de 50 % para todas as classes, exceto para a tristeza. Com o aumento do número de amostras e alteração da arquitetura da rede adicionando novas camadas, a rede utilizando a análise por MFCC, apresentou um desempenho semelhante para todos os conjuntos utilizados, ultrapassando 90% de acurácia para os conjuntos de treino e validação. Já para o desempenho por classe, diferente dos modelos anteriores, a rede não só conseguiu diferenciar as classes, como foi possível notar um aumento na precisão e sensibilidade para todas as classes, exceto aquelas que possuíam um baixo número de amostras. 51 No entanto, a diferença no número de áudios por gênero influenciou diretamente o desempenho da rede, implicando em diferenças significativas de performance para todas as classes. Portanto, conclui-se que o classificador de emoções através da fala, baseado na combinação da arquitetura de redes neurais convolucionais e representações de tempo- frequência, apresentou o melhor desempenho ao utilizar como técnica de análise a MFCC. Ao aumentar o número de amostras no conjunto de dados e o número de camadas da CNN, foi possível observar um aumento no desempenho do modelo e uma diferença de desempenho com ainda mais facilidade, destacando os resultados animadores obtidos para MFCC. Os resultados mostram ainda, que é possível utilizar modelos baseados em algoritmos de aprendizado de máquina para auxiliar os médicos e profissionais da saúde em diferentes contextos. Sistemas de análise e reconhecimento emocional baseados em textos, sons e imagens podem auxiliar os profissionais durante consultas médicas e internações com os pacientes, de maneira simples, rápida e eficaz. 52 REFERÊNCIAS AMIRUDDIN, BP; KADIR, REA. CNN Architectures Performance Evaluation for Image Classification of Mosquito in Indonesia. In: INTERNATIONAL SEMINAR ON INTELLIGENT TECHNOLOGY AND ITS APPLICATIONS (ISITIA), 2020, Surabaya. Paper… Surabaya. Department of Electrical Engineering, 2020 BEJAN, A. Human evolution is biological & technological evolution. Bio systems. Vol. 195, jul 2020 HELM, JM; SWIERGOSZ, AM; HAEBERLE, HS. Machine Learning and Artificial Intelligence: Definitions, Applications, and Future Directions. Springer Science. jan, 2020 HOSSAIN, MS; MUHAMMAD G, Emotion Recognition Using Deep Learning Approach from Audio-Visual Emotional Big Data. Information Fusion. Set, 2018 HUZAIFAH, M. Comparison of Time-Frequency Representations for Environmental Sound Classification using Convolutional Neural Networks. Jun, 2017 JOSHI, A.V. Machine Learning and Artificial Intelligence. Switzerland: Springer, 2020 LIVINGSTONE, SR; RUSSO, FA. The Ryerson Audio-Visual Database of Emotional Speech and Song (RAVDESS). SMART LaB. 2018. Disponível em: < https://smartlaboratory.org/ravdess/>. Acesso em: 25 ago 2021. MIOTTO, R; WANG, F; WANG, S et al. Deep learning for healthcare: review, opportunities and challenges, Briefings in Bioinformatics, p.1-11, 2017 NESS, M et al. Healthcare providers' challenges during the coronavirus disease (COVID- 19) pandemic: A qualitative approach. Nursing & health sciences, v. 23,2, jun. 2021 ONGSULEE, P. Artificial Intelligence, Machine Learning and Deep Learning. In: INTERNATIONAL CONFERENCE ON ICT AND KNOWLEDGE ENGINEERING, 15., 2017, Bangkok. Department of Computer Science Faculty of Science, Siam University 53 REJAIBI, E; KOMATY, A; MERIAUDEAU, F. MFCC-based Recurrent Neural Network for automatic clinical depression recognition and assessment from speech. Biomedical Signal Processing and Control, set, 2021 RUSSEL, SJ; Norvig, P. Artificial Intelligence: A Modern Approach. 3. ed. New Jersey: Pearson, 2010. VINODHINI, G., CHANDRASEKARAN, R.M., A Comparative Performance Evaluation of Neural network based approach for Sentiment Classification of Online Reviews, Journal of King Saud University - Computer and Information Sciences, 2015. WARING, J et al. Automated machine learning: Review of the state-of-the-art and opportunities for healthcare. Artificial intelligence in medicine vol. 104, fev. 2020