53
UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Utilizando sinais sinusoidais artificiais para auxiliar no treinamento de Redes Neurais Paulo Pinheiro Lemgruber Jeunon Sousa São Carlos – SP

Utilizando sinais sinusoidais artificiais para auxiliar no

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Utilizando sinais sinusoidais artificiais para auxiliar no

UNIVERSIDADE DE SÃO PAULOInstituto de Ciências Matemáticas e de Computação

Utilizando sinais sinusoidais artificiais para auxiliar notreinamento de Redes Neurais

Paulo Pinheiro Lemgruber Jeunon Sousa

São Carlos – SP

Page 2: Utilizando sinais sinusoidais artificiais para auxiliar no
Page 3: Utilizando sinais sinusoidais artificiais para auxiliar no

Utilizando sinais sinusoidais artificiais para auxiliar no treinamentode Redes Neurais

Paulo Pinheiro Lemgruber Jeunon Sousa

Orientador: Prof. Dr. Moacir Antonelli Ponti

Monografia final de conclusão de curso apresentadaao Instituto de Ciências Matemáticas e deComputação – ICMC-USP, como requisito parcialpara obtenção do título de Bacharel em Engenhariada Computação.Área de Concentração: Aprendizado de Máquina

USP – São CarlosJulho de 2020

Page 4: Utilizando sinais sinusoidais artificiais para auxiliar no

Sousa, Paulo Pinheiro Lemgruber JeunonUtilizando sinais sinusoidais artificiais para

auxiliar no treinamento de Redes Neurais / PauloPinheiro Lemgruber Jeunon Sousa. – São Carlos – SP, 2020.

51 p.; 29,7 cm.

Orientador: Moacir Antonelli Ponti.Monografia (Graduação) – Instituto de Ciências

Matemáticas e de Computação (ICMC/USP), São Carlos –SP, 2020.

1. Aprendizado de Máquina. 2. Ciência de dados. I.Ponti, Moacir Antonelli. II. Instituto de CiênciasMatemáticas e de Computação (ICMC/USP). III. Título.

Page 5: Utilizando sinais sinusoidais artificiais para auxiliar no

RESUMO

P. LEMGRUBER JEUNON, P.. Utilizando sinais sinusoidais artificiais para auxiliar notreinamento de Redes Neurais. 2020. 51 f. Monografia (Graduação) – Instituto de CiênciasMatemáticas e de Computação (ICMC/USP), São Carlos – SP.

Algoritmos de aprendizado de máquina vem sendo cada vez mais utilizados para resolverproblemas muito difíceis. Em especial, o ramo conhecido como aprendizado profundo (do inglêsdeep learning) tem obtido resultados excepcionais, apresentando algoritmos complexos commuitos parâmetros ajustáveis. Para conseguirem ser treinados efetivamente, eles necessitam deum conjunto de dados muito grande e difícil de ser obtido, uma vez que dados supervisionadosexigem um trabalho muito intenso de classificação manual. Assim, este trabalho busca realizaruma análise do uso de sinais sinusoidais gerados artificialmente com o intuito de auxiliaro treinamento desses algoritmos, reduzindo a necessidade por conjuntos de dados grandes.Para avaliar o impacto de tais sinais, uma série de experimentos foram realizados, incluindotransferência de aprendizado de redes neurais entre diferentes bandas de frequência e para dadosreais de sensores em um problema de reconhecimento de atividades humanas. Os resultadosobtidos mostram que para alguns casos onde a base de dados de treino é pequena, é possívelobter melhorias com o uso de sinais sinusoidais sintéticos. Com isso, há possibilidade de ganhosem problemas reais que não possuam um conjunto de dados grande.

Palavras-chave: Aprendizado de Máquina, Ciência de dados.

Page 6: Utilizando sinais sinusoidais artificiais para auxiliar no
Page 7: Utilizando sinais sinusoidais artificiais para auxiliar no

LISTA DE ILUSTRAÇÕES

Figura 1 – Diagrama que explica o funcionamento do Perceptron. A entrada é compostade valores x, os quais são multiplicados por pesos w e somados com um valorθ . O resultado passa por uma função de ativação do tipo degrau, que gera asaída. Fonte: Página da imagem na Wikipedia Commons. . . . . . . . . . . 18

Figura 2 – Diagrama que mostra a arquitetura de um Multi Layer Perceptron em formatode grafo cujas conexões são direcionadas da esquerda para a direita. Nessaimplementação a rede possui 2 camadas cada uma com L e q neurôniosrespectivamente e uma camada de entrada que recebe p valores. Fonte: Crop

Yield Forecasting Using Artificial Neural Networks: A Comparison between

Spatial and Temporal Models - Scientific Figure on ResearchGate.. . . . . . 19

Figura 3 – Diagrama que mostra a arquitetura de uma Rede Neural Recorrente emformato de grafo. As entradas são representadas por x e as saídas por o. Oestado interno é representado por h. Fonte: By fdeloche - Own work, CC

BY-SA 4.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Figura 4 – Essa figura mostra o funcionamento dos filtros em uma camadas convolu-cional. Ao utilizar convolução, processa-se informações locais utilizandocada posição (x,y) como centro: essa região é chamada de campo receptivo.Seus valores são então usados como entrada para um filtro i com parâmetroswi, produzindo um único valor (pixel) no mapa de características f (i,x,y)

gerado como saída. Fonte: (PONTI; COSTA, 2018). . . . . . . . . . . . . 21

Figura 5 – Diagrama que mostra de forma ilustrativa como a transferência de aprendi-

zado funciona em RNAs. Fonte: Imagem fornecida por XANADU’s PENNY-

LANE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Figura 6 – Gráfico que mostra uma estimação precisa do espectro de potência da ondasintética, o250

1 , gerada entre 1 e 250Hz com componentes espaçadas por 1Hz.O eixo horizontal representa frequência em Hz e o eixo vertical representatensão ao quadrado, representando potência para um circuito com resistênciade 1 Ω. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Figura 7 – Gráfico que mostra uma estimação precisa do espectro de potência da ondasintética, o500

250, gerada entre 1 e 500Hz com componentes espaçadas por 1Hz.O eixo horizontal representa frequência em Hz e o eixo vertical representatensão ao quadrado, representando potência para um circuito com resistênciade 1 Ω. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Page 8: Utilizando sinais sinusoidais artificiais para auxiliar no

Figura 8 – Gráfico que mostra uma estimação precisa do espectro de potência da ondasintética, o700

350, gerada entre 1 e 700Hz com componentes espaçadas por 1Hz.O eixo horizontal representa frequência em Hz e o eixo vertical representatensão ao quadrado, representando potência para um circuito com resistênciade 1 Ω. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Figura 9 – Gráfico mostra a arquitetura de rede com camadas convolucionais utilizadapara processar os sinais sintéticos. Cada retângulo apresenta uma camada darede e ao lado se tem as entradas e saídas esperadas de cada uma. Elas estãono seguinte formato: (número de amostras, etapas temporais, sinais). . . . . 28

Figura 10 – Gráfico mostra a arquitetura de rede com camadas LSTM utilizada paraprocessar os sinais sintéticos. Cada retângulo apresenta uma camada da redee ao lado se tem as entradas e saídas esperadas de cada uma. Elas estão nosseguintes formatos: (número de amostras, etapas temporais, aspectos) ou(números de amostras, aspectos). . . . . . . . . . . . . . . . . . . . . . . . 29

Figura 11 – Essa figura apresenta no eixo vertical a medida de perda calculada comomédia do erro ao quadrado para a rede recorrente. O eixo horizontal apresentaa época de treinamento/validação. O conjunto de treinamento utilizado érelativo a onda o250

1 e os conjuntos de validação são obtidos das o500250 e o700

350. 30

Figura 12 – Essa figura apresenta no eixo vertical a medida de perda calculada comomédia do erro ao quadrado para a rede convolucional. O eixo horizontalapresenta a época de treinamento/validação. O conjunto de treinamentoutilizado é relativo a onda o250

1 e os conjuntos de validação são obtidos daso500

250 e o700350. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Figura 13 – Essa figura foi gerada durante o treinamento, com a onda o500250, do modelo

recorrente com a camada LSTM transferida. Essa figura apresenta no eixovertical a medida de perda calculada como média do erro ao quadrado domodelo em questão. O eixo horizontal apresenta a época de treinamento. . 31

Figura 14 – Essa figura foi gerada durante o treinamento, com a onda o700350, do modelo

recorrente com a camada LSTM transferida. Essa figura apresenta no eixovertical a medida de perda calculada como média do erro ao quadrado domodelo em questão. O eixo horizontal apresenta a época de treinamento. . 32

Figura 15 – Essa figura foi gerada durante o treinamento, com a onda o500250, do modelo

recorrente com a camada convolucional transferida. Essa figura apresenta noeixo vertical a medida de perda calculada como média do erro ao quadradodo modelo em questão. O eixo horizontal apresenta a época de treinamento. 32

Figura 16 – Essa figura foi gerada durante o treinamento, com a onda o700350, do modelo

recorrente com a camada convolucional transferida. Essa figura apresenta noeixo vertical a medida de perda calculada como média do erro ao quadradodo modelo em questão. O eixo horizontal apresenta a época de treinamento. 32

Page 9: Utilizando sinais sinusoidais artificiais para auxiliar no

Figura 17 – Essa figura apresenta 3 amostras de 128 etapas temporais do sinal escolhido(eixo X do acelerômetro) relacionados a atividade de andar. O eixo verticalapresenta aceleração em gravidades (Gs) e o eixo horizontal é referente aonúmero da etapa temporal. . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Figura 18 – Valores de perda para cada época de treinamento com o modelo neuralrecorrente treinado com a base de dados para HAR. O eixo vertical indicaa métrica de perda, medida por erro médio ao quadrado (MSE) para cadaamostra. O eixo horizontal mostra a época relacionada medida de perda. . . 35

Figura 19 – Duas ondas sobrepostas: a original vinda da base de dados de teste (eixoY do giroscópio) e a predita utilizando o modelo recorrente com a camadaLSTM tendo como entrada a onda original. . . . . . . . . . . . . . . . . . 36

Figura 20 – Valores de perda para cada época de treinamento com o modelo neuralconvolucional treinado com a base de dados para HAR. O eixo vertical indicaa métrica de perda, medida por erro médio ao quadrado (MSE) para cadaamostra. O eixo horizontal mostra a época relacionada medida de perda. . . 36

Figura 21 – Duas ondas sobrepostas, a original vinda da base de dados de teste e a preditautilizando o modelo convolucional com a camada Conv1D. . . . . . . . . . 37

Figura 22 – Essa figura apresenta o algoritmo usado para avaliar o desempenho das redesneurais recorrente e convolucional para vários conjuntos de treinamento detamanhos diferentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Figura 23 – Essa figura apresenta o resultado do algoritmo apresentado pela Figura 22para os três modelos recorrentes. O eixo vertical indica a perda dada pelocálculo de (MSE) enquanto o horizontal apresenta a quantidade de amostrasde utilizadas durante o treinamento mais a validação. . . . . . . . . . . . . 39

Figura 24 – Essa figura apresenta o resultado do algoritmo apresentado pela Figura 22para os três modelos convolucionais. O eixo vertical indica a perda dada pelocálculo de (MSE) enquanto o horizontal apresenta a quantidade de amostrasde utilizadas durante o treinamento mais a validação. . . . . . . . . . . . . 39

Figura 25 – Essa figura representa o modelo de Autoencoder undercomplete utilizadopara comprimir a representação das ondas oriundas do eixo y do giroscópio.Cada retângulo representa uma camada da rede com o formato de suas asentradas e saídas. As interrogações representam o número de samples dadasque é uma incógnita para o modelo até o momento de treinamento ou predição. 41

Figura 26 – Essa figura mostra a perda em validação e treino do autoencoder undercom-

plete mostrado pela figura Figura 25. O eixo vertical mostra a perda (MSE)enquanto o horizontal representa as épocas de treino. . . . . . . . . . . . . 42

Figura 27 – Essa figura representa duas ondas. A linha azul representa um sinal doconjunto de testes, enquanto a vermelha representa a saída do autoencoder

undercomplete mostrado na Figura 25 tendo o sinal azul como entrada. . . 42

Page 10: Utilizando sinais sinusoidais artificiais para auxiliar no

Figura 28 – Essa figura apresenta o diagrama de fluxo do algoritmo utilizado para avaliaro impacto de dados sintéticos no treinamento do autoencoder apresentadopela Figura 25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Figura 29 – Essa figura apresenta o resultado de validação feito contra o conjunto deteste do sinal real para cada mistura de amostras de ondas reais e sintéticasde treino. As cores dos pontos são relativas somente a linha na qual elesestão contidos. As cores mais próximas do amarelo indicam erros maiores,enquanto as mais próximas da cor roxa indicam uma perda menor. . . . . . 44

Figura 30 – Essa figura apresenta no eixo vertical a medida de perda calculada comomédia do erro ao quadrado para a rede recorrente. O eixo horizontal apresentaa época de treinamento/validação. O conjunto de treinamento utilizado érelativo a onda o700

350 e os conjuntos de validação são obtidos das o500250 e o250

1 . 45Figura 31 – Essa figura apresenta no eixo vertical a medida de perda calculada como

média do erro ao quadrado para a rede convolucional. O eixo horizontalapresenta a época de treinamento/validação. O conjunto de treinamentoutilizado é relativo a onda o700

350 e os conjuntos de validação são obtidos daso500

250 e o2501 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Page 11: Utilizando sinais sinusoidais artificiais para auxiliar no

LISTA DE TABELAS

Tabela 1 – Tabela mostra valores mínimos, máximos e sua diferença para cada ondarelativa a atividade de andar da base de dados de HAR. Os valores foramobtidos a partir do somatório dos deltas absolutos no eixo Y para cada ondaindividualmente. Após esse cálculo, os valores mínimos e máximos para cadaum dos conjuntos de sinais (eixos X ,Y e Z do acelerômetro e giroscópio) foiencontrado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Page 12: Utilizando sinais sinusoidais artificiais para auxiliar no
Page 13: Utilizando sinais sinusoidais artificiais para auxiliar no

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.1 Motivação e Contextualização . . . . . . . . . . . . . . . . . . . . . . 131.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 Organização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 MÉTODOS, TÉCNICAS E TECNOLOGIAS UTILIZADAS . . . . . 152.1 Considerações iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Sinais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2.1 Espectro de Potência . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.2 Sinais Sinusoidais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 Aprendizado de Máquina . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.1 Redes Neurais Artificiais (RNA) . . . . . . . . . . . . . . . . . . . . . 172.3.2 Redes Neurais Recorrentes . . . . . . . . . . . . . . . . . . . . . . . . 192.3.3 Redes Neurais Convolucionais . . . . . . . . . . . . . . . . . . . . . . . 202.3.4 Autoencoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.5 Transferência de Aprendizado . . . . . . . . . . . . . . . . . . . . . . . 222.4 Ferramentas de desenvolvimento . . . . . . . . . . . . . . . . . . . . . 232.4.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.2 TensorFlow & Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.3 Jupyter Notebook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . 253.1 Considerações Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2 Desenvolvimento dos experimentos . . . . . . . . . . . . . . . . . . . 253.2.1 Obtenção das ondas sintéticas . . . . . . . . . . . . . . . . . . . . . . 253.2.2 Técnicas de pré-processamento utilizadas . . . . . . . . . . . . . . . . 273.2.3 Criação e teste de modelos com ondas sintéticas . . . . . . . . . . . 273.2.4 Transferência de aprendizado entre ondas sintéticas . . . . . . . . . 313.2.5 Preparação de sinais temporais reais . . . . . . . . . . . . . . . . . . . 313.2.6 Treinamento com auxílio de sinais sintéticos para regressão de sinais

reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.7 Compressão da representação de sinais reais com auxílio de ondas

sintéticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Page 14: Utilizando sinais sinusoidais artificiais para auxiliar no

3.3 Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.1 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

ANEXO A LINKS RELACIONADOS . . . . . . . . . . . . . . . . . . 51

Page 15: Utilizando sinais sinusoidais artificiais para auxiliar no

13

Capítulo 1

INTRODUÇÃO

1.1 Motivação e Contextualização

Aprendizado de máquina pode ser definido como a área que busca por algoritmos capazesde aprender conceitos por meio de exemplos. Esse tipo de abordagem está se tornando umadas ferramentas mais utilizadas para resolver uma grande variedade de problemas cada vezmais complexos (MELLO; PONTI, 2018). Em particular, o ramo conhecido por aprendizadoprofundo (do inglês deep learning) (GOODFELLOW; BENGIO; COURVILLE, 2016) tem sedestacado possibilitando aprender representações com boa generalização e altamente aplicáveisem diferentes cenários (BENGIO; COURVILLE; VINCENT, 2013). Ainda que esses métodosconsigam lidar com problemas complexos, sua complexidade também aumenta o que, segundoa teoria de aprendizado de máquina, torna necessário maior quantidade de dados para seremtreinados (MELLO; PONTI, 2018). Entretanto, a obtenção de conjuntos de dados supervisionadosainda é um processo intensamente manual e demorado, o que muitas vezes prejudica o avançodessa área.

Assim, técnicas que reduzam a quantidade necessária de dados coletados e/ou classifica-dos possuem demanda. Para redes neurais artificiais é possível fazer a transferência de camadasentre diferentes modelos podendo reaproveitar parte do conhecimento obtido para um problemadiferente (PONTI et al., 2017). Isso permite que, ao invés de realizar o treinamento a partir deparâmetros aleatórios, se utilizem como ponto de partida parâmetros já ajustados para uma basede dados de origem, a qual representa um problema distinto do alvo que se deseja resolver, pro-cesso conhecido por ajuste fino (no inglês fine-tuning). Outra maneira encontrada para se reduziro impacto de conjuntos de dados insuficientes, ou ainda para melhorar os resultados obtidos como conjunto original, é um processo chamado de data augmentation que visa modificar dados jápresentes nos conjuntos de treino e validação (SHORTEN; KHOSHGOFTAAR, 2019).

Em problemas que lidam com dados muito específicos, como ocorre com sinais de ace-lerômetro, há maior dificuldades de encontrar bases de dados e a transferência de conhecimentode redes neurais pode ser tornar inviável. Tome por exemplo problemas de reconhecimentode atividade humana, que se baseia em um conjunto de dados de entrada muito específicopara o conjunto de atividades que se quer classificar. Isso torna as entradas de vários modelosincompatíveis com outros, bloqueando a possibilidade de se fazer a transferência de dados. Otrabalho de Wang et al. (2019) mostra esse efeito, ao testar vários conjuntos de dados feitos

Page 16: Utilizando sinais sinusoidais artificiais para auxiliar no

14 Capítulo 1. Introdução

para classificar tarefas similares (atividades feitas no cotidiano) que possuem vários sensoresdiferentes, assim como taxas de amostragem distintas.

Perante a isso, a possibilidade de se utilizar dados gerados artificialmente para auxiliarna tarefa de treinamento para modelos que lidam com entradas sequenciais de baixo nível deinformação se mostra interessante. Assim, busca-se nesse estudo avaliar a aplicabilidade do usode sinais com componentes sinusoidais (compostas por senos e cossenos) simulados no auxíliode problemas supervisionados de regressão e de não supervisionados na compressão do espaçode características.

1.2 ObjetivosOs objetivo principal é compreender a viabilidade do uso de sinais sinusoidais artificiais

no auxilio do processo de treinamento de redes neurais com dados reais. Para isso uma série deexperimentos serão realizados focando em:

• Quais características de um sinal sinusoidal artificial são generalizadas por uma rede neuralartificial.

• A viabilidade do uso de sinais sinusoidais artificiais:

– No auxílio do treinamento de redes neurais artificiais para regressão com sinais reais(supervisionado).

– No auxílio do treinamento de redes neurais artificiais para compressão de um ondareal (não supervisionado).

As avaliações vão ser baseadas nos desempenhos dos modelos sem a influência dos dadossintéticos e, posteriormente, com essa influência.

1.3 OrganizaçãoO Capítulo 2 apresenta a introdução à base teórica utilizada ao longo do projeto. O

Capítulo 3 explica os experimentos realizados e os dados obtidos para se avaliar o uso de sinaisartificiais como forma de auxiliar no treinamento de modelos de redes neurais. Além disso, osresultados obtidos são apresentados e discutidos. Por fim, o Capítulo 4 apresenta a conclusãoobtida após o término das atividades de desenvolvimento assim como algumas ideias paratrabalhos futuros.

Page 17: Utilizando sinais sinusoidais artificiais para auxiliar no

15

Capítulo 2

MÉTODOS, TÉCNICAS E TECNOLOGIASUTILIZADAS

2.1 Considerações iniciaisNesse capítulo se abordará conceitos teóricos relacionados a sinais e algoritmos de

aprendizado de máquina. Além disso as ferramentas escolhidas na elaboração do trabalhotambém serão abordadas, uma vez que o ambiente de desenvolvimento e teste é muito importante.

2.2 SinaisPara essa seção utiliza-se como base o trabalho de Proakis John G.; Manolakis (2007).

No contexto de eletrônica e computação, um sinal é uma quantidade física que varia de acordocom o tempo, espaço ou qualquer outra grandeza. Essa quantidade representa informação sobreo que está sendo medido. Um exemplo disso é a simples medição da tensão de uma bateria. Agrandeza nesse caso é a tensão, medida em volts, e ela representa quanta energia ainda restadentro da bateria. Quando essa medição passa a ser feita ao longo do tempo é possível dizerque se tem um sinal da tensão pelo tempo. Um outro exemplo é uma imagem, cujos valores nãovariam de acordo com o tempo, mas com a posição do ponto em um plano.

Existem dois tipos de sinais: analógico e digital. O sinal analógico é contínuo, ou seja,possui derivadas definidas em qualquer ponto. Já o digital é caracterizado por ter todas as suasgrandezas físicas discretas. Os sistemas eletrônicos que estão presentes no dia a dia lidam comesses dois tipos de sinais constantemente.

Basicamente todos os dispositivos que realizam computação (calculadoras, computadores,micro-controladores etc) são digitais. Entretanto, no mundo físico, os dados coletados porsensores, como microfones e acelerômetros, vem como sinais analógicos. Esses dados precisamser digitalizados para que nossos dispositivos digitais consigam analisá-los e armazená-los. Essaconversão é extremamente importante e foi muito estudada para que informação sobre o sinalnão seja perdida e que o mesmo possa ser transformado de volta para um sinal analógico semdistorções.

Para que a conversão de um sinal analógico para um sinal digital possa ocorrer semperda de informação, o Teorema de Nyquist deve ser observado. Ele mostra que a taxa de

Page 18: Utilizando sinais sinusoidais artificiais para auxiliar no

16 Capítulo 2. Métodos, Técnicas e Tecnologias Utilizadas

amostragem deve ser igual ou maior que o dobro da frequência máxima do sinal sendo amostrado.Amostragem é o ato de coleta de valores de um sinal em um intervalo de tempo cuja duração seaproxima de zero. Um exemplo desse conceito é na codificação de um CD de música, em que oáudio é amostrado a 44.1kHz o que significa que é possível reconstruir um sinal cuja frequênciamáxima é de ≈ 44.1kHz

2 = f 22.05kHz. Quando a audição humana é analisada, pode-se perceberque frequência máxima que é captada pelos ouvidos é de ≈ 20kHz, logo o áudio codificado emCD possui banda de frequência suficiente para armazenar música sem distorções perceptíveispor humanos.

Esse conceito é essencial na aplicação de algoritmos cuja saída será convertida para umsinal analógico. Esse é o caso de redes neurais profundas que geram música autonomamentee que, por isso, devem estar preocupadas com a amostragem e frequências da onda de saída(ENGEL et al., 2019).

2.2.1 Espectro de Potência

O espectro de potência de um sinal é uma medida que mostra a intensidade de cadacomponente de frequência que o compõe. Isso é muito útil para avaliar características de umsinal. Essa informação é obtida após tomar Transformada de Fourier do sinal, decompondo-o emum somatório de funções de base sinusoidais assim fornecendo suas componentes de frequênciarelacionadas as suas intensidades. Nesse trabalho, foi utilizado o método de Welch (WELCH,1967) que faz uso de transformadas de Fourier rápidas para obter o espectro de potência dossinais gerados.

2.2.2 Sinais Sinusoidais

Sinais sinusoidais são sinais que são senos, cossenos ou uma combinação de ambos. Comisso, são também periódicos. O teorema de Fourier diz que qualquer sinal contínuo e periódicopode ser representado por um somatório de senos e cossenos. Além disso, uma onda que não sejaperiódica ainda pode ser representada por esse somatório, desde que ela esteja em um intervalodefinido e finito.

2.3 Aprendizado de Máquina

Aprendizado de Máquina é o estudo de algoritmos que aprendem a partir de exemplosem um conjunto de dados (MELLO; PONTI, 2018). Existem famílias de métodos dentro dessaárea de estudo, cada um sendo focado em categorias de problemas diferentes e possuindocaracterísticas de aprendizado distintas. Para o propósito deste trabalho, serão descritas as deaprendizado supervisionado: as quais precisam de anotação, e não-supervisionado: que nãoprecisam de anotação para executarem.

Page 19: Utilizando sinais sinusoidais artificiais para auxiliar no

2.3. Aprendizado de Máquina 17

Seja X um conjunto de dados disponível para treinamento, e Y um conjunto opcional derótulos relacionados a instâncias de X . Um exemplo xi ∈ X é considerado rotulado se existir umyi ∈ Y que representa a sua supervisão por um especialista.

Dentro da categoria de aprendizado supervisionado pode-se resolver problemas declassificação ou regressão, o que pode ser descrito por meio da inferência de uma funçãof : X → Y . Os métodos buscam estimar a distribuição de probabilidade conjunta P(X ,Y ) queexplique a relação entre os dois espaços. Na classificação, Y representa um conjunto discretode classes ou categorias possíveis para os exemplos. Um problema clássico é o de classificar asub-espécie Y da flor íris a partir dos valores de largura e comprimento das pétalas e da sépala daflor que compõem o espaço X . Na regressão, o mapeamento tem como resultado um intervalode valores possíveis, não associados semanticamente a categorias. Por exemplo, inferir o preçode um imóvel com base em sua localização e metragem quadrada pode ser colocado como umatarefa de regressão

Métodos não supervisionados utilizam como entrada apenas o espaço X , que não contamcom anotação. Assim, algoritmos dessa categoria comumente utilizam abordagens baseadas na(dis)similaridade entre os exemplos ou ainda baseadas na compressão ou quantização do espaçoX como vistas a descobrir estruturas ou grupos nesse espaço, o que pode ser interpretado comoestimar a distribuição de probabilidade P(X). Aplicações nesse cenário envolvem sumarizaçãode dados, explicação de características e detecção de anomalias.

2.3.1 Redes Neurais Artificiais (RNA)

Redes Neurais Artificiais (GOODFELLOW; BENGIO; COURVILLE, 2016; MELLO;PONTI, 2018) são um tipo de algoritmo de aprendizado de máquina inspirado no funcionamentodo cérebro humano, tendo a capacidade de aprender uma transformação desejada de formaautomática. Elas são genéricas o suficiente para que o usuário não precise fornecer regrasespecíficas da tarefa, somente um conjunto de dados relevantes de entrada com suas respectivassaídas desejadas. Essa classe de algoritmos está sendo exaustivamente pesquisada e utilizada emprodutos comerciais atualmente devido a sua capacidade de resolver problemas muito complexos,como segmentação semântica de imagens (LIU; DENG; YANG, 2019).

Uma das primeiras RNAs foi o Perceptron que serviu de base para vários outros tipos dealgoritmos mais complexos. Esse consiste em uma unidade de processamento chamada neurônioque recebe uma lista de valores como entrada e, a partir deles, gera como saída uma respostabinária: 0 ou 1.

A Figura 1 ilustra o método, dada uma sequência de entradas (x1,x2, ...,xn) cada qualassociada a um peso (w0,w1, ...,wn) (que define a força da conexão), o Perceptron irá calcular ovalor de saída de acordo com a Equação (2.1). Esse cálculo, para qualquer Rede Neural Artificial,é chamado de feed-foward e tem esse nome devido ao caminho no qual os dados percorrem (da

Page 20: Utilizando sinais sinusoidais artificiais para auxiliar no

18 Capítulo 2. Métodos, Técnicas e Tecnologias Utilizadas

Figura 1 – Diagrama que explica o funcionamento do Perceptron. A entrada é composta de valores x, os quais sãomultiplicados por pesos w e somados com um valor θ . O resultado passa por uma função de ativação dotipo degrau, que gera a saída. Fonte: Página da imagem na Wikipedia Commons.

entrada da rede para a saída).

neuron(x) =

(n

∑t=1

xt ·wt

)+w0

activation_function(x) =

1 x≥ 0

0 x≤ 0

perceptron(x) = activation_ f unction(neuron(x))

(2.1)

Além da predição, as RNAs deve ser capazes de aprender sozinhas a partir de umabase de dados. O feed-forward não treina uma rede por si só, ele só faz ela utilizar seu estadoatual mais os valores de entrada para produzir um valor na saída. O estado desses algoritmos érepresentado pelos seus pesos e são eles que devem ser modificados durante o processo de treinona tentativa de fazer a saída convergir para o resultado esperado. Existem 3 cálculos básicospara que se possibilite que qualquer RNA consiga aprender a resolver um problema de formaautomática:

Função de perda: Essa função é responsável por analisar o valor de saída do modelo e compararcom o valor esperado que deve ser fornecido pelo conjunto de dados de treinamento. Assim,ela consegue avaliar o quão distante está a saída do seu algoritmo em relação a respostacorreta.

Função de gradiente: O objetivo dessa função é calcular o gradiente da função de perda emrespeito a todos os pesos da rede. A interpretação necessária sobre um gradiente nessecaso é a de que ele provê a direção de maximização (ou minimização) de uma dada função.Quando se está querendo reduzir o erro, deve-se modificar os pesos da rede em ordema seguir a direção inversa. O algoritmo que possibilita isso ocorrer em RNAs de formaeficiente é chamado de Backpropagation (GOODFELLOW; BENGIO; COURVILLE,2016).

Page 21: Utilizando sinais sinusoidais artificiais para auxiliar no

2.3. Aprendizado de Máquina 19

Algoritmo de otimização: Ela utiliza os gradientes fornecidos pelo Backpropagation e calculaos novos valores de cada peso. Uma das funções mais simples desse tipo é o gradientedescendente ou Gradient descent em inglês como é mais conhecida.

O próximo passo para uma rede neural artificial mais complexa e capaz de resolveruma gama maior de problemas foi o Multi Layer Perceptron. Ela é basicamente formada pelacomposição e conexão de vários Perceptrons, possuindo uma ou mais camadas e cada uma delascontendo um ou mais neurônios. A Figura 2 mostra essa rede representada em forma de um grafo.As entradas (x1,x2, ...,xp) são propagadas para todos os neurônios e cada uma dessas conexõesé relacionada a um peso representado pela variável w. No fim dessa rede há múltiplas saídas(y1,y2, ...,yq) o que indica que essa arquitetura classifica os valores da entrada em q diferentesclasses.

Figura 2 – Diagrama que mostra a arquitetura de um Multi Layer Perceptron em formato de grafo cujas conexõessão direcionadas da esquerda para a direita. Nessa implementação a rede possui 2 camadas cada umacom L e q neurônios respectivamente e uma camada de entrada que recebe p valores. Fonte: Crop YieldForecasting Using Artificial Neural Networks: A Comparison between Spatial and Temporal Models -Scientific Figure on ResearchGate..

2.3.2 Redes Neurais Recorrentes

Redes Neurais Recorrentes são outro tipo de Rede Neural Artificial que se especializamem lidar com dados sequenciais. Elas possuem um estado interno que é atualizado a cada novaamostra e aprende a guardar informações relevantes para serem utilizadas ("lembradas") em futu-ros processamentos. Isso é possível pois essas redes possuem uma conexão de retroalimentaçãoutilizada para carregar um estado interno de uma execução anterior para uma mais recente. AFigura 3 mostra uma representação em grafo dessa rede.

Page 22: Utilizando sinais sinusoidais artificiais para auxiliar no

20 Capítulo 2. Métodos, Técnicas e Tecnologias Utilizadas

Figura 3 – Diagrama que mostra a arquitetura de uma Rede Neural Recorrente em formato de grafo. As entradassão representadas por x e as saídas por o. O estado interno é representado por h. Fonte: By fdeloche -Own work, CC BY-SA 4.0.

As primeiras Redes Neurais Recorrentes sofriam de um problema chamado Vanishing

Error Problem que as limitava na quantidade máxima de etapas temporais, mais conhecidascomo time steps em inglês. Isso ocorre devido a dificuldades no processo de treinamento quefazia com que os sinais de erro dados pelo Backpropagation tendiam a crescer ou diminuir muitoa cada etapa temporal. Com isso, uma rede com mais de 10 timesteps tinha dificuldades deconvergir durante a etapa de treino como mostrado por Staudemeyer e Morris (2019)

Com o intuito de resolver esse problema, um novo tipo de Rede Neural Recorrente foiproposto, chamado de Long Short-Term Memory ou LSTM. A solução encontrada foi o Constant

Error Carousel (CEC) que é uma maneira de se aplicar uma taxa constante de erro dentro dealgumas células da rede (STAUDEMEYER; MORRIS, 2019) (página 19).

2.3.3 Redes Neurais Convolucionais

Redes neurais convolucionais apresentam camadas que realizam operações de convoluçãosobre os dados. Essas camadas utilizam dados próximos ao campo receptivo para modificarseu valor, extraindo/ressaltando características da entrada. Normalmente são utilizadas parao processamento de imagens, mas também possuindo sucesso em outras áreas como para amodelagem de sequências de dados (BAI; KOLTER; KOLTUN, 2018).

Em uma camada convolucional possui filtros que são análogos aos neurônios em umacamada totalmente conectada. Esses filtros possuem núcleos (kernels) que são matrizes de pesos,tendo dimensões configuráveis. Quando uma entrada é dada para esses filtros, como uma imagem,por exemplo, seus núcleos são centrados em cada um dos pixel e utilizam os valores ao redor e odo próprio junto com seus pesos para atribuir um novo valor para o pixel em questão. A Figura 4ilustra o funcionamento dos filtros em uma camada convolucional.

Page 23: Utilizando sinais sinusoidais artificiais para auxiliar no

2.3. Aprendizado de Máquina 21

Figura 4 – Essa figura mostra o funcionamento dos filtros em uma camadas convolucional. Ao utilizar convolução,processa-se informações locais utilizando cada posição (x,y) como centro: essa região é chamadade campo receptivo. Seus valores são então usados como entrada para um filtro i com parâmetroswi, produzindo um único valor (pixel) no mapa de características f (i,x,y) gerado como saída. Fonte:(PONTI; COSTA, 2018).

2.3.4 Autoencoders

Um autoencoder é um tipo de RNA que procura aproximar uma função identidade. Ouseja, dado uma amostra da base de treinamento x, ele tentará produzir uma saída x que seja o maissemelhante possível à entrada x (PONTI et al., 2017). O modelo possui duas etapas, um encoderque mapeia a entrada num espaço intermediário restrito, g : X → Z, e um decoder h : Z→ X ,que tenta reconstruir a entrada a partir do espaço intermediário Z. Nesse caso o interesse está noaprendizado de Z. O autoencoder é overcomplete, quando a dimensionalidade de Z é maior ouigual a entrada, ou undercomplete, quando é menor. Para esse estudo a abordagem undercomplete

é utilizada.

Enquanto o processo de treinamento busca por uma reconstrução o mais perfeita possível,encontra-se uma representação intermediária que possua as informações mais relevantes o que éuma forma de aprender padrões. Esse tipo de rede realiza aprendizado não supervisionado, ouseja, os dados não precisam ser rotulados.

Autoencoders normalmente são constituídos de múltiplas camadas que durante no enco-

der vão reduzindo gradativamente a representação dos dados até chegar na camada de bottleneck

que é onde a entrada está mais comprimida. O decoder normalmente tem camadas similares aoencoder já que ele deve realizar a transformada do código dado pela bottleneck para um sinalo mais semelhante ao de entrada possível. Essas camas podem ser convolucionais, totalmenteconectadas e recorrentes.

Page 24: Utilizando sinais sinusoidais artificiais para auxiliar no

22 Capítulo 2. Métodos, Técnicas e Tecnologias Utilizadas

2.3.5 Transferência de Aprendizado

Transferência de Aprendizado no contexto de aprendizado de máquina é quando seutiliza o conhecimento adquirido por um algoritmo, já treinado, em outro (PAN; YANG, 2009).Isso é feito com o intuito de reduzir a quantidade de amostras de treino e/ou tempo necessáriopara treinar do zero um modelo. Esses benefícios são muito importantes em um contexto detreino supervisionado, pois para problemas complexos, o tempo de treinamento e, principalmente,a quantidade de amostras de treino são muito grandes para se obter uma acurácia satisfatória. Aclassificação de uma base de dados é uma tarefa manual, cara e demorada que deve ser evitadamesmo existindo serviços que são oferecidos para isso.

Para RNAs esse tipo de técnica é feita de forma fácil e intuitiva o que também contribuiupara a sua popularização. Nessas redes, as camadas mais próximas das entradas realizam tarefasmais genéricas sobre os dados e extraem características que podem ser úteis para uma gamade outros problemas, como é mostrado na Figura 5. As camadas mais próximas da saída darede são mais especializadas na resolução do problema em questão, uma vez que elas recebemcaracterísticas mais genéricas das entradas e tem que aplicar transformações para chegar noresultado esperado pela atividade. A transferência de aprendizado é muito utilizada atualmentepara redes convolucionais que processam imagens. Nesse caso, as camadas convolucionaisiniciais que extraem características das imagens são removidas da rede original, já treinada, e"transplantadas"para uma nova rede que ter somente novas as camadas finais para aprenderem alógica específica do problema.

Figura 5 – Diagrama que mostra de forma ilustrativa como a transferência de aprendizado funciona em RNAs.Fonte: Imagem fornecida por XANADU’s PENNYLANE.

Page 25: Utilizando sinais sinusoidais artificiais para auxiliar no

2.4. Ferramentas de desenvolvimento 23

2.4 Ferramentas de desenvolvimento

2.4.1 Python

Linguagens de programação são análogas à ferramentas. Apesar de muitas serem descritascomo de propósito geral, elas normalmente apresentam um viés para projetos específicos. Python

é uma das linguagens mais proeminentes em projetos de aprendizado de máquina. Isso acontecedevido a ela possuir um ecossistema com várias ferramentas voltadas para essa área e ser umalinguagem acessível a pessoas até mesmo fora da área de computação.

Outro motivo que atrai muitos projetos a utilizarem Python é o fato dela ter sido feita comum modo REPL que é um acrônimo para Read, Evaluate, Print, Loop. Esse modo de operaçãofaz com que um usuário possa executar pequenos pedaços de código, obter seus resultados,salvar variáveis em memória e ao invés do programa terminar após sua execução, ele esperapróximas instruções para continuar. Isso faz com que seja muito rápido experimentar modelos deaprendizado de máquina, uma vez que o programador pode executar as partes lentas uma vez,guardar seus resultados e, depois, poder iterar múltiplas vezes sobre elas. Dessa forma não há anecessidade de ter que ficar salvando os dados em disco ou gerando-os novamente sempre quese deseja utilizá-los para alguma análise.

2.4.2 TensorFlow & Keras

Há várias bibliotecas para o desenvolvimento de projetos de aprendizado de máquinaem Python. A escolha de uma delas depende muito do foco do projeto e em quais algoritmospretendem ser utilizados. O TensorFlow (ABADI et al., 2015) é feito para redes neurais artificiais,possuindo um grande conjunto de ferramentas e uma documentação extensa. O problema, aprincípio, apresentado por essa biblioteca é que sua application programming interface ou API

padrão não ser simples de se utilizar e prototipar.

No contexto deste projeto, a agilidade em criar e analisar uma série de modelos éessencial e, por isso, a falta de uma interface amigável faria o TensorFlow ser desconsideradocomo uma opção. Entretanto, além da sua API original, essa biblioteca implementa um outropadrão chamado Keras (CHOLLET et al., 2015). Ele visa uma interface simples, feita parareduzir tempo e esforço na confecção de aplicações de aprendizado de máquina.

2.4.3 Jupyter Notebook

O ambiente de desenvolvimento também é extremamente importante para um projeto desoftware. Ele fornece uma série de ferramentas que auxiliam o desenvolvedor durante a tarefa deprogramação. Assim, para este projeto era necessário um ambiente que provesse agilidade noprocesso de prototipação e teste, assim como uma boa interface para a visualização de dados.

Page 26: Utilizando sinais sinusoidais artificiais para auxiliar no

24 Capítulo 2. Métodos, Técnicas e Tecnologias Utilizadas

Com esses requisitos em mente, o Jupyter (KLUYVER et al., 2016) foi escolhido. Eleapresenta uma interface chamada Notebook que é muito simples e consegue fazer um bom usoda modo REPL do Python. Ela é organizada em células que são unidades separas que podemconter texto puro para documentação ou código que irá rodar separadamente das demais. Quandose salva uma variável em uma delas, ela vai para um contexto global que pode ser acessado dequalquer lugar. Enquanto para o desenvolvimento de qualquer tipo de aplicação de software issoseja muito ruim, quando aplicado para análise de dados, essa flexibilidade é muito bem vinda.

Além disso, quando uma célula executa código para geração de um gráfico ou imagem,ela é renderizada na própria interface. O que foi gerado fica salvo no próprio arquivo, possibi-litando uma futura análise sem a necessidade de executar a célula novamente. Assim, Jupyter

auxiliou muito na velocidade do desenvolvimento de cada um dos experimentos discutidos nesseprojeto.

Page 27: Utilizando sinais sinusoidais artificiais para auxiliar no

25

Capítulo 3

DESENVOLVIMENTO

3.1 Considerações IniciaisEste capítulo aborda experimentos ao redor do tema de transferência de aprendizado em

redes neurais artificiais para as tarefas de regressão e compressão das características do sinal. Amotivação, o desenvolvimento e os resultados são apresentados e discutidos.

3.2 Desenvolvimento dos experimentos

3.2.1 Obtenção das ondas sintéticas

Os sinais sinusoidais necessários para a realização deste trabalho foram gerados por meiode um script em Python. Com uma faixa de frequências fornecida e um passo, o algoritmo gera,a cada iteração, uma onda sinusoidal com uma frequência distinta que será uma componente dosinal final. Para cada componente são escolhidas uma amplitude e fase aleatórias, sendo que aúltima é obtida dentre dois valores: 0° e 180°. A cada iteração o código alterna entre criar umseno ou um cosseno e soma essa onda à onda resultante. A amostragem da onda é igual a 5 vezesa frequência mais alta do intervalo fornecido respeitando o critério de Nyquist. Esse valor de 5vezes foi escolhido também por deixar o sinal com deltas menores de um ponto para outro, oque auxiliava as redes neurais no momento de treinamento.

Assim, com as técnicas mencionadas acima, foram criadas três ondas. Elas serão referidaspelas o250

1 , o500250 e o700

350, possuindo componentes de frequência entre 1 e 250Hz, 250 e 500Hz,e 350 e 700Hz respectivamente. Para garantir que esses sinais apresentam as característicasdesejadas, foi utilizado o método de Welch que faz uso de transformadas de Fourier para obterestimativas do espectro de potência das ondas. Com esse método as Figura 6, Figura 7 e Figura 8foram obtidas a partir das o250

1 , o500250 e o700

350 respectivamente.

Page 28: Utilizando sinais sinusoidais artificiais para auxiliar no

26 Capítulo 3. Desenvolvimento

Figura 6 – Gráfico que mostra uma estimação precisa do espectro de potência da onda sintética, o2501 , gerada entre 1

e 250Hz com componentes espaçadas por 1Hz. O eixo horizontal representa frequência em Hz e o eixovertical representa tensão ao quadrado, representando potência para um circuito com resistência de 1 Ω.

Figura 7 – Gráfico que mostra uma estimação precisa do espectro de potência da onda sintética, o500250, gerada entre 1

e 500Hz com componentes espaçadas por 1Hz. O eixo horizontal representa frequência em Hz e o eixovertical representa tensão ao quadrado, representando potência para um circuito com resistência de 1 Ω.

Page 29: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 27

Figura 8 – Gráfico que mostra uma estimação precisa do espectro de potência da onda sintética, o700350, gerada entre 1

e 700Hz com componentes espaçadas por 1Hz. O eixo horizontal representa frequência em Hz e o eixovertical representa tensão ao quadrado, representando potência para um circuito com resistência de 1 Ω.

3.2.2 Técnicas de pré-processamento utilizadas

Um conjunto de técnicas de pré-processamento foi aplicado em todos os sinais obtidoscom o intuito de auxiliar o treinamento das redes neurais. Inicialmente, eles são diferenciados,ou seja, a onda deixa de conter os valores diretos e passa a conter o delta entre a amostraatual e a anterior. Isso é feito com o intuito de eliminar problemas com sinais caso haja atendência de crescimento ou diminuição dos valores ao longo das amostras. Nesse caso, comsinais sinusoidais, periódicos e com média 0, esse tipo de mudança não gera muito impacto, masao utilizá-la enquadramos a onda gerada artificialmente em um formato muito parecido comvários outros sinais utilizados em aplicações reais.

Além da diferenciação, as ondas passam por um algoritmo chamado de MinMaxScaler

que enquadra suas amplitudes em um certo intervalo. Essa função é fornecida pela bibliotecascikit-learn para Python. Esse processo é de grande importância, pois ao controlar a escala dosdados tende-se a limitar os valores dos pesos das redes neurais artificiais facilitando o treina-mento. Por fim, os dados são janelados com configurações de tamanho e taxa de sobreposiçãodas janelas deslizantes.

3.2.3 Criação e teste de modelos com ondas sintéticas

Com os dados já preparados, a próxima etapa foi a criação e treinamento de dois modelosde RNAs: uma rede neural convolucional e uma rede neural recorrente. Essas escolhas são devido

Page 30: Utilizando sinais sinusoidais artificiais para auxiliar no

28 Capítulo 3. Desenvolvimento

a ótima performance que ambas as arquiteturas apresentam na literatura para processamento desinais sequenciais (BAI; KOLTER; KOLTUN, 2018). Além disso, possuem fácil implementaçãopor meio da biblioteca TensorFlow (ABADI et al., 2015) com a API Keras acelerando o processode desenvolvimento.

O modelo convolucional, apresentado pela Figura 9, possui uma camada Conv1D querealiza a convolução de um sinal unidimensional. Os dados em sua saída possuem duas dimensõesque são achatadas em uma única pela camada Flatten. Isso é necessário, pois a camada Dense

que vem em seguida opera somente sobre vetores com uma dimensão. Essa primeira camadatotalmente conectada (chamada de Dense pelo Keras) faz uso das características mais geraisextraídas do sinal de entrada pela Conv1 para gerar dados mais específicos em relação aoproblema. Essas características mais específicas são utilizadas, por fim, na última camada queapresenta somente um neurônio totalmente conectado. Ele gera uma saída de somente umnúmero, que representa, nesse caso, uma previsão para o ponto seguinte ao último dado na ondade entrada.

O modelo recorrente, apresentado pela Figura 10, apresenta como primeira camadauma célula de memória LSTM que recebe dados sequenciais e para cada etapa dela, realiza umfeed-forward com a amostra e passa o seu resultado e estado para a execução seguinte. No finalela apresenta só a saída da última iteração, que é unidimensional. Assim, não há a necessidadede se introduzir uma camada Flatten. As duas camadas finais são do mesmo tipo das presentesna rede convolucional.

Figura 9 – Gráfico mostra a arquitetura de rede com camadas convolucionais utilizada para processar os sinaissintéticos. Cada retângulo apresenta uma camada da rede e ao lado se tem as entradas e saídas esperadasde cada uma. Elas estão no seguinte formato: (número de amostras, etapas temporais, sinais).

Outro ponto importante sobre a configuração da camada LSTM é que ela está configuradapara não carregar seu estado interno para novas amostras. Com isso, só é possível ela criar

Page 31: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 29

Figura 10 – Gráfico mostra a arquitetura de rede com camadas LSTM utilizada para processar os sinais sintéticos.Cada retângulo apresenta uma camada da rede e ao lado se tem as entradas e saídas esperadas de cadauma. Elas estão nos seguintes formatos: (número de amostras, etapas temporais, aspectos) ou (númerosde amostras, aspectos).

e manter um estado durante o conjunto de valores dados em cada amostra. Essa camada foiconfigurada dessa maneira devido a simplicidade do problema em questão, com sinais periódicose previsíveis não havia a necessidade de se carregar o estado entre múltiplas amostras.

Para ambos os modelos a tangente hiperbólica é função de ativação escolhida paratodas as camadas menos a última, que não possui nenhuma. Ela foi utilizada pois possui umdesempenho ligeiramente melhor, nesse caso, do que a ReLU que é a função de ativação maisutilizada atualmente entre modelos de aprendizado profundo (Deep Learning) (NWANKPA et

al., 2018). A última camada faz uso direto do valor do neurônio e foi configurada assim poisapresenta um desempenho superior a tangente hiperbólica, já que essa atrapalhava o modelo paravalores muito altos e muito baixos.

O procedimento de avaliação da generalização e da transferência de aprendizado entreos dois tipos de redes utilizadas é o mesmo: os modelos serão treinados inicialmente com aonda o250

1 . Com essa etapa feita, e a obtenção da precisão no conjunto de treinamento e teste,as redes são testadas contra as ondas o500

250 e o700350 sem nenhum tipo de re-treinamento. Para os

dois modelos, recorrente e convolucional, os resultados são muito próximos do que foi vistono conjunto de treino inicial. Com isso, é possível concluir que as redes aprenderam umarepresentação generalizável do ponto de vista de frequência (de baixas para altas). A Figura 11mostra esses resultados para a rede recorrente e as Figura 12 apresenta o mesmo para a redeconvolucional. É importante observar nessas figuras que o conjunto de treinamento é relativo aonda o250

1 enquanto o de validação se refere ora a o500250 e ora a o700

350.

Page 32: Utilizando sinais sinusoidais artificiais para auxiliar no

30 Capítulo 3. Desenvolvimento

Figura 11 – Essa figura apresenta no eixo vertical a medida de perda calculada como média do erro ao quadradopara a rede recorrente. O eixo horizontal apresenta a época de treinamento/validação. O conjunto detreinamento utilizado é relativo a onda o250

1 e os conjuntos de validação são obtidos das o500250 e o700

350.

Figura 12 – Essa figura apresenta no eixo vertical a medida de perda calculada como média do erro ao quadradopara a rede convolucional. O eixo horizontal apresenta a época de treinamento/validação. O conjunto detreinamento utilizado é relativo a onda o250

1 e os conjuntos de validação são obtidos das o500250 e o700

350.

Page 33: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 31

3.2.4 Transferência de aprendizado entre ondas sintéticas

Visto a capacidade de generalização do modelo para as ondas sintéticas o2501 , o500

250 e o700350

é previsível inferir que o desempenho será bom ao se transferir as camadas convolucional erecorrente para outras redes. Entretanto, ainda é interessante observar o quão mais rápido será aconvergência das mesmas. Assim, fazendo uso da facilidade de manipular esses modelos pormeio da API Keras, a transferência foi testada.

O procedimento realizado para ambas as arquiteturas foi de treiná-las novamente coma onda o250

1 e copiar a primeira camada colocando-a em modelos idênticos, com as outrascamadas tendo pesos inicializados aleatoriamente. Essa camada transferida, era impedida de sertreinada, só permitindo que as outras tivessem seus parâmetros modificados durante o treino. AsFigura 13 e Figura 14 mostram gráficos relativos ao treinamento com as ondas o500

250 e o700350 do

modelo com a camada LSTM transferida. O mesmo acontece com a rede possuindo a camadaconvolucional transferida, sendo indicado pelas Figura 15 e Figura 16 tendo as ondas o500

250 e o700350

respectivamente como conjunto de treinamento.

Figura 13 – Essa figura foi gerada durante o treinamento, com a onda o500250, do modelo recorrente com a camada

LSTM transferida. Essa figura apresenta no eixo vertical a medida de perda calculada como média doerro ao quadrado do modelo em questão. O eixo horizontal apresenta a época de treinamento.

Com esses dados só é possível afirmar que a rede conseguiu chegar em um bom nível deperda. A causa de não haver uma melhoria perceptível na velocidade de convergência pode seratribuída ao fato do problema ser muitos simples, não exigindo uma arquitetura muito complexa.Assim o estado aleatório inicial dos pesos tem uma importância grande o suficiente para pequenasvariações causarem uma drástica diferença na velocidade de convergência, impossibilitando aaferição de uma melhora ou piora na velocidade de convergência.

3.2.5 Preparação de sinais temporais reais

Para os próximos experimentos, irá se observar a aplicabilidade de se utilizar um sinalsintético no auxílio a uma tarefa que envolve o processamento de um sinal real. Com isso,

Page 34: Utilizando sinais sinusoidais artificiais para auxiliar no

32 Capítulo 3. Desenvolvimento

Figura 14 – Essa figura foi gerada durante o treinamento, com a onda o700350, do modelo recorrente com a camada

LSTM transferida. Essa figura apresenta no eixo vertical a medida de perda calculada como média doerro ao quadrado do modelo em questão. O eixo horizontal apresenta a época de treinamento.

Figura 15 – Essa figura foi gerada durante o treinamento, com a onda o500250, do modelo recorrente com a camada

convolucional transferida. Essa figura apresenta no eixo vertical a medida de perda calculada comomédia do erro ao quadrado do modelo em questão. O eixo horizontal apresenta a época de treinamento.

Figura 16 – Essa figura foi gerada durante o treinamento, com a onda o700350, do modelo recorrente com a camada

convolucional transferida. Essa figura apresenta no eixo vertical a medida de perda calculada comomédia do erro ao quadrado do modelo em questão. O eixo horizontal apresenta a época de treinamento.

Page 35: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 33

sinais de acelerômetros e giroscópios são excelentes candidatos para esse trabalho devido asua similaridade aos sinais sinusoidais sintéticos e a aplicabilidade em vários problemas. Asemelhança abordada é devida a ambas as ondas (artificial e real) não possuírem componentesconstantes, o que as mantém variando ao redor do valor 0 do eixo vertical. Assim, a base de dadosde acelerômetros e giroscópios para o reconhecimento de atividade humana (HAR) (ANGUITAet al., 2013) foi utilizada, sendo obtida por meio do repositório da Universidade da Califórnia(DUA; GRAFF, 2017).

Neste trabalho são utilizados apenas os sinais do acelerômetro e do giroscópio. Na basede dados, os sinais passaram por um filtro passa baixa, atenuando componentes ruidosas acimade 20Hz. Os três sinais de cada sensor (cada um relativo a um eixo cartesiano) são utilizados paraclassificar atividades comuns do dia-a-dia: andar, subir escada, descer escada, sentar, levantar edeitar. Cada um deles é agrupado em janelas de 128 amostras que são relacionadas a uma dasatividades. Para serem extraídos dos arquivos texto que os continham foi necessário um outroscript feito em Python. Ele obtinha os seis sinais de entrada e os agrupava de acordo com suaatividade humana classificada no conjunto de dados. Assim, todos os sinais relativos a ação decaminhar eram agrupados juntos. Isso foi feito para ser mais fácil escolher uma entre as seisondas para se realizar regressão.

Para este trabalho o sinal escolhido foi o do eixo Y do giroscópio para a atividade deandar. Essa atividade foi escolhida pois é uma das que apresenta maiores porcentagens de acertonesse conjunto de dados (ZEBIN et al., 2018). O sinal foi escolhido pois apresenta um padrãoentre várias amostras o que possibilita que um modelo consiga aprender a realizar sua regressão.Para se chegar a essa conclusão, todas as ondas relacionadas a atividade escolhida tiveram osomatório absoluto de suas variações no eixo Y calculados. Após isso se obteve os máximos emínimos para cada uma das 6 ondas presentes no conjunto de dados e a Tabela 1 foi montada.A onda do eixo Y do giroscópio apresenta a menor distância entre o maior e menor valor, oque indica que ela tende a ser mais uniforme entre diferentes instâncias. Os deltas nos eixos X

dos sinais não foram considerados, uma vez que apresentam a mesma variação já que foramcoletados com a mesma taxa de amostragem.

Onda Valor mínimo Valor máximo ∆(máximo e mínimo)Eixo X do acelerômetro 7.997 42.387 34.390Eixo Y do acelerômetro 8.520 89.727 81.207Eixo Z do acelerômetro 6.084 29.746 23.662Eixo X do giroscópio 3.767 19.533 15.766Eixo Y do giroscópio 3.626 15.267 11.641Eixo Z do giroscópio 2.431 15.801 13.370

Tabela 1 – Tabela mostra valores mínimos, máximos e sua diferença para cada onda relativa a atividade de andar dabase de dados de HAR. Os valores foram obtidos a partir do somatório dos deltas absolutos no eixo Ypara cada onda individualmente. Após esse cálculo, os valores mínimos e máximos para cada um dosconjuntos de sinais (eixos X ,Y e Z do acelerômetro e giroscópio) foi encontrado.

Page 36: Utilizando sinais sinusoidais artificiais para auxiliar no

34 Capítulo 3. Desenvolvimento

A Figura 17 apresenta 3 amostras de ondas do sinal real escolhido e é possível observarque apresentam padrões em comum. Por fim, o mesmo pré-processamento aplicado ao sinalsintético foi empregado aqui. A onda oriunda do eixo Y do giroscópio foi diferenciada e depoisnormalizada entre um intervalo especificado por meio da função MinMaxScaler da bibliotecasklearn (PEDREGOSA et al., 2011). Após esses dois processos, o sinal foi janelado, com umcuidado para garantir que não houvesse janelas que possuíssem sinais vindos de instânciasdiferentes da mesma atividade.

Figura 17 – Essa figura apresenta 3 amostras de 128 etapas temporais do sinal escolhido (eixo X do acelerômetro)relacionados a atividade de andar. O eixo vertical apresenta aceleração em gravidades (Gs) e o eixohorizontal é referente ao número da etapa temporal.

3.2.6 Treinamento com auxílio de sinais sintéticos para regressão desinais reais

Com dados reais do giroscópio já preparados, foi testada a capacidade de uma ondagerada artificialmente auxiliar no treinamento de uma RNA. O procedimento para esta etapaé muito similar ao visto na seção 3.2.4. O cenário de treino é o mesmo: a rede tem o objetivode prever pontos futuros recebendo como entrada pontos anteriores da onda oriunda do eixodo giroscópio. Isso foi mantido pois com uma saída completamente dependente da entrada émais fácil identificar se as redes são capazes de generalizar o conhecimento obtido dos sinaissintéticos e transferi-lo para a aplicação com sinal real.

Os modelos são os mesmos utilizados anteriormente, apresentando somente um aumentonas quantidades de neurônios contidas em cada camada. Isso é devido ao problema ser muitosimilar ao testado na seção 3.2.4, mas apresentando ondas que não são periódicas e possuemvariância. Assim somente um aumento na quantidade de neurônios por camada foi suficientepara se obter um bom desempenho e evitar efeitos como o overfit.

Page 37: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 35

Inicialmente, para se efetuar a transferência de aprendizado, os modelos tiveram que sertreinados com uma onda sintética. A o250

1 foi escolhida por apresentar um espectro de frequênciamais próximo ao dos sinais de giroscópio presentes na base de dados e por possuir uma variaçãomaior entre as frequências mais lentas e as mais rápidas o que tende a forçar um aprendizadomais genérico. Assim, após o treino, já é possível extrair camadas treinadas com sinais sintéticospara se utilizar nas transferências.

Após essa etapa, foi necessário treinar as redes do zero somente com os sinais reaisobtidos por meio da base de dados. Assim é possível saber qual o melhor desempenho esperadoapós a transferência de camadas e se os modelos realmente tem a capacidade de aprender aprever essas ondas. Com isso, as Figura 18 e Figura 19 apresentam, respectivamente, gráficosdo treino/validação e da onda de entrada sobreposta à sua previsão pela rede recorrente. AsFigura 20 e Figura 21 apresentam o mesmo para a convolucional.

Figura 18 – Valores de perda para cada época de treinamento com o modelo neural recorrente treinado com a basede dados para HAR. O eixo vertical indica a métrica de perda, medida por erro médio ao quadrado(MSE) para cada amostra. O eixo horizontal mostra a época relacionada medida de perda.

Nas Figura 18 e Figura 20 a curva de perda relativa à validação está próxima da de trei-namento. Esses conjuntos são fornecidos diretamente pela base de dados e não foram misturadosdurante a confecção desse trabalho. Assim, um conjunto de testes fornecido pela base de dadoscom ondas mais uniformes e menos variadas poderia explicar esse comportamento.

Com as preparações feitas, um procedimento de treino e validação foi elaborado parase medir o impacto da transferência das camadas de um modelo que aprendeu com ondassintéticas para um outro que terá a mesma tarefa mas com ondas reais. O algoritmo é descrito

Page 38: Utilizando sinais sinusoidais artificiais para auxiliar no

36 Capítulo 3. Desenvolvimento

Figura 19 – Duas ondas sobrepostas: a original vinda da base de dados de teste (eixo Y do giroscópio) e a preditautilizando o modelo recorrente com a camada LSTM tendo como entrada a onda original.

Figura 20 – Valores de perda para cada época de treinamento com o modelo neural convolucional treinado com abase de dados para HAR. O eixo vertical indica a métrica de perda, medida por erro médio ao quadrado(MSE) para cada amostra. O eixo horizontal mostra a época relacionada medida de perda.

Page 39: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 37

Figura 21 – Duas ondas sobrepostas, a original vinda da base de dados de teste e a predita utilizando o modeloconvolucional com a camada Conv1D.

pela Figura 22. Assim, foram criados 3 modelos de teste para as redes recorrente e convolucional:o primeiro sem nenhuma camada transferida, outro somente com a primeira camada transferidae, por fim, um modelo com as duas primeiras camadas com neurônios transferidas (a camadaLSTM ou Conv1D dependendo da rede e a camada totalmente conectada seguinte). As Figura 23e Figura 24 apresentam os resultados de treinamento e validação para as redes recorrente econvolucional, respectivamente.

Com os resultados, nota-se que para os dois tipos de modelo testados a primeira camadaé a única que guarda uma representação genérica o suficiente do problema para ser transferidade um modelo treinado com sinais sintéticos para outro treinado com sinais reais. Para o casoda rede recorrente, a transferência da primeira camada foi muito benéfica quando havia poucasamostras para seu treinamento. Já a convolucional não apresentou melhoras com a transferência.

3.2.7 Compressão da representação de sinais reais com auxílio deondas sintéticas

Após se observar que em algumas situações era possível obter algum benefício douso de sinais sintéticos no treinamento de RNAs para regressão, foi explorado seu uso paraAutoencoders. O objetivo é a observação como ondas sintéticas podem ser utilizadas paramelhorar o desempenho de um modelo utilizado para extrair uma representação compacta de umsinal real.

Page 40: Utilizando sinais sinusoidais artificiais para auxiliar no

38 Capítulo 3. Desenvolvimento

Figura 22 – Essa figura apresenta o algoritmo usado para avaliar o desempenho das redes neurais recorrente econvolucional para vários conjuntos de treinamento de tamanhos diferentes.

Page 41: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 39

Figura 23 – Essa figura apresenta o resultado do algoritmo apresentado pela Figura 22 para os três modelosrecorrentes. O eixo vertical indica a perda dada pelo cálculo de (MSE) enquanto o horizontal apresentaa quantidade de amostras de utilizadas durante o treinamento mais a validação.

Figura 24 – Essa figura apresenta o resultado do algoritmo apresentado pela Figura 22 para os três modelosconvolucionais. O eixo vertical indica a perda dada pelo cálculo de (MSE) enquanto o horizontalapresenta a quantidade de amostras de utilizadas durante o treinamento mais a validação.

Page 42: Utilizando sinais sinusoidais artificiais para auxiliar no

40 Capítulo 3. Desenvolvimento

Assim, primeiro, foi necessário construir um modelo para o autoencoder undercomplete

que fosse capaz de comprimir e depois recuperar de forma aceitável a onda vinda do giroscópio.A Figura 25 mostra a arquitetura desenvolvida. Ela possui um espaço latente (bottleneck) com32 características, reduzindo o tamanho da onda em 4 vezes. Além disso, há uma camada deDropout que tem o papel de prevenir overfitting do modelo durante o treino. Durante os testesse observou que, apesar de aumentar a perda durante treino, ela trouxe a curva de validaçãodesproporcionalmente mais perto da de treinamento, o que é preferível.

Antes dos testes com ondas sintéticas, se avaliou o desempenho do modelo para ossinais reais. A Figura 26 mostra a perda em treino e validação para o autoencoder e a Figura 27apresenta uma onda do conjunto de teste sobreposta a outra que é gerada a partir do encode edecode da primeira após o treino.

O teste proposto para avaliar se é possível utilizar sinais sintéticos auxiliando o treina-mento de um autoencoder é similar ao contexto de aumentação de dados (data augmentation).Os sinais gerados artificialmente são misturados com os sinais reais e utilizados durante o treinocom a esperança de que o modelo aprenda um conjunto de pesos mais genérico ao ser treinado.Assim, após isso, ocorre uma etapa de validação que consiste apenas em dados reais não vistospelo modelo durante o treinamento. Com isso, poderemos observar qual o impacto causado poressa mistura.

A Figura 28 apresenta o algoritmo implementado em maior detalhe. Além disso, algunshiper-parâmetros tiveram que ter uma atenção especial durante as diversas etapas de treino evalidação. Como a cada iteração o número de amostras disponíveis para o modelo varia muito,devido a isso o tamanho do batch é alterado dinamicamente sendo o maior valor entre 3 e 1%do tamanho do conjunto de treino. Por fim, o número máximo de épocas é de 300, entretantofoi implementado um callback nos padrões da biblioteca Keras para armazenar a melhor taxade validação encontrada ao longo do treino. Assim, mesmo se houvesse overfit após um certonúmero de épocas, a melhor validação encontrada ainda seria obtida.

Assim, após a execução, o gráfico apresentado pela Figura 29 foi obtido. Nele é possívelobservar que para conjuntos menores de treino a adição de algumas amostras de dados sintéticosrealmente é benéfica ao modelo. Isso provavelmente ocorre devido ao fato da pouca quantidadede dados significar uma menor variância total no treino o que leva o modelo a decorar asrepresentações ao invés de encontrar descritores genéricos. Com conjuntos de dados maioresisso não é mais um problema, fazendo os sinais sintéticos direcionarem o modelo para umacompressão menos ideal ao invés de impedir um overfit. Por isso, é visível o aumento da loss

em validação ao se acrescentar amostras dos dados artificiais para conjuntos com mais de 735amostras reais.

Page 43: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 41

Figura 25 – Essa figura representa o modelo de Autoencoder undercomplete utilizado para comprimir a representaçãodas ondas oriundas do eixo y do giroscópio. Cada retângulo representa uma camada da rede com oformato de suas as entradas e saídas. As interrogações representam o número de samples dadas que éuma incógnita para o modelo até o momento de treinamento ou predição.

Page 44: Utilizando sinais sinusoidais artificiais para auxiliar no

42 Capítulo 3. Desenvolvimento

Figura 26 – Essa figura mostra a perda em validação e treino do autoencoder undercomplete mostrado pela figuraFigura 25. O eixo vertical mostra a perda (MSE) enquanto o horizontal representa as épocas de treino.

Figura 27 – Essa figura representa duas ondas. A linha azul representa um sinal do conjunto de testes, enquanto avermelha representa a saída do autoencoder undercomplete mostrado na Figura 25 tendo o sinal azulcomo entrada.

Page 45: Utilizando sinais sinusoidais artificiais para auxiliar no

3.2. Desenvolvimento dos experimentos 43

Figura 28 – Essa figura apresenta o diagrama de fluxo do algoritmo utilizado para avaliar o impacto de dadossintéticos no treinamento do autoencoder apresentado pela Figura 25.

Page 46: Utilizando sinais sinusoidais artificiais para auxiliar no

44 Capítulo 3. Desenvolvimento

Figura 29 – Essa figura apresenta o resultado de validação feito contra o conjunto de teste do sinal real para cadamistura de amostras de ondas reais e sintéticas de treino. As cores dos pontos são relativas somente alinha na qual eles estão contidos. As cores mais próximas do amarelo indicam erros maiores, enquantoas mais próximas da cor roxa indicam uma perda menor.

3.3 Discussão

Os primeiros resultados obtidos foram durante o experimento utilizando somente ondasartificiais na seção 3.2.3. Eles visavam o entendimento sobre características de ondas que sãogeneralizadas por modelos de RNAs. Assim, Figura 11 e Figura 12 apresentam resultados queindicam que tanto modelos recorrentes quanto convolucionais conseguem generalizar bem essetipo de problema. Pode-se afirmar isso pois eles apresentam uma precisão boa em ondas comespectros de frequência diferentes, apresentados pelas Figura 6, Figura 7, e Figura 8. Alémdisso, a generalização vista indica que talvez seja possível utilizar essas ondas para auxiliar comproblemas com sinais reais.

Apesar do resultado ter sido promissor, indicando uma generalização do modelo, eleapresenta uma característica incomum. Mesmo com ondas sintéticas nunca antes vistas pelomodelo sendo utilizadas como conjunto de validação, ele se aproxima daquela obtida no treina-mento. Entretanto, isso pode ser explicado pela diferença relativa entre as menores e maiorescomponentes de frequência que compõe cada onda. A o250

1 apresenta uma diferença de 250 vezesentre a frequência de sua componente mais baixa e a da mais alta. Então, apesar do tamanho doespectro ser o mesmo em comparação a o500

250, acaba sendo um desafio maior para os modelosterem que levar essa diferença em consideração, assim, eles apresentam um desempenho melhorcom o conjunto de validação.

Com o intuito de confirmar essa suspeita, o cenário de teste foi invertido, utilizando-sea o700

350 para treino e as outras para teste. As Figura 30 e Figura 31 mostram os resultados paraas redes recorrente e convolucional, respectivamente, confirmando as suspeitas. O cenário seinverteu com a validação pela o250

1 apresentando perdas consideravelmente maiores do que apela o500

250.

Com esses resultados, mais os obtidos ao se transferir as camadas inicias dos modelos

Page 47: Utilizando sinais sinusoidais artificiais para auxiliar no

3.3. Discussão 45

Figura 30 – Essa figura apresenta no eixo vertical a medida de perda calculada como média do erro ao quadradopara a rede recorrente. O eixo horizontal apresenta a época de treinamento/validação. O conjunto detreinamento utilizado é relativo a onda o700

350 e os conjuntos de validação são obtidos das o500250 e o250

1 .

Figura 31 – Essa figura apresenta no eixo vertical a medida de perda calculada como média do erro ao quadradopara a rede convolucional. O eixo horizontal apresenta a época de treinamento/validação. O conjunto detreinamento utilizado é relativo a onda o700

350 e os conjuntos de validação são obtidos das o500250 e o250

1 .

Page 48: Utilizando sinais sinusoidais artificiais para auxiliar no

46 Capítulo 3. Desenvolvimento

na seção 3.2.4, há evidencias de que o conhecimento aprendido por RNAs com esses sinaisartificiais pode ser transmitido e utilizado em problemas com dados reais.

A seção 3.2.6 apresenta o primeiro experimento envolvendo sinais reais. As Figura 23e Figura 24 apresentam os resultados ao se transferir camadas treinadas com sinais sintéticospara modelos que são treinados posteriormente com os dados do giroscópio. Neles é possívelobservar que somente a primeira camada apresenta um interpretação genérica o suficiente paraser transferida.

Além disso, é possível identificar que a rede recorrente com a camada LSTM apresentauma dificuldade maior em aprender em comparação ao outro modelo. Pelas Figura 23 e Figura 24nota-se que ela necessita de muito mais amostras para se aproximar da perda apresentada pelarede convolucional. Isso acaba levando o modelo recorrente a se beneficiar mais da transferência,apresentando melhores resultados para conjuntos de treino pequenos quando possui a primeiracamada transferida. Por fim, a rede convolucional nunca chegou a ter uma validação melhor.

Por fim, o último experimento, explicado na seção 3.2.7, foca em utilizar os dadosartificiais de uma forma similar ao processo de data augmentation. Ao invés de focar natransferência de pesos, ele usa os sinais sintéticos para compor o conjunto de treinamento de umautoencoder undercomplete com a esperança de que ele consiga aprender uma representaçãomais genérica da sua entrada tendo um melhor desempenho em validação.

A Figura 29 apresenta o resultado final desse experimento. A partir dela é possívelafirmar que a presença de algumas quantidades de amostras de sinais sintéticos faz o autoencoder

ter um desempenho melhor na validação que é feita somente com sinais vindos do giroscópio.O benefício observado provavelmente foi devido ao fato dos sinais sintéticos dificultarem ooverfitting do modelo, uma vez que ele tem que lidar com algumas amostras que possuem umperfil consideravelmente diferente. Assim, com uma representação mais genérica, ele conseguecodificar e decodificar melhor as ondas do conjunto de validação, que não foram vistas durante otreinamento.

Page 49: Utilizando sinais sinusoidais artificiais para auxiliar no

47

Capítulo 4

CONCLUSÃO

4.1 ContribuiçõesApesar dos resultados vistos nos experimentos mostrarem uma capacidade de generaliza-

ção por parte dos modelos de redes neurais artificiais e indicarem que certos modelos podemser impactados de forma positiva pelo uso de sinais artificiais, isso é algo que necessita de maisestudos. Pelos testes terem sido feitos contra problemas que, apesar de serem baseados em dadosreais, não apresentavam nenhuma situação real, é incerto dizer que os benefícios vistos irãoacontecer em problemas mais sofisticados.

Outro fator importante a ser dito é que em problemas que apresentem entradas de váriossinais, o uso de dados sequenciais gerados artificialmente se torna mais complicado. Isso porqueesses tipos de ondas (sintéticas) não apresentam nenhuma forma de correlação entre si. Paraexplicar melhor, o problema de classificação de atividade humana (HAR), abordado pela basede dados utilizada (ANGUITA et al., 2013), é resolvido recebendo todos os 6 sinais vindos doacelerômetro mais do giroscópio. Todos eles tem algum tipo de correlação entre si, o que é muitoimportante para a resolução do problema. Entretanto, essa correlação não pode ser simulada pordados criados artificialmente de maneira fácil. Mas é possível gerar sinais artificiais através deuma simulação que, então, podem ser utilizados para auxiliar no treino com dados reais.

O resultados vistos motivam a continuação da exploração do uso de dados gerados artifi-cialmente para o auxílio no treinamento de modelos de redes neurais artificias, especialmentepara redes de aprendizado profundo (deep learning). Entretanto, ainda é necessário avaliar odesempenho desses dados para problemas mais complexos e próximos da realidade. Além disso,é interessante procurar maneiras de se simular dados sequenciais, como, por exemplo, os de umacelerômetro, e como eles podem impactar os resultados vistos.

4.2 Trabalhos Futuros

• Aplicação dos sinais artificiais para autoencoders baseados em células de memória LSTM

para compará-los ao convolucional abordado nesse estudo.

• Aplicação dos sinais artificiais no problema abordado pela base de dados para HAR utili-zada. Elas poderiam ser utilizadas para auxiliar na extração de características individuais

Page 50: Utilizando sinais sinusoidais artificiais para auxiliar no

48 Capítulo 4. Conclusão

dos sinais que seriam utilizadas posteriormente na rede para a classificação das atividades.

• Pesquisa de outras formas de se gerar sinais sequencias de forma automática que pos-sibilite maior flexibilidade e semelhança com diferentes domínios de sensores e sinais.Posteriormente, identificando seu impacto no treinamento de outros modelos.

Page 51: Utilizando sinais sinusoidais artificiais para auxiliar no

49

REFERÊNCIAS

ABADI, M.; AGARWAL, A.; BARHAM, P.; BREVDO, E.; CHEN, Z.; CITRO, C.; CORRADO,G. S.; DAVIS, A.; DEAN, J.; DEVIN, M.; GHEMAWAT, S.; GOODFELLOW, I.; HARP, A.;IRVING, G.; ISARD, M.; JIA, Y.; JOZEFOWICZ, R.; KAISER, L.; KUDLUR, M.; LEVEN-BERG, J.; MANé, D.; MONGA, R.; MOORE, S.; MURRAY, D.; OLAH, C.; SCHUSTER, M.;SHLENS, J.; STEINER, B.; SUTSKEVER, I.; TALWAR, K.; TUCKER, P.; VANHOUCKE, V.;VASUDEVAN, V.; VIéGAS, F.; VINYALS, O.; WARDEN, P.; WATTENBERG, M.; WICKE,M.; YU, Y.; ZHENG, X. TensorFlow: Large-Scale Machine Learning on HeterogeneousSystems. 2015. Software available from tensorflow.org. Disponível em: <http://tensorflow.org/>.Citado 2 vezes nas páginas 23 e 28.

ANGUITA, D.; GHIO, A.; ONETO, L.; PARRA, X.; REYES-ORTIZ, J. L. A public domaindataset for human activity recognition using smartphones. In: Esann. [S.l.: s.n.], 2013. v. 3, p. 3.Citado 2 vezes nas páginas 33 e 47.

BAI, S.; KOLTER, J. Z.; KOLTUN, V. An empirical evaluation of generic convolutional andrecurrent networks for sequence modeling. arXiv preprint arXiv:1803.01271, 2018. Citado 2vezes nas páginas 20 e 28.

BENGIO, Y.; COURVILLE, A.; VINCENT, P. Representation learning: A review and newperspectives. IEEE transactions on pattern analysis and machine intelligence, IEEE, v. 35,n. 8, p. 1798–1828, 2013. Citado na página 13.

CHOLLET, F. et al. Keras. [S.l.]: GitHub, 2015. <https://github.com/fchollet/keras>. Citado napágina 23.

DUA, D.; GRAFF, C. UCI Machine Learning Repository. 2017. Disponível em: <http://archive.ics.uci.edu/ml>. Citado na página 33.

ENGEL, J.; AGRAWAL, K. K.; CHEN, S.; GULRAJANI, I.; DONAHUE, C.; ROBERTS, A.Gansynth: Adversarial neural audio synthesis. arXiv preprint arXiv:1902.08710, 2019. Citadona página 16.

GOODFELLOW, I.; BENGIO, Y.; COURVILLE, A. Deep Learning. [S.l.]: MIT Press, 2016.<http://www.deeplearningbook.org>. Citado 3 vezes nas páginas 13, 17 e 18.

KLUYVER, T.; RAGAN-KELLEY, B.; PÉREZ, F.; GRANGER, B. E.; BUSSONNIER, M.;FREDERIC, J.; KELLEY, K.; HAMRICK, J. B.; GROUT, J.; CORLAY, S. et al. Jupyternotebooks-a publishing format for reproducible computational workflows. In: ELPUB. [S.l.:s.n.], 2016. p. 87–90. Citado na página 24.

LIU, X.; DENG, Z.; YANG, Y. Recent progress in semantic image segmentation. ArtificialIntelligence Review, Springer, v. 52, n. 2, p. 1089–1106, 2019. Citado na página 17.

MELLO, R.; PONTI, M. A. Machine Learning: A Practical Approach on the StatisticalLearning Theory. [S.l.]: Springer, 2018. Citado 3 vezes nas páginas 13, 16 e 17.

Page 52: Utilizando sinais sinusoidais artificiais para auxiliar no

50 Referências

NWANKPA, C.; IJOMAH, W.; GACHAGAN, A.; MARSHALL, S. Activation functions: Com-parison of trends in practice and research for deep learning. arXiv preprint arXiv:1811.03378,2018. Citado na página 29.

PAN, S. J.; YANG, Q. A survey on transfer learning. IEEE Transactions on knowledge anddata engineering, IEEE, v. 22, n. 10, p. 1345–1359, 2009. Citado na página 22.

PEDREGOSA, F.; VAROQUAUX, G.; GRAMFORT, A.; MICHEL, V.; THIRION, B.; GRISEL,O.; BLONDEL, M.; PRETTENHOFER, P.; WEISS, R.; DUBOURG, V.; VANDERPLAS, J.;PASSOS, A.; COURNAPEAU, D.; BRUCHER, M.; PERROT, M.; DUCHESNAY, E. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, v. 12, p. 2825–2830, 2011. Citado na página 34.

PONTI, M. A.; COSTA, G. B. P. da. Como funciona o deep learning. arXiv preprint ar-Xiv:1806.07908, 2018. Citado 2 vezes nas páginas 5 e 21.

PONTI, M. A.; RIBEIRO, L. S. F.; NAZARE, T. S.; BUI, T.; COLLOMOSSE, J. Everything youwanted to know about deep learning for computer vision but were afraid to ask. In: IEEE. 201730th SIBGRAPI conference on graphics, patterns and images tutorials (SIBGRAPI-T).[S.l.], 2017. p. 17–41. Citado 2 vezes nas páginas 13 e 21.

PROAKIS JOHN G.; MANOLAKIS, D. G. Digital Signal Processing: Principles, Algorithms& Applications. [S.l.]: Pearson Prentice Hall, 2007. Citado na página 15.

SHORTEN, C.; KHOSHGOFTAAR, T. M. A survey on image data augmentation for deeplearning. Journal of Big Data, Springer, v. 6, n. 1, p. 60, 2019. Citado na página 13.

STAUDEMEYER, R. C.; MORRIS, E. R. Understanding lstm–a tutorial into long short-termmemory recurrent neural networks. arXiv preprint arXiv:1909.09586, 2019. Citado na página20.

WANG, J.; CHEN, Y.; HAO, S.; PENG, X.; HU, L. Deep learning for sensor-based activityrecognition: A survey. Pattern Recognition Letters, Elsevier, v. 119, p. 3–11, 2019. Citado napágina 13.

WELCH, P. The use of fast fourier transform for the estimation of power spectra: a methodbased on time averaging over short, modified periodograms. IEEE Transactions on audio andelectroacoustics, IEEE, v. 15, n. 2, p. 70–73, 1967. Citado na página 16.

ZEBIN, T.; SPERRIN, M.; PEEK, N.; CASSON, A. J. Human activity recognition from iner-tial sensor time-series using batch normalized deep lstm recurrent networks. In: IEEE. 201840th Annual International Conference of the IEEE Engineering in Medicine and BiologySociety (EMBC). [S.l.], 2018. p. 1–4. Citado na página 33.

Page 53: Utilizando sinais sinusoidais artificiais para auxiliar no

51

ANEXO A

LINKS RELACIONADOS

<https://www.mturk.com/>: Página da Amazon na qual ela descreve e oferece um serviço queé muitas vezes utilizado para manualmente classificar base de dados.

<https://github.blog/2019-01-24-the-state-of-the-octoverse-machine-learning/>: Página queapresenta uma pesquisa realizada pelo site Github sobre as linguagens e pacotes maispopulares para o campo de aprendizado de máquina.