Você está na página 1de 22

Síntese de Sinais de Eletroencefalograma com Spindles

utilizando E-GAN

William Jun Yamada

Universidade de Brasília

28 de Setembro de 2019

1 / 22
Eletroencefalograma (EEG)

É um método de
monitoramento eletrofisiológico
utilizado para registrar ativade
cerebral
Utilizado para se realizar
diagnósticos de tumores
cerebrais, dano ou disfunção
cerebral, derrames, inflamação,
epilepsia, distúrbios de sono
A identificação de padrões de
sinais (spindles e complexos-k, Figura: Exemplo de EEG 1
por exemplo) ainda são
realizadas por especialistas
1
https://drantonioguimaraes.site.med.br/index.asp?PageName=
O-20eletroencefalograma
2 / 22
Problema

As bases de dados de spindles disponíveis são desbalanceados (o que


pode trazer um problema de bias em um classificador)
Para se balancear um dataset pode-se utilizar uma rede generativa
para gerar dados sintéticos e completar a classe de dados com deficit,
porém encontrar uma boa arquitetura pode ser difícil
O modelo generativo que ganhou maior relevância ultimamente, o
Generative Adversarial Network (GAN), pode apresentar alguns
comportamentos degenerativos, impedindo bons resultados

Proposta
Utilizar um método evolutivo para evoluir a GAN com uma boa topologia e
evitar os comportamentos degenerativos

3 / 22
Generative Adversarial Network
Framework proposta por Goodfellow et al.(2014)
Duas redes neurais (gerador e discriminador) competem em um jogo
do tipo minimax
O gerador tenta aprender a sintetizar dados com mesma distribuição
dos dados reais e enganar o discriminador. O discriminador tenta
aprender a distinguir os dados sintéticos dos dados reais.

2
Figura: Framework de uma GAN

2
https://www.freecodecamp.org/news/generative-adversarial-networks/
4 / 22
Dinâmica da GAN

Existem alguns comportamentos degenerativos que podem interferir na


performance da GAN:
Mode Collapse: Quando os dados possuem grande complexidade e o
gerador consegue aprender apenas a distribuição parcial dos dados. Do
mesmo modo, o discriminador pode aprender a distinguir apenas
utilizando parte da distribuição dos dados.
Discriminator Collapse: Quando o discriminador encontra-se em um
mínimo local.
Vanishing Gradient: Quando o discriminador se torna poderoso o
suficiente para não ser enganado pelo gerador

5 / 22
NeuroEvolution of Augmenting Topologies (NEAT)
Metodologia de neuroevolução desenvolvida por Stanley et al (2002)
capaz de evoluir os parâmetros e a topologia de uma rede neural
Representa a rede neural de forma genética (cada neurônio e ligação é
um gene)

3
Figura: Exemplo de genoma do NEAT

3
K. O. Stanley and R. Miikkulainen - Evolving Neural Networks through Augmenting
Topologies
6 / 22
NeuroEvolution of Augmenting Topologies (NEAT)

É um Algorítimo Evolutivo (algorítimo meta-heurístico de otimização


baseado em populações) com especiação:

Algorítimo Evolucionário
Gera-se uma população inicial de indivíduos (redes neurais);
Avalia-se a fitness (performance) de cada indivíduo da população;
Divide-se a população em espécies de acordo com a similaridade genética;
while !Fim do
Seleciona-se os melhores indivíduos de cada espécie para reprodução;
Gera-se novos indivíduos;
Avalia-se as fitness dos novos indivíduos;
Substitui os indivíduos com piores desempenhos por novos indivíduos;
Divide a nova população em espécies
end

7 / 22
NeuroEvolution of Augmenting Topologies (NEAT)

Ao ocorrer a reprodução, entram em ação dois operadores: mutação e


crossover

4
Figura: Exemplo de mutação do NEAT

4
K. O. Stanley and R. Miikkulainen - Evolving Neural Networks through Augmenting
Topologies
8 / 22
NeuroEvolution of Augmenting Topologies (NEAT)

5
Figura: Exemplo de crossover do NEAT

5
K. O. Stanley and R. Miikkulainen - Evolving Neural Networks through Augmenting
Topologies
9 / 22
Metodologia - COEGAN

Utilizar o método NEAT para se gerar a GAN (otimizando os


parâmetros e topologia)
Como a GAN faz uso de dois modelos (gerador e discriminador), duas
populações são geradas durante o algorítimo evolutivo, uma população
de geradores e outra de discriminadores
Os geradores e discriminadores passam por uma coevolução
competitiva
A função fitness pode ser definida como uma função de recompensa
(caso o discriminador acerte, ele recebe +1; caso o discriminador erre,
o gerador recebe +1)

10 / 22
Dataset DREAMs

O dataset utilizado foi o DREAMs Sleep Spindle Database 6

Este banco de dados consiste em 8 excertos de 30 minutos de


polisonografia (PSG), anotados por dois dois especialistas em spindles
de forma independente
As amostragens foram realizadas com frequências de 200Hz, 100Hz ou
50Hz
Para evitar um bias na avaliação dos especialistas, não foram
informados qual estágio do sono se encontravam (REM, S1, S2, S3,
S4)
Os dados apresentam diversos canais de acordo com a posição do
eletrodo na cabeça da pessoa

2
http://www.tcts.fpms.ac.be/~devuyst/Databases/DatabaseSpindles
11 / 22
Exemplo de amostra

Figura: Fragmento de um EEG do DREAMS Database

12 / 22
Pré-processamento

Dos canais disponíveis no sinal, apenas o canal C3-A1 é necessário


para identificação de sinais de spindle
O sinal foi reamostrado para uma frequência de 256Hz utilizando a
interpolação spline cúbica
Cada excerto foi dividido em janelas de 1,5 s e cada janela relacionado
a um vetor de label (1 para caso haja spindle e 0 caso contrário)
Após o janelamento, cada amostra foi normalizada subtraindo-se a
média e dividindo pelo desvio padrão

13 / 22
Exemplo de Dado Pré-Processado

Figura: Exemplo de dado após o Pré-Processamento

14 / 22
Experimento 1

Utilizando a janela contendo 384 pontos, foram utilizados os seguintes


parâmetros
População Inicial = 40 indivíduos
Probabilidade de Mutação = 10%
Funções de Ativação = sigmoid tanh gauss relu identidade
Elitismo = 2
Gerações = 20

15 / 22
Resultados Experimento 1

Figura: Resultado do melhor gerador

16 / 22
Resultados Experimento 1
No gráfico de especiação temos que cada cor representa uma espécie, no
eixo x as gerações, no eixo y o número de indivíduos por espécie.

Figura: Espécies
17 / 22
Experimento 2

Utilizando a janela contendo 12


pontos, foram utilizados os
seguintes parâmetros
População Inicial = 20
indivíduos
Probabilidade de Mutação =
10%
Funções de Ativação = sigmoid
tanh gauss relu identidade
Elitismo = 2
Figura: Amostra com apenas 12 pontos
Gerações = 200

18 / 22
Resultado Experimento 2

Figura: Espécies Gerador Figura: Espécies Discriminador

19 / 22
Resultado Experimento 2

Figura: Fitness Gerador Figura: Fitness Discriminador

20 / 22
Resultado Experimento 2

Figura: Topologia do Gerador

21 / 22
Trabalhos futuros

Tentar evoluir previamente o modelo gerador utilizando um


auto-encoder e depois evoluir a GAN com o gerador obtido pelo
autoencoder
Utilizar variações do NEAT que possuem maior potencial para se obter
melhores topologias (DeepNEAT ou HyperNEAT)

22 / 22

Você também pode gostar