redes neurais. te073 - processamento digital de sinais ii 2 tópicos introdução conceitos...

114
Redes Neurais

Upload: internet

Post on 17-Apr-2015

118 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

Redes Neurais

Page 2: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

2

Tópicos

Introdução Conceitos

Histórico Modelos

Neurônios Redes

Aprendizado Supervisionado Não Supervisionado

Projeto e Aplicações

Page 3: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

3

Introdução

Sistema Nervoso Humano

Sistema Nervoso Central: Cérebro Medula Espinhal

Sistema Nervoso Periférico Nervos (motores, sensores)

Page 4: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

4

Introdução

Cérebro humano:Processador Ideal

Capaz de:

-Aprender-Generalizar-Memorizar-Criar

•Maior órgão do Sistema Nervoso humano.•Possui de 10 a 100 bilhões de células nervosas

Page 5: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

5

Introdução

Neurônio Célula básica do SN Interconectadas pelas

Sinapses

Bainha de Mielina

Corpo de Nissl

Mitocôndria

Célula de Schwann

Nódulo de Ranvier

Axônio

Dendrito

Nucléolo

Núcleo

Botãosináptico

Corpo celular

Junção corpo axônica

Neurônios cerebrais

Neurônio Motor

Page 6: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

6

Introdução

Sinapses Processo eletro-químico

Responsáveis pelo envio da informação através da rede neural

Recebida pelos dendritos Processada Emitida pelo Axônio

Cada neurônio pode produzir até 10.000 sinapses com neurônios adjacentes

-Excitatório-Inibitório

Page 7: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

7

Introdução

Computador VonNeumann

Sistema neuralbiológico

Processador complexoalta velocidadeum ou poucos

simplesbaixa velocidadegrande número

Memória Separada do processadorlocalizadanão-endereçavel pelo conteúdo

integrada com processadordistribuídaendereçável pelo conteúdo

Computação centralizadaseqüencialprogramas armazenados

distribuídaparalelaaprendizado

Confiabilidade muito vulnerável robusto

Adequação manipulações num. e simbólica Problemas de percepção

Ambienteoperacional

bem definidomuito restrito

pouco definidonão restrito

Page 8: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

8

Introdução De aorcdo com uma pesqiusa de uma uinrvesriddae ignlsea,

não ipomtra em qaul odrem as lrteas de uma plravaa etãso, a úncia csioa iprotmatne é que a piremria e útmlia lrteas etejasm no lgaur crteo.

Capacidade de processar informação incompleta ou com ruído

Page 9: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

9

Qual é o diferente?

Introdução

Capacidade de associar, extrapolar, inferir

Page 10: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

10

Introdução

Preste atenção!

Capacidade de resolver problemas de forma aproximada mas eficiente

Page 11: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

11

Introdução

“Uma área de pesquisa que investigaformas de habilitar o computador arealizar tarefas nas quais, até omomento, o ser humano tem ummelhor desempenho”. Elaine Rich

Inteligência Artificial:

Page 12: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

12

Introdução

Redes Neurais

LógicaFuzzy

ComputaçãoEvolucionária

AgentesInteligentes

LinguagemNatural

RobóticaRaciocínio

Baseadoem Casos

RaciocínioBaseado

em Regras

Outros

Inteligência Artificial - Sub áreas

Page 13: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

13

Introdução

Redes Neurais Artificiais (RNA ou ANN)Sinônimos: Modelos Conexionistas, Computação Neural -Início: Tentativa de simular o comportamento

das redes neurais naturais.

Sistemas computacionais formados por elementos processadores simples (Neurônios)

altamente interconectados (Sinapses).

Novo modelo computacional ≠ do tradicional

Eficiente onde os modelos atuais são inadequados

Page 14: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

14

Introdução

Semelhante ao cérebro:

O conhecimento é adquirido pela rede através do processo de aprendizado

As conexões entre os neurônios (sinapses) são usadas para armazenar o conhecimento

Page 15: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

15

Introdução

Características das RNAs Capacidade de aprender através de exemplos Adaptabilidade Capacidade de organização Capacidade de generalização Tolerância a falhas Robustez ao ruído

Dada uma estrutura e um algoritmo de treino adequados, RNAs podem resolver qualquer problema.

Page 16: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

16

1943: Warren S. McCulloch (1898-1968 ) e Walter H. Pitts (1923-1960)

Primeiro modelo para um neurônio Não se preocuparam com o aprendizado

Histórico: Anos 40 – O começo

1949: Donald Hebb (1904-1985)

Primeiro modelo estudado para o

aprendizado de um neurônio biológico

Aprendizado por reforço

Page 17: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

17

Histórico: Anos 50-60 - Euforia

1956: Von Neumann (1903-1957)

ENIAC(1946) Interesse em modelagem do cérebro

1957-1962: Frank Rosenblatt Implementa primeira rede perceptron Aprendizado supervisionado

1960: Bernard Widrow (Stanford) e Marcian Hoff (1937~)

Regra Delta ou LMS: Adaptação dos pesos Redes com saídas lineares: ADALINE e MADALINE

Page 18: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

18

Histórico: Ano 1969 - Desilusão

1969: Marvin Minsky (1927~ MIT) e Seymour Papert (1928~ MIT)

Publicam livro: Perceptrons Analisam o Perceptron e mostram

suas limitações- Problemas linearmente separáveis

Não poderiam aprender a resolver problemas simples como o OU-exclusivo

Causou grande repercussão

Page 19: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

19

Histórico: Anos 70 - Hibernação

1971: Igor Aleksander(Imperial College) propõe redes Booleanas

1972: Teuvo Kohonen (~ Helsinki) RNA associativas

1975: Stephen Grossberg Teoria da Ressonância Adaptiva (ART)

Page 20: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

20

Histórico: Anos 80 - Renascimento

1982: John J. Hopfield (1933~ Princeton) Redes neurais como sistemas

dinâmicos

1983: Kunihiko Fukushima (電気通信大学 )

Neocognitron

1984: T. Kohonen SOM (Self-Organization Maps)

Page 21: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

21

Histórico: Anos 80 - Renascimento

1986: Geofrey Hinton, David Rumelhart e Ronald Willliams Apresentam o Algoritmo de Backpropagation

1974: Paul J. Werbos (National Science Foundation )

backpropagation through time

Resolve o problema do treinamento de redes multi-camadas.

Page 22: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

22

Histórico: Anos 90 - Consolidação

Muita (muita mesmo!) pesquisa sobre redes neurais.

Novas aplicações surgem a cada minuto

2000: Marcus V. Lamar (1970~ UFPR)

T-CombNET

1992: Akira Iwata (1954~ NITECH)

CombNET-II

Page 23: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

23

Modelos - Neurônio

Neurônio Artificial

entrada1

entrada2

entrada3

entradam

Saída

Neurônio

Representação:

Page 24: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

24

Modelos - Neurônio

Modelo matemático: PERCEPTRON

(·)

x1

x2

xm

bk

.

.

wk1

wk2

wkm

.

.

Bias

Sinaisde

Entradauk

PesosSinápticos

Função deAtivação

yk

Saída

1

m

k k ki i ki

y b w x W X

Pode ser pensado como entrada 1 e wk0=bk

Page 25: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

25

Modelos - Neurônio

Funções de Ativação

-5 0 5

0

0.2

0.4

0.6

0.8

1

x

(x)=1/(1+exp(-x))

Sigmoidal -5 0 5

-1

-0.5

0

0.5

1

x

(x)=sign(x)

Sinal

-5 0 5

-1

-0.5

0

0.5

1

x

(x)=tanh(x)

Tangente Hiperbólica -5 0 5

0

0.2

0.4

0.6

0.8

1

x

(x)=u(x)

Heaviside

Limitar a saídado neurônio[0,1] ou [-1,1]

Obs.:Função de Saída

Page 26: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

26

Modelos – Neurônio

Outros Modelos:

x1

x2

xm

.

.

wk1

wk2

wkm

.

.

Entrada

PesosSinápticos

( ) yk

Saída

1( )

1kk

y XX W

Usado em LVQ 2

2

( )

X Wk

k

ky X e

Usado em RBFN

Vários outros:Fukushima, Grossberg, GNM

Page 27: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

27

Modelos – Neurônios

MLP: Aproximadores globais

RBFN: Aproximadores Locais

Consequências: MLP x RBFN

Page 28: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

28

Modelos - Redes

Classificação Camadas:

Camada Simples Ex.: ADALINE, Perceptron, SOM, LVQ, Hopfield

y1

y2

yk

Entradas Saídasx1

x2

xn

... ...y3

y

EntradasSaídax1

x2

xn

...ADALINE

PerceptronFiltro Digital

Page 29: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

29

Modelos - Redes

Multi-Camadas Ex.:MLP, RBFN, TDNN

y1

y2

yk

Camada deEntrada

CamadaEscondida

Camada deSaída

x1

x2

xn

z1

z2

zp

z3

... ......

Page 30: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

30

Modelos - Redes

Mistura de Experts Ex.: Committee Machines, CombNET-II, T-CombNET

XEspaço: S

SMSB

...

Saída

Entrada Rede Tronco

RedesGalhos

...

Max

XEspaço: S

Decisão Final

CombNET-II

Page 31: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

31

Modelos - Redes

Topologia: Feed-Foward

Ex.: MLP, Perceptron,TDNN

y1

y2

yk

x1

x2

xn

z1

z2

zp

z3... ......Fluxo do sinal

Multi-Layer Perceptron

Page 32: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

32

Modelos - Redes

Camada de Saída

Camada Escondida 2

Camada Escondida 1

Camada de Entrada

x1(t)x2(t)

xm(t)

t-T-1 t-T t-1 tTempo

Janela

. . .

...

y1 y2 yk

Time Delay Neural Network

Page 33: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

33

Modelos - Redes

Recorrentes / Parcialmente Recorrentes Ex.: Elman, Jordan, Hopfield

Camadade entrada

CamadaEscondida

Camada de Saída Camada de

Contexto

...

...

...

...

y1 y2yk

x1(t) x2(t) xn(t)

z-1 z-1 z-1

Camadade Entrada

CamadaEscondida

Camadade saída

Camadade Estado...

...

...

...

y1 y2 yk

x1(t) x2(t) xn(t)

Elman Jordan

Page 34: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

34

Modelos - Redes

...

...y1 y2 yk

x1(t) x2(t) xn(t)

Hopfield

Estável???

Minimiza função energia de Liapunov

Page 35: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

35

Modelos - RedesX0’(t)Espaço: S0’

X1(t)Espaço: S1

X0(t)Espaço: S0

X(t)Espaço: S

Entrada NormalizaçãoTemporal

Buffer

SMSB

...

Saída

Rede Tronco

RedesGalhosRecorrentes

...

Decisão FinalMax

T-CombNET

Page 36: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

36

Aprendizado

Aprendizado porcorreção de erro

Aprendizadocompetitivo

AprendizadoHebbiano

Aprendizado deBoltzmann

Algoritmos de Aprendizado

Aprendizadosupervisionado

Aprendizadonão supervisionado

Paradigmas de Aprendizado

Processos de Aprendizado

Aprendizado por reforço

Page 37: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

37

Processo de Aprendizagem

Tarefas Associação de Padrões

Memória Associativa Autoassociação Ex.:Hoppfield

storage phaserecall phase

Heteroassociação

Capacidade de Armazenamento

Page 38: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

38

Processo de Aprendizagem

Reconhecimento de Padrões Classificação em classes Extração/Seleção de Características

Espaço de Observaçãom-Dimensional

Espaço de Característicasq-Dimensional

Espaço de Decisãor-Dimensional (n. classes)

Obs.: m>q : Classical Methods

m<q : Support Vector Machine

Page 39: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

39

Processo de Aprendizagem

Aproximação de Funções Aproximador Universal

Teorema de Kolmogorov

Identificação de Sistemas

Sistema inverso

( ) ( )F x f x

-10 -5 0 5 10

-1

0

1

2

3

x

f(x)

Amostras de f(x)

SistemaDesconhecido

+

RedeNeural

( )nx

( )d n

( )y n

( ) ( ) ( )e n d n y n

-

f()

+

RedeNeural

( )nx( )d n ( )y n -

Page 40: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

40

Processo de Aprendizagem

Controle

Filtragem Filtragem (ex. extração de bordas – Hoppfield) Predição (Séries Temporais) Blind Signal Separation

ControladorNeural

Planta+Sinal de Referência

Sinal de erro

Entrada daPlanta

Saída daPlanta

-

Rede

Neural+

-

( )x n

ˆ( )x n( )x n T

( 2 )x n T

( )x n mT...

Page 41: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

41

Neurônio McCulloch-Pitts

Modelo matemático:

bk

Bias

1

mT

k k ki i ki

y b w x

x w

Pode ser pensado como entrada x0=1 e wk0=bk

(·)

x1

x2

xm

.

.

wk1

wk2

wkm

.

.

Vetorde

Entradauk

PesosSinápticos

Função deAtivação

yk

Saída

potencialinterno

Page 42: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

42

Perceptron: Separabilidade Linear

sx

y

0.5

0.5

-0.2

1

sx

y

0.5

0.5

-0.9

1

(0.5 0.5 0.2)s u x y (0.5 0.5 0.9)s u x y

x

y

1

1Porta OR

x

y

1

1Porta AND

Page 43: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

43

Passo 0: Inicializar pesos e Bias em zero

Passo 1: Para cada par s:t Passo 2: setar as entradas

Passo 3: setar a saída

Passo 4: Ajustar os pesos

Ajustar o bias

Regra de Hebb – aprendizado por reforço

Algoritmo de Treino – 1 neurônio

y

x1

x2

xn

...i ix s

y t

( ) ( )i i iw new w old x y

0 0iw b

( ) ( )b new b old y

Obs: Se [0,1] [0,1]

[ 1,1] [ 1,1]i

i

x t

x t

Regra de aprendizado maissimples e menos poderosa

Page 44: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

44

Passo 0: Inicializar pesos e Bias (zero)Setar learning rate

Passo 1: enquanto a condição de parada for verdadeiraPasso 2: Para cada par s:t

Passo 3: setar as entradas

Passo 4: Calcular a saída

Passo 5:Atualizar os pesos e bias se ocorrer erro

Passo 6: Teste de parada: houveram alteração nos pesos no passo 2?

Perceptron

Algoritmo de Treino - 1 neurônio

y

x1

x2

xn

...

0 1

i ix s

i ii

y b x w

( ) ( )

( ) ( )

( ) ( )

( ) ( )

i i i

i i

if y t

w new w old tx

b new b old t

else

w new w old

b new b old

Page 45: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

45

Perceptron

Observações: Os pesos serão atualizados se:

Acontecer erro de classificação Target não for zero

para target binários [0,1] : usar [-1,1]

P/ Função de Ativação:Threshold indica uma faixa deincerteza na classificação

Teorema da convergência do PerceptronSe existirem os pesos (linearmente separável) que resolvem o problema (sem erro no conjunto de treino), os pesos serão encontrados pelo algoritmo em um número finito de iterações.

1

-1

-

uk

y

Page 46: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

46

A Rede Perceptron de Rosemblat

Desenvolvido por Rosemblat, 1958 Rede mais simples para classificação de

padrões linearmente separáveis Utiliza modelo de McCulloch-Pitts de neurônio.

y1

y2

ym

x1

x2

xn

... ...y3

1

-1

-

uk

yk=(uk)Função de Ativação

com =0 ou não

Page 47: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

47

Passo 0: Inicializar pesos e Bias (zero ou pequenos)Setar learning rate

Passo 1: enquanto a condição de parada for verdadeiraPasso 2: Para cada par s:t

Passo 3: setar as entradas

Passo 4: Calcular as saídas

Passo 5:Atualizar os pesos e bias

Passo 6: Teste de parada: houve alteração nos pesos no passo 2?

A Rede Perceptron de Rosemblat

Algoritmo de Treino – m saídas

0 1

i ix s

j j i iji

y b x w

( ) ( )

( ) ( )

j j

ij ij j i

j j j

if y t

w new w old t x

b new b old t

else

não ajustar

y1

y2

ym

x1

x2

xn

... ...y3

1... 1...j m i n

1,...,j m

Page 48: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

48

Adaline – Adaptive Linear Neuron

Filtragem Adaptativa – Identificação de Sistemas

SistemaDesconhecido

+

RedeNeural

Sistemas SISO/MISO/MIMO (Single/Multiple Input Single/Multiple Output)

( )nx

( )d n

( )y n

( ) ( ) ( )e n d n y n

-

0

( ) ( ) ( ). ( )

( ) ( ) ( )

N

i ii

T

y n u n w n x n

y n n n

x w

Função de Ativação Lineari=0 : bias

Minimizar uma Função Custo (diferenciável): *( ) ( ) w w

Técnicas de Otimização: Gradiente descendente, Newton, Gauss-Newton, Wiener,LLS, LMS,etc.

Page 49: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

49

Adaline – Adaptive Linear Neuron

LMS (Least Mean Square) 21( ) ( )

2e n w

( ) ( ) ( ) ( )Te n d n n n x wComo:

Logo:

Assim: ( ) ( )( ).

e ne n

w

w w

( )( )

e nn

x

we

( )( ). ( )n e n

w

xw

Direção do Gradiente Descendente da função erro quadrático

( )ˆ ˆ ˆ( 1) ( ) ( ) . ( ). ( )n n n n e n

w

w w w xw

Learning Rate/Taxa de Aprendizado

Função Custo:

Page 50: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

50

Adaline – Adaptive Linear Neuron

Método baseado emGradiente Descendente

Busca ponto de Mínimo (Local ou Global)

Page 51: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

51

Adaline – Adaptive Linear Neuron

Treinamento: Regra Delta ou LMS

yx1

xi

w1

wi

+

X

d-

...

wi

. .i iw x d y

( 1) ( )i i iw n w n w

Page 52: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

52

Adaline – Adaptive Linear Neuron

TreinamentoPasso 0: Inicializar pesos e Bias (randomicos pequenos)

Setar learning rate (valor pequemo)Passo 1: enquanto a condição de parada for verdadeira

Passo 2: Para cada par s:d bipolarPasso 3: setar as entradas

Passo 4: Calcular a saída

Passo 5:Atualizar os pesos e bias

Passo 6: Teste de parada: A maior alteração nos pesos > tolerância?

y

x1

x2

xn

...0 1

i ix s

i ii

y b x w

( ) ( ) ( )

( ) ( ) ( )i i iw new w old d y x

b new b old d y

Page 53: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

53

Adaline – Adaptive Linear Neuron

Observações muito pequeno: Baixa velocidade de Convergência muito grande: Pode não convergir

Hencht-Nielsen (1990) demonstraram que o limite superior de

Widrow desenvolveu treinamento para MADALINE (MRII)

Estamos usando Função de Ativação Linear

2

Maior Autovalor da matriz decorrelação R

1

1( ). ( )

PT

p

R p pP

x x

É usual usar pequeno 0.1

Page 54: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

54

A Rede Perceptron Utiliza modelo de McCulloch-Pitts de neurônio Função de Ativação Não-Linear, porém

Continuamente Diferenciável

y1

y2

ym

x1

x2

xn

... ...y3

Para um neurônio qualquer j temos:

Page 55: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

55

A Rede Perceptron

21( ) ( )

2j j je n w

Para esta rede temos: j jy u onde:1

nT

j ji i j ji

u w x b

x w

pode ser incorporado a w, i=0

Nosso objetivo é minimizar a Energia Instantânea do Erro: 2 21 1

2 2j j j jd y e

Assim: ( ) ( )( ).j j j

jj j

e ne n

w

w w ( ) ( ) ( )j j je n d n u n

( ) ( ) ( )( )j j j

jj j j

e n e n u nu n

u

x

w w

( )( ). ( ) .j j

j jj

e n u n

wx

w

Como:

Temos:

Logo:

Page 56: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

56

A Rede Perceptron

Direção do Gradiente Descendente da função erro quadrático

( )ˆ ˆ ˆ( 1) ( ) ( ) . ( ). ( ) .j j

j jj

n n n e n u n

ww w w x

w

Definindo o Erro Local (Gradiente Local)

( )( ) ( ). ( ) j j

j j jj

n e n u nu

w

Podemos escrever:

ˆ ˆ( 1) ( ) . ( ).jn n n w w x

w

Page 57: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

57

A Rede Perceptron

.

2.

.( ) . ( ) 1 ( ) . 1

1

j

j

a u

j j j j ja u

a eu a u u a y y

e

-4 -2 0 2 4

0

0.2

0.4

0.6

0.8

1

x

(x)=1/(1+e-x)

'(x)

Função Sigmoidal e sua Derivada Observações: Função de Ativação

Se Função Sigmóide.

1( )

1 jj a uue

Se Função Tanh

2. .

2. .

1( ) tanh( )

1

j

j

a u

j j a u

eu u

e

2( ) . 1j ju a y

-3 -2 -1 0 1 2 3

-1

-0.5

0

0.5

1

x

Função Tangente Hiperbólica e sua Derivada(x)=tanh(x)

'(x)

Page 58: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

58

A Rede Perceptron

Deste modo podemos simplificar para

ˆ ˆ( 1) ( ) . ( ). 1 .j j jn n e n y y w w x

Função de Ativação Sigmoidal

2ˆ ˆ( 1) ( ) . ( ) 1 .j jn n e n y w w x

Função de Ativação Tanh

w

w

Page 59: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

59

Passo 0: Inicializar pesos e Bias (randomicos pequenos)Setar learning rate

Passo 1: enquanto a condição de parada for verdadeiraPasso 2: Para cada par s:d

Passo 3: setar as entradas

Passo 4: Calcular a saída

Passo 5:Ajustar os pesos e bias

Passo 6: Teste de parada

A Rede Perceptron

Algoritmo de Treino – m saídas

0 1

i ix s

j j i iji

y b x w

( ) ( ) ( ) (1 )

( ) ( ) ( ) (1 )

ij ij j j j j i

j j j j j j

w new w old d y y y x

b new b old d y y y

y1

y2

ym

x1

x2

xn

... ...y3

1... 1...j m i n

Page 60: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

60

A Rede Multi-Layer Perceptron (MLP)

Rede mais utilizada atualmente Utiliza modelo de McCulloch-Pitts de neurônio,

Função de Ativação Não-Linear

Problema: Não se conhece o erro das camadas intermediárias, para ajuste dos pesos.

Solução: Error BackPropagation (Regra Delta Generalizada)

o1[3]=y1

o2[3]=y2

on3[3]=yn3

x1

x2

xn0

o1[2]

on2[2]

... ......

o1[1]

on1[1]

...

Page 61: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

61

A Rede Multi-Layer Perceptron (MLP)

Procedimento análogo ao anterior.

De onde pode-se escrever para a camada de saída:

Ainda podemos escrever para a segunda camada escondida:

[3] [3][3] [3]

( ) ( ) ( )( ) ( ).

( ) ( )j j j

j j jj j j

e nn e n u

u n e n u

w w

[3][3] [3] [3] [3] [2]

[3] [3] [3]

( ) ( ). .j j j

ji j i j ij j j

uw x o

u

w w

w w

[2][2] [2] [2] [2] [1]

[2] [2] [2]

( ) ( ). .j j j

ji j i j ij j j

uw x o

u

w w

w w

Page 62: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

62

A Rede Multi-Layer Perceptron (MLP)

Ainda podemos escrever para a segunda camada escondida: (cont)[2]

[2] [2] [2] [2] [1][2] [2] [2]

( ) ( ). .j j j

ji j i j ij j j

uw x o

u

w w

w w

Como calcular o Gradiente Local (Erro local) para esta camada?

Podemos escrever usando a regra da cadeia:[2]

[2][2] [2] [2]

( ) ( )j j jj

j j j

o

u o u

w w

Sabendo que: [2] [2]j jo u

Temos: [2] [2][2]

( )jj j

j

uo

w

Page 63: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

63

A Rede Multi-Layer Perceptron (MLP)

Temos: (cont) [2] [2][2]

( )jj j

j

uo

w

Podemos estimar a derivada na eq. anterior, como:

3 3 3[3][3] [3]

[2] [3] [2] [3] [2]1 1 1

( ) ( ) ( )n n nj j ji

ik ki i kj i j i j

uw x

o u o u o

w w w

3 3 3[3] [3] [2] [3] [3]

[2] [2]1 1 1

( ) n n nj

i ik k i iji k ij j

w o wo o

w

Page 64: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

64

A Rede Multi-Layer Perceptron (MLP)

Então o Gradiente Local da segunda camada por ser avaliado por:

3

[2] [2] [3] [3]

1

n

j j i iji

u w

Analogamente, podemos escrever para a primeira camada:

[1] [1] [1] [1] [0] [1]. . .ji j i j i j iw x o x

onde: 2

[1] [1] [2] [2]

1

n

j j i iji

u w

Logo:[2] [2] [2] [2] [1]. .ji j i j iw x o

Page 65: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

65

A Rede Multi-Layer Perceptron (MLP)

Page 66: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

66

Passo 0: Inicializar pesos e Bias (randomicos pequenos)Setar learning rate

Passo 1: enquanto a condição de parada for falsaPasso 2: Para cada par s:d

FeedForwardPasso 3: setar as entradas

Passo 4: Calcular as saídas de todos os neurônios

BackPropagation

A Rede Multi-Layer Perceptron (MLP)

BackPropagation (1 camada escondida)

0 1

k kx s

1

[1] [1] [1] [1] [1]2

1

1,...,n

j j i ij j ji

u b x w o u j n

2

[2] [2] [1] [2] [2] [2]3

1

1,...,n

j j i ij j j ji

u b o w y o u j n

Page 67: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

67

BackPropagationPasso 5: Calcular os Gradientes Locais da camada de

saída

Calcular o fator de correção

Passo 6: Calcular os Gradientes Locais da camada escondida

Calcular o fator de correçãoPasso7: Atualizar os pesos

Passo 8: Condição de Parada

A Rede Multi-Layer Perceptron (MLP)

BackPropagation (1 camada escondida) (cont)

[2] [2]( ).j j j jd y u [2] [2] [1].ji j iw o

[1] [1].ji j iw x

2

[1] [1] [2] [2]

1

n

j j i iji

u w

[2] [2] [2]( ) ( )ji ji jiw new w old w [1] [1] [1]( ) ( )ji ji jiw new w old w

Page 68: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

68

A Rede Multi-Layer Perceptron (MLP)

Variações do Backpropagation Backpropagation com Momentum

Treinamento em Lote (Batch):Os pesos são atualizados após a apresentação de todos os vetores de treino à rede

Taxa de aprendizado adaptativa

[ ] [ ] [ 1] [ ]( ) . ( 1)s s s sji j i jiw k o w k

Melhora a velocidade de convergência

Page 69: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

69

A Rede Multi-Layer Perceptron (MLP)

Considerações Práticas: Inicialização Randômica dos pesos

determina se a rede converge para um mínimo local ou global. Geralmente Ex.: inicialização de Nguyen-Widrow

Critério de Parada Número de épocas > Ne Erro médio quadrático do Treino < Th Taxa de decrescimento do EMQ <Th (problema: Platô) Mínimo EMQ dos dados de validação (early stopping)

Quantos pares(P) s:d do banco de treino? Baum-Haussler: W/P=e onde 1-(e/2) % vetores corretamente

classificados no treino e 1-e % de teste W o número de pesos da rede

[ 0.5,0.5]ijw

EMQ

T

Validação

Treino

Page 70: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

70

A Rede Multi-Layer Perceptron (MLP)

Considerações Práticas: Quantas camadas Escondidas?

Demonstra-se que 1 camada escondida é suficiente para resolver qualquer problema

Porém o treinamento pode ser facilitado com 2 camadas em problemas muito complexos

Dificilmente usa-se 3 ou mais camadas escondidas Quantos neurônios na camada escondida?

Critério de Baum-Haussler baseado no N. vetores de treino

Se conjunto de treino pequeno e rede grande: Alta probabilidade da rede se especializar muito rapidamente

Se conjunto de treino grande e rede pequena: Pode acontecer da rede não ser capaz de modelar a complexidade do problema

Método de tentativa e erro Média Geométrica:

H I ON N N

Page 71: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

71

A Rede Multi-Layer Perceptron (MLP)

Capacidade de classificação

x

y

Classe 1

Classe 2

Page 72: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

Learning Vector Quantization

Self-Organizing Maps

Page 73: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

73

LVQ

Quantização Vetorial “Aprendida” (LVQ) Treinamento supervisionado Neurônio com função de ativação baseado em

distância (L-0,L-1,L-2,L-, Mahalanobis, etc) 1 única camada Winner-takes-all : “Vencedor leva tudo”

Idéia: K-NN -> Alta complexidade computacionalModelar a superfície de decisão por poucos vetores

Page 74: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

74

LVQ

xk

mki

yi

i iy x m

Classe dada pelo neurônio vencedor

arg min iic x m

mc é o neuronio c mais próximo do vetor x vencedor

Problema: Qual o conjunto de vetores mi que minimizam os erros de classificação

Page 75: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

75

LVQ

Diversos algoritmos de treinamento: LVQ1 Seja x(t) a sequência de vetores de entrada emi(t) a sequencia dos vetores de pesosKohonen provou em 1990 que o algoritmo converge para

os valores assintoticamente ótimos de mi:

( 1) ( )i im t m t para i c

( 1) ( ) ( ) ( ) ( )c c cm t m t t x t m t

( 1) ( ) ( ) ( ) ( )c c cm t m t t x t m t

Se x e mc pertencem a mesma classe

Se x pertencer a classe diferente de mc

Page 76: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

76

LVQ

LVQ2.1 Igual ao LVQ1 porém se escolhe:

vetor mj mais próximo de x que pertence a mesma classe

E Vetor mi mais próximo de x que não pertence a

mesma classe x deve pertencer à “Janela” definida por:1

min ,1

ji

j i

dd ws onde s

d d w

[0.2,0.3]w

( 1) ( ) ( ) ( ) ( )i i im t m t t x t m t

( 1) ( ) ( ) ( ) ( )j j jm t m t t x t m t

Page 77: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

77

LVQ

Outras variações LVQ3

Escolhe-se os 2 vectores mais próximos a x OLVQ1

Taxa de aprendizagem depende de mi

s(t)=1 mesma classe s(t)=-1 classes diferentes Convergência mais rápida

( 1)( )

1 ( ) ( 1)c

cc

tt

s t t

Page 78: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

78

LVQ Superfície de decisão segmentalmente

linear (distância Euclidiana)

Page 79: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

79

Competitive Learning

Divide o espaço de entrada em N agrupamentos com base em alguma métrica de distância entre os elementos

Os vetores de entrada são classificados em N classes não previamente definidas

Ver Ex. No MATLAB

Page 80: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

80

LVQ

CombNET-II: Self-Growing Algorithm Não precisa a priori definir o número de

neurônios Potencial interno de divisão (número

máximo de classes/vetores) Maior distância entre os vetores x e o vetor

mi

Pré-divisão do espaço de entrada Problema grande -> vários problemas

menores

Page 81: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

81

XEspaço: S

SMSB

...

Sinal Classificado

Vetor Entrada Rede Tronco

Redes

Galhos

...

Max

XEspaço: S

-Rede Tronco: LVQ - Self Growing Algorithm-Redes Galhos: 3-Layer MLP - BackPropagation

Procedimento

De Decisão Final

Projetada para lidar com problemas com grande número de classes

CombNET-II

Page 82: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

82

Self-Organizing Maps - SOM

Mapeamento: Visualização da relação de proximidade

existente em dados de alta dimensionalidade com base em alguma estrutura 2-D

2n

Page 83: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

Redes Neurais Temporais

Page 84: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

84

Redes Neurais Temporais

Processamento de sinais variantes no tempo

Unidimensional: Série Temporal

Exemplos: http://www-personal.buseco.monash.edu.au/~hyndman/TSDL/

Multidimensional: Conjunto de N Séries Temporais Vetor de dimensão N variante no tempo

( ) {1,2,3,2,1,0, 1,1,2,3,4,2,1,...}x t

Page 85: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

85

Séries Temporais

Exemplos:

Total Electricity Consumption, U.S., 1920-70, Kilowatt-hours (millions)

0

500000

1000000

1500000

2000000

1920 1930 1940 1950 1960 1970

Série bem comportada e facilmente modelável, previsível.

Page 86: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

86

Séries Temporais

Monthly temperature (celcius), 01/83 - 04/94

-15-10

-505

10152025

Sazonalidade: Anual, Semestral, Trimestral, Mensal, Semanal, Diária, Horária

Page 87: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

87

Séries Temporais

International airline passengers: monthly totals in thousands. Jan 49 - Dec 60

0100200300400500600700

jan/

49

jan/

50

jan/

51

jan/

52

jan/

53

jan/

54

jan/

55

jan/

56

jan/

57

jan/

58

jan/

59

jan/

60

Cíclica tendenciosaDecomposição em Cíclica + Tendencia: modelo ARIMA

Page 88: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

88

Séries Temporais

Monthly precipitation (in mm), Jan 1983 - April 1994. Source: Hipel and Mcleod (1994).

0.00

50.00

100.00

150.00

200.00

250.00

jan-8

3

jul-83

jan-8

4

jul-84

jan-8

5

jul-85

jan-8

6

jul-86

jan-8

7

jul-87

jan-8

8

jul-88

jan-8

9

jul-89

jan-9

0

jul-90

jan-9

1

jul-91

jan-9

2

jul-92

jan-9

3

jul-93

jan-9

4

Série de difícil previsão

Page 89: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

89

Séries Temporais

Monthly closings of the Dow-Jones Industrial Index Aug 1968 - Aug 1981

0

200

400600

800

1000

1200

ag

o/6

8

ag

o/6

9

ag

o/7

0

ag

o/7

1

ag

o/7

2

ag

o/7

3

ag

o/7

4

ag

o/7

5

ag

o/7

6

ag

o/7

7

ag

o/7

8

ag

o/7

9

ag

o/8

0

ag

o/8

1

Área de grande interesse financeiro

Page 90: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

90

Séries Temporais

Objetivo: Dados os valores presente e passados de uma Série prever valores no futuro. Ex.: Previsão de demanda de Energia

Elétrica Curtíssimo Prazo: minutos Curto Prazo: 24 horas Médio Prazo: Meses Longo Prazo: Anos

Page 91: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

91

Sinais dependentes do tempo

Ex.: Voz : Sinal 1-D f(t) Sinal 2-D f(x,t)

Vídeo: Sinal 3-D f(x,y,t) Sinal 4-D f(x,y,z,t)

Vetores dependentes do tempo: 1-D v(x(t)) =v(t) 2-D v(x(t),y(t)) 3-D v(x(t),y(t),z(t)) N-D v(x1(t), x2(t), x3(t),..., xN(t))

Page 92: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

92

Redes Neurais Temporais

MLP com Janela Temporal

InputLayer

HiddenLayer

OutputLayer

...

...

y1 y2yk

...

x1(t) x2(t) xn(t) xn(t-T)

...

time window

...

x1(t-T) x2(t-T)

...

x1(t-1) x2(t-1) xn(t-1)

Page 93: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

93

Redes Neurais Temporais

TDNN : Time Delay Neural Network

Output Layer

Hidden Layer 2

Hidden Layer 1

Input Layer

x1(t)x2(t)

xm(t)

t-T-1 t-T t-1 ttime

window

. . .

...

y1 y2 yK

Page 94: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

94

時間

出力層

入力層

隠れ層1

隠れ層2

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN

Page 95: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

95

時間

出力層

入力層

隠れ層1

隠れ層2

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN

Page 96: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

96

時間

出力層

入力層

隠れ層1

隠れ層2

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN

A B C D E F G H I J K L M A1

2

3

4

5

6

7

Page 97: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

97

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN 時間

出力層

隠れ層2

隠れ層1

入力層時間窓

Page 98: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

98

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN 時間

出力層

隠れ層2

隠れ層1

入力層時間窓

Page 99: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

99

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN 時間

出力層

隠れ層2

隠れ層1

入力層時間窓

Page 100: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

100

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN 時間

出力層

隠れ層2

隠れ層1

入力層

時間窓

Page 101: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

101

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN 時間

出力層

隠れ層2

隠れ層1

入力層

時間窓

Page 102: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

102

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN 時間

出力層

隠れ層2

隠れ層1

入力層

Page 103: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

103

時系列を考慮した学習・識別モデル時系列を考慮した学習・識別モデル

TDNNTDNN 時間

出力層

隠れ層2

隠れ層1

入力層

ネットワークが巨大なため

学習に時間がかかる 

問題点

Page 104: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

104

Redes Neurais Temporais

Redes Localmente RecorrentesNeurônio recorrente

Gk1(z)

(·)

x1

x2

xm

bk

.

...

Bias

InputSignals uk

LocalSynapse

Feedback

Activationfunction

yk

OutputGk2(z)

Gkm(z)

Hlo(z)

LocalActivationFeedback

LocalOutput

Feedback

Hla(z)

Page 105: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

105

Redes Neurais Temporais

Redes Totalmente Recorrentes

InputLayer

HiddenLayer

OutputLayer

...

...

...

y1 y2yk

x1(t) x2(t) xn(t)

feedforwardlinks

cross-talklinks

recurrentlinks

Rede de Hopfield

Page 106: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

106

Redes Neurais Temporais

Redes Parcialmente Recorrentes

InputLayer

HiddenLayer

OutputLayer

StateLayer

...

...

...

...

y1 y2yk

x1(t) x2(t) xn(t)

Rede de Jordan

Page 107: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

107

Redes Neurais Temporais

Redes Parcialmente Recorrentes

InputLayer

HiddenLayer

OutputLayer

ContextLayer

...

...

...

...

y1 y2yk

x1(t) x2(t) xn(t)

z-1 z-1 z-1

Rede de Elman

Capaz de simular qualquer máquina de estados finita (Kremer 1995)

Facilmente treinável - Backpropagation

Page 108: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

108

Redes Neurais Temporais

T-CombNET (Lamar 2001)X0’(t)Space: S0’

X1(t)Space: S1

X0(t)Space: S0

X(t)Space: S

Input Vector

TimeNormalization

Buffer

SMSB

...

Classified signal

Stem Network

BranchRecurrentNetworks

...

Final decisionProcedureMax

Page 109: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

109

Outras Redes Neurais

Radial Basis Function Network (RBFN) Adaptive Resonant Theory (ART) Counterpropagation Boltzmann Machine Probabilistic Neural Nets Neocognitron Committee Machines Mixture of Experts Adaptive Neural Nets (pruning) Support Vector Machines ...

Page 110: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

110

Conclusões

Potencialidades Habilidade de tratar

sistemas complexos Representação de

conhecimento quantitativo

Processamento Paralelo Aprendizado Adaptabilidade Generalização

Limitações Perda de

generalização : Over-training

“Maldição” da dimensionalidade

Alta complexidade computacional do treino

Mínimos locais

Page 111: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

111

Aplicações Congresso Brasileiro de Redes Neurais

2003-Controle de sistemas de energia -Detecção de doenças cardíacas-Compressão de Imagem -Análise de EEG-Predição de distúrbios financeiros -Detecção de falhas em auto-fornos-Análise de dados sísmicos -Diagnóstico de câncer de cabeça-Controle industrial -Espaços Psicológicos-Farmacologia -Análise de risco de infarto do miocardio-Descarga em equipamentos de A.T. -Sistemas tutoriais-Análise de tráfego de redes Ethernet -Análise de QoS em áudio na internet-Classificação de proteínas -Previsão de vazão-Processo de hidrorrefino -Previsão de carga elétrica-Dinâmica caótica -Visão computacional-Predição de tuberculose pulmonar -Reconhecimento de peças-Classificação de textos -Reconhecimento de linfócitos-Classificação de tecidos arteriais -Tomografia-Projeto de quantizadores vetoriais -Predição da Percentagem de Carne na

Carcaça Suína -Controle de robos móveis -Análise de concessão de crédito-Risco de Leucemia Infantil -Implantação e avaliação de provedores de internet- Sistema Sonar - Estimação do tamanho de software-previsão de demanda de água -Reconhecimento de placas de veículos

Page 112: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

112

Bibliografia Recursos

Programas gratuitos SNNS http://www.informatik.uni-stuttgart.de/ipvr/bv/projekte/snns/snns.html Tlearn http://crl.ucsd.edu/innate/tlearn.html Neural Java http://diwww.epfl.ch/mantra/tutorial/english/ LVQ_PAK e SOM_PAK http://www.cis.hut.fi/research/software

Programas Comerciais EasyNN http://www.easynn.com/ aiNet V1.25 http://www.ainet-sp.si/NN/En/nn.htm Qnet 97 http://www.qnet97.com/ NevProp S http://www.scs.unr.edu/nevprop/ NeuronSolutions http://www.neurosolutions.com/ Cortex NN http://cortex.snowseed.com/ MatLab - Neural Network Toolbox http://www.mathworks.com/products/neuralnet/

Banco de Dados http://www.ics.uci.edu/~mlearn/MLSummary.html http://www.cs.utoronto.ca/~delve/data/summaryTable.html http://www-personal.buseco.monash.edu.au/~hyndman/TSDL/

NewsGroup: comp.ai.neural-nets Orkut: Neural Networks http://www.orkut.com/Community.aspx?cmm=23677

Redes Neurais: http://www.orkut.com/Community.aspx?cmm=31700

Page 113: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

113

Bibliografia

Livros Textos S. Haykin, Neural Networks – A Comprehensive

Foundation L. Fausett, Fundamentals of Neural Networks A. Cichocki e R. Unbehau, Neural Networks for

Optimization and Signal Processing P. D. Wasseman, Neural Computing – Theory and

Practice T. Masters, Practical Neural Network Recipes in

C++ M.V. Lamar, Hand Gesture Recognition using T-

CombNET – A Neural Network dedicated to Temporal Information Processing

Page 114: Redes Neurais. TE073 - Processamento Digital de Sinais II 2 Tópicos Introdução Conceitos Histórico Modelos Neurônios Redes Aprendizado Supervisionado

TE073 - Processamento Digital de Sinais II

114

Bibliografia

Revistas IEEE Transactions on Neural Networks

Conferências ICANN – Int. Conf. on Artificial NN IJCNN – Int. Joint Conference on NN ICONIP – Int. Conf. on Neural Information

Processing CBRN – Congresso Brasileiro de Redes Neurais SBRN – Simpósio Brasileiro de Redes Neurais