online incremental one-shot learning of temporal sequences (portuguese)

76
Online Incremental One-Shot Learning of Temporal Sequences Dissertação de Mestrado Rafael C. Pinto. Orientador: Prof. Dr. Paulo Martins Engel Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação

Upload: rafael-pinto

Post on 07-Dec-2014

562 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Online Incremental One-Shot Learning of Temporal Sequences

Dissertação de Mestrado

Rafael C. Pinto.

Orientador: Prof. Dr. Paulo Martins Engel

Universidade Federal do Rio Grande do SulInstituto de Informática

Programa de Pós-Graduação em Computação

Page 2: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Roteiro

Introdução IGMN TDIGMN ESIGMN MIGMN RecIGMN Experimentos e Resultados Conclusão

Page 3: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Introdução

Online: O algoritmo aprende enquanto está em Online: O algoritmo aprende enquanto está em operaçãooperação

Offline: O algoritmo necessita de uma fase de Offline: O algoritmo necessita de uma fase de aprendizagem separada da fase de operaçãoaprendizagem separada da fase de operação

Exemplo: os mapas auto-organizáveis (SOM) necessitam de uma fase de aprendizagem separada devido aos seus parâmetros

Page 4: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Introdução

Incremental: O algoritmo consegue aprender a Incremental: O algoritmo consegue aprender a cada ponto de dados que recebecada ponto de dados que recebe

Em Lote (batch): É necessário o lote completo Em Lote (batch): É necessário o lote completo de dados do problema para que o algoritmo de dados do problema para que o algoritmo efetue o aprendizadoefetue o aprendizado

Exemplo: o algoritmo EM trabalha apenas com lotes completos de dados

Page 5: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Introdução

One-Shot (agressivo): O algoritmo consegue One-Shot (agressivo): O algoritmo consegue aprender após observar cada ponto apenas aprender após observar cada ponto apenas uma vezuma vez

Iterativo: São necessárias várias observações Iterativo: São necessárias várias observações sobre o conjunto de dados até que o algoritmo sobre o conjunto de dados até que o algoritmo consiga efetuar o aprendizado corretamenteconsiga efetuar o aprendizado corretamente

Exemplo: o algoritmo Backpropagation necessita de várias ”épocas” de aprendizado

Page 6: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Introdução

Temporal: O algoritmo lida com dados Temporal: O algoritmo lida com dados temporalmente correlacionados (tem memória)temporalmente correlacionados (tem memória)

Estático: O algoritmo lida com dados sem Estático: O algoritmo lida com dados sem correlação temporal (sem memória)correlação temporal (sem memória)

Exemplo: Redes neurais recorrentes lidam com dados temporais

Page 7: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN

Incremental Gaussian Mixture Network Aproximação incremental do algoritmo EM

(Expectation Maximization) + regressões lineares locais em cada cluster

✔ OnlineOnline✔ IncrementalIncremental✔ One-ShotOne-Shot✗ EstáticoEstático

O foco do trabalho está em transformá-lo em um algoritmo temporaltemporal

Page 8: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN

Composta por uma camada de entrada...

...e uma ”camada oculta” (chamada de região cortical)

Qualquer entrada pode ser usada para prever qualquer outra entrada...

...portanto uma ”entrada” pode ser tratada como saída para aprendizado supervisionado

Page 9: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN

Cada neurônio da região cortical corresponde a uma componente gaussiana

Cada componente j possui uma média μ

j,

uma matriz de covariâncias C

j e uma

probabilidade a priori p(j)

Page 10: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Criação de Componentes

A rede inicia sem nenhuma componente

As componentes são adicionadas conforme necessário (limiar de erro ε

max)

Média inicial no ponto x onde ocorreu o erro

Matriz de covariâncias inicial diagonal (esférica) com um desvio δ

ini

Page 11: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Estimação

Probabilidade a posteriori de cada componente é computada a cada entrada x (somente porção de entrada)

Regra de Bayes Verossimilhança dada

pela função densidade de probabilidade da distribuição normal

Page 12: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Estimação

Regressão linear feita em cada cluster utilizando os próprios eixos dos hiperelipsóides como hiperplanos de regressão

Resultados ponderados conforme ativação (probabilidade a posteriori) de cada componente

Page 13: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Margens de Erro

Também pode-se estimar a variância do resultado a partir da ponderação das matrizes de covariância

Intervalos de confiança

Page 14: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Aprendizagem Agora com x completo Médias, matrizes de

covariância e priors são atualizadas de forma incremental...

...Ponderadas pelas ativações das respectivas componentes

Não requer parâmetro taxa de aprendizagem

Page 15: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Poda

Componentes têm um limite de tempo v

min para

demonstrarem utilidade (ativações acumuladas sp

min)

Caso contrário, são podadas (ruído)

Page 16: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Criação de Compon. 2.0

Regra aperfeiçoada✔ Contribuição deste

trabalho

Parâmetro εmax

eliminado Margem de erro é

utilizada Quando x cai fora das

margens, uma componente é criada

Page 17: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Criação de Compon. 2.0

Critério variável ao longo dos dados

Regiões com diferentes resoluções e densidades são tratadas de acordo

Regiões com pontos mais esparsos toleram mais erro

Regiões com maior precisão toleram menos erro

Page 18: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Criação de Compon. 2.0

Margens tracejadas → limiar com ε

max = 0.1 e δ

ini

= 0.1... ...não detectam a

mudança até o fim da função (x = 100)

Margens pontilhadas → novo limiar com δ

ini =

0.1... ...detectam mudança em

x = 94

Page 19: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN - Criação de Compon. 2.0

Agora com εmax

= 0.01 e

δini

= 0.01...

...cria clusters desnecessários no trecho horizontal

Novo limiar com mesmo δ

ini é mais econômico

Page 20: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

IGMN + Memória

Incremental Gaussian Mixture Network Aproximação incremental do algoritmo EM

(Expectation Maximization) + regressões lineares locais em cada cluster

✔ OnlineOnline✔ IncrementalIncremental✔ One-ShotOne-Shot✗ EstáticoEstático →→ TemporalTemporal

Page 21: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

TDIGMN

Time-Delay IGMN Inclusão de linhas de

atraso nas entradas Deve-se definir o número

de atrasos Memória exata... ...porém limitada Inviável para altas

dimensionalidades Abordagem usada na

TDNN

Page 22: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

TDIGMN

É online, incremental, agressiva e temporal...

...então para que outras extensões?

Memória relativamente Memória relativamente curtacurta

Multiplica a Multiplica a dimensionalidade de dimensionalidade de entrada (e a IGMN tem entrada (e a IGMN tem operações O(n³))operações O(n³))

Page 23: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Computação por Reservoir

Abordagem utilizada na Echo-State Network

Camada oculta recorrente chamada de ”reservoir”

Conexões da entrada para o reservoir são fixas

Conexões recorrentes do reservoir fixas

Page 24: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Computação por Reservoir

Idéia: mesmo com conexões aleatórias e fixas, o reservoir pode extrair informação temporal da entrada

Algoritmo estático e linear + reservoir = algoritmo temporal e não-linear

Propriedade echo-state

Page 25: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

ESIGMN

Echo-State IGMN IGMN + reservoir

Page 26: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

ESIGMN

Dimensionalidade resultante = entradas + tamanho do reservoir (escolhido manualmente)

Maior reservoir = maior memória Maior reservoir = maior chance de extrair algo útil

Page 27: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

MIGMN

Merge IGMN Inspirada no MSOM

(Merge Self-Organizing Map)

Média móvel exponencial das entradas reconstruídas (estimativas)

Parâmetro α para decaimento / mistura

Page 28: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

MIGMN

Maior α (< 1) = Mais memória, menos resolução

α = 1 → IGMN estática (não sai do contexto zerado)

α = 0 → Armazena última reconstrução das entradas

Page 29: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

MIGMN

Memórias se misturam (resolução cai conforme profundidade da memória)

Dimensionalidade resultante = dobro da original

Page 30: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

RecIGMN

Recursive IGMN Inspirada no RecSOM

(Recursive Self-Organizing Map)

Ativações da região cortical são realimentadas na entrada

Page 31: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

RecIGMN

Nenhum parâmetro extra...

...má idéia. A versão do artigo (CBIC) regula a contribuição do passado e presente para as ativações e funciona melhor

Potencial para memória ilimitada

Page 32: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

RecIGMN

Difícil implementação: a cada nova componente criada, médias e matrizes de covariância devem ser aumentadas de acordo (e reduzidas na poda)

Em outras palavras, a entrada passa a ter tamanho variável

Page 33: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Previsão de Séries Temporais

Os algoritmos propostos foram testados em 8 tarefas de previsão de séries temporais univariadas

1 Passo: prever o valor seguinte em uma série de valores (dado x(t), prever x(t+1))

Longo Prazo: prever n valores seguintes em uma série de valores (dado x(t), prever x(t+1)...x(t+k))

Page 34: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Previsão de Séries Temporais

Comparados com redes neurais temporais: TDNN, Elman e o estado-da-arte ESN

IGMN estática também foi comparada para avaliar o surgimento das capacidades temporais

Além das versões multivariadas (matrizes de covariância completas), as versões ”naïve” (matrizes diagonais) também foram comparadas

A inclusão de linhas de atraso foi testada em adição às redes propostas (sempre o mesmo número de atrasos para todas as redes)

Page 35: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Previsão de Séries Temporais

α = 0.5 para MIGMN (e variantes) Reservoir de tamanho 10 para ESN e ESIGMN

(e variantes) Camada oculta com 10 neurônios para Elman e

TDNN Criação de componentes baseada em outliers

para todos algoritmos baseados em IGMN Poda ativada para todos os algoritmos

baseados em IGMN

Page 36: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Métricas

Para comparação dos algoritmos em previsão de 1 passo, foi usado o erro normalizado em relação à solução trivial

Solução trivial: usar x(t) como previsão para x(t+1) Erro > 1 = Pior que a solução trivial Erro < 1 = Melhor que a solução trivial

Na previsão de longo prazo, foi usado o erro normalizado pela variância do conjunto de treino

Erro > 1 = Pior que prever a média Erro < 1 = Melhor que prever a média

Page 37: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Métricas

Medidas de estatística robusta foram usadas para descrição dos resultados

Mediana no lugar da média MAD (Median Absolute Deviations from the

Median) no lugar do desvio padrão MAD-Score (subtração da mediana e divisão pela

MAD) no lugar do Z-Score (subtração da média e divisão pelo desvio padrão)

Mais resistentes a outliers

Page 38: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Anuais

Série temporal estocástica usada amplamente na área de estatística

289 valores 200 primeiros

usados como treino

Page 39: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Anuais

1 Passo: TDNNTDNN X ESIGMNESIGMN

TDNN não aprendeu o momento correto de subir Memória da ESIGMN conseguiu capturar isso

Page 40: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Anuais

Longo Prazo: ESNESN X MIGMNMIGMN

MIGMN conseguiu aprender a sazonalidade da série

Page 41: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Anuais

Page 42: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Mensais

Versão mais difícil das manchas solares

2987 valores 2000 primeiros

usados como treino

Page 43: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Mensais

1 Passo: ESNESN X ESIGMNESIGMN

ESIGMN foi mal em um pico mas foi mais robusta às oscilações de alta frequência

Page 44: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Mensais

Longo Prazo: ESNESN X MIGMNMIGMN

Todos algoritmos se sairam mal, mas a MIGMN conseguiu ir um pouco melhor nos valores iniciais

Page 45: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Manchas Solares Mensais

Page 46: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=17)

Série temporal caótica amplamente utilizada em previsão de séries temporais na computação

1200 valores 1000 primeiros

usados como treino

Page 47: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=17)

1 Passo: TDNNTDNN X TDIGMNTDIGMN

Linhas de atraso selecionadas favorecem os ”TD” Mas faltou precisão na TDIGMN

Page 48: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=17)

Longo Prazo: ESNESN X MIGMNMIGMN

Previsões de longo prazo ruins como esperado para uma série caótica

Page 49: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=17)

Page 50: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=30)

Versão mais difícil da Mackey-Glass

1500 valores 1000 primeiros

usados como treino

Page 51: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=30)

1 Passo: TDNNTDNN X TDIGMNTDIGMN

Idem tau=17

Page 52: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=30)

Longo Prazo: ESNESN X ESIGMNESIGMN

Idem tau=17

Page 53: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Mackey-Glass (tau=30)

Page 54: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros

Série temporal estocástica amplamente utilizada na estatística

Também já foi alvo de uma competição com redes neurais

Não-estacionária 143 valores 100 primeiros

usados como treino

Page 55: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros

1 Passo: ESNESN X TDIGMNTDIGMN

ESN ficou próxima da solução trivial TDIGMN teve excelente desempenho

Page 56: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros

Longo Prazo: ESNESN X TDIGMNTDIGMN

TDIGMN conseguiu generalizar a série para longo prazo

Page 57: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros

Page 58: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros log-dif

Versão estacionária da série dos passageiros

Verificar quais algoritmos são sensíveis a séries não-estacionárias

142 valores 100 primeiros

usados como treino

Page 59: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros log-dif

1 Passo: TDNNTDNN X TDIGMNTDIGMN

TDNN passou a funcionar bem Faltou resolução para a TDIGMN nos 2 primeiros

picos de cada ciclo

Page 60: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros log-dif

Longo Prazo: TDNNTDNN X TDIGMNTDIGMN

Idem ao caso de 1 passo

Page 61: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Passageiros log-dif

Page 62: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Google Stock

Série temporal financeira

Teoricamente segue um modelo ”random-walk” (não tem autocorrelação)

1800 valores 1500 primeiros

usados como treino

Page 63: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Google Stock

1 Passo: ElmanElman X RecIGMNRecIGMN

Aprenderam a solução trivial, como esperado

Page 64: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Google Stock

Longo Prazo: ElmanElman X RecIGMNRecIGMN

RecIGMN capturou a tendência vagamente

Page 65: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Google Stock

Page 66: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Taxa de Juros

Série temporal financeira, mas com alguma previsibilidade

102 valores 80 primeiros usados

como treino

Page 67: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Taxa de Juros

1 Passo: ESNESN X RecIGMNRecIGMN

RecIGMN melhor na subida ESN melhor na última descida

Page 68: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Taxa de Juros

Longo Prazo: ESNESN X MIGMNMIGMN

ESN capturou a tendência

Page 69: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Taxa de Juros

Page 70: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Sumário TDIGMN é a

melhor no curto prazo...

...mas foi favorecida por atrasos selecionados (todas ”TD”)

MIGMN melhor no longo prazo

ESIGMN melhor compromisso

Page 71: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Variantes

Em geral, os algoritmos propostos foram beneficiados pelo uso de linhas de atraso adicionais para previsão de 1 passo, indicando um papel complementar entre as diferentes memórias

As versões naïve tiveram péssimo desempenho, indicando a necessidade de considerar as covariâncias das entradas no tipo de problema considerado

Page 72: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Ajuste de Parâmetros

Tamanho do reservoir: ESIGMN obtém menor erro com reservoir maior

para séries determinísticas (Mackey-Glass)... ...porém sofre com overfitting nas séries

estocásticas

Parâmetro de mistura (α): Não tem um padrão definido, necessita de ajuste

para cada problema

Page 73: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Conclusões As extensões propostas dão capacidades

temporais para a IGMN A ESIGMN e a MIGMN são competitivas

mesmo com apenas uma passada sobre os dados

RecIGMN precisa de ajustes Os algoritmos propostos são capazes de fazer

processamento temporal agressivo, online e incremental (e não necessitam de pré-processamento para séries não-estacionárias)

Linhas de atraso adicionais são úteis para previsões de curto prazo

Page 74: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Trabalhos Futuros

Inclusão de feedback das saídas da ESIGMN para o reservoir, bem como utilização de técnicas de otimização de reservoir

Reimplementação da RecIGMN e da MIGMN com parâmetro para ponderação passado-presente e novos experimentos

Experimentos em tarefas de mais alta dimensionalidade, como robótica (experimento com o ”road sign problem” em um t-maze em andamento)

Aplicação em aprendizado por reforço POMDP

Pesquisa de memórias de mais longo prazo

Page 75: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

Publicações Relacionadas

PINTO, R.; ENGEL, P.; HEINEN, M. Echo State Incremental Gaussian Mixture Network for Spatio-Temporal Pattern Processing. In: CSBC 2011 - ENIA, 2011, Natal (RN). Proceedings. . . [S.l.: s.n.], 2011.

PINTO, R.; ENGEL, P.; HEINEN, M. Recursive Incremental Gaussian Mixture Network for Spatio-Temporal Pattern Processing. In: CBIC 2011, 2011, Fortaleza (CE). Proceedings. . . [S.l.: s.n.], 2011.

HEINEN, M.; ENGEL, P.; PINTO, R.; IGMN: A Connectionist Approach for Incremental Function Approximation. In: IEEE Transactions on Neural Networks (submitted). → seção sobre previsão de séries temporais

Page 76: Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)

PERGUNTAS