42
EE-214/2011 Neurônio a .5 .5 x 1 x 2 -1 .25 x 3 a .5 .5 x 1 x 2 -1 .25 -1 .25 x 3 .3

Neurônio

  • Upload
    chessa

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

.3. Neurônio. Perceptron AND. Entradas 0 or 1 Saída é 1 quando ambos x 1 e x 2 são 1. EE-214/2011. .5*1+.5*0+.75*-1 = -.25 output = 0. .5*1+.5*1+.75*-1 = .25 output = 1. x 1. .5*0+.5*0+.75*-1 = -.75 output = 0. 1. 0. x 2. 0. 1. Perceptron OR. Entradas 0 or 1 - PowerPoint PPT Presentation

Citation preview

Page 1: Neurônio

EE-214/2011

Neurônio

a.5

.5

x1x2

-1

.25

x3

a

.5

.5

x1x2

-1

.25

-1

.25

x3

.3

Page 2: Neurônio

Perceptron AND

• Entradas 0 or 1

• Saída é 1 quando ambos x1 e x2 são 1

1

0

10

x1

x2

.5*0+.5*0+.75*-1= -.75 output = 0

.5*1+.5*1+.75*-1= .25 output = 1

.5*1+.5*0+.75*-1= -.25 output = 0

a.5

.5

x1

x2

-1

.75

aa.5

.5

.5

.5

x1

x2

x1

x2

-1

.75

-1

.75

EE-214/2011

Page 3: Neurônio

Perceptron OR

1

0

10

x1

x2

.5*0+.5*0+.25*-1= -.25 output = 0

.5*1+.5*1+.25*-1= .75 output = 1

.5*1+.5*0+.25*-1= .25 output = 1

aa.5

.5

.5

.5

x1

x2

x1

x2

-1

.25

-1

.25• Entradas 0 or 1

• Saída é 1 quando pelo menos

um dos dois, x1 ou x2 é 1

EE-214/2011

Page 4: Neurônio

EE-214/2011

Discriminante Linear via Perceptron

clear all

P = [-1 -1 1 1; -1 1 -1 1];T = [0 0 0 1];

net=newp(minmax(P),1);net.trainParam.epochs = 20;net = train(net,P,T);

plotpv(P,T);plotpc(net.IW{1},net.b{1});

EE-214/2011

Page 5: Neurônio

Perceptron XOR

1

0

10

x1

x2

• Entradas 0 or 1

• Saída é 1 quando somente

um dos dois, x1 ou x2 é 1

???

a.5

.5

x1

x2

-1

???

aa.5

.5

.5

.5

x1

x2

x1

x2

-1

Não separável por hiperplano

Tentar Associaçõesde Neurônios

EE-214/2011

Page 6: Neurônio

Timeline

• 1943 – Warren S. McCulloch e Walter H. Pitts, modelo de neurônios com limiares binários

• 1957 – Frank Rosenblatt, classe de máquinas com aprendizado denominados perceptrons

• 1969 – Marvin Minsky e Seymour Papert – apresentam o problema do XOR.

• 1980’s – David E. Rumelhart, Geoffrey E. Hinton e Ronald J. Williams, generalized delta rule for learning by back-propagation para treinamento de MLP

EE-214/2011

Page 7: Neurônio

O.5

-.5

.75

.5

.5

.5

.5

.25 OR

AND

x1

x2

aa.5

.5

.5

.5

x1

x2

x1

x2

-1

.25

-1

.25

a.5

.5

x1

x2

-1

.75

aa.5

.5

.5

.5

x1

x2

x1

x2

-1

.75

-1

.75

1

0

10

x1

x2

1

0

10

x1

x2

EE-214/2011

Page 8: Neurônio

Redes Neurais Artificiais

Camada 1

Camada 3

Camada 2

Camada 1

Camada 3

Camada 2

EE-214/2011

Page 9: Neurônio

Tipos de Redes

• Perceptron Simples• Perceptron Multicamadas• Redes de Base Radial• Redes de Hopfield• SOM (Kohonen)• Types of neural networks• Recurrent network• The echo state network • Stochastic neural networks• Boltzmann machine• Modular neural networks• Committee of machines• Associative neural network (ASNN)• Instantaneously trained networks• Spiking neural networks (SNNs) • Neuro-fuzzy networks• ART• Grossberg

Kohonen Hopfield

ART

MLP

Elman

EE-214/2011

Page 10: Neurônio

Cérebro Humano

• Número de Neurônios: 4 x 1010 a 1011 • Número de Conexões: até 104 per neuron • Taxa de Mortalidade de Neurônios: 105 per day • Taxa de Aumento de Neurônios: ~0• Velocidade nas Sinapses: 1 kHz (computer 3.0 GHz)• Reestruturação: Bebê < 2anos 106 connections/s• Consumo de Energia: 10-16 J/operação/s (computador

10-6)

• Adaptação por meio de aprendizado• Comportamento sensível ao contexto• Tolerância a incertezas• Capacidade de manipular informações incompletas• Grande capacidade de memória• Capacidade de processamento em tempo real

EE-214/2011

Page 11: Neurônio

Vantagens de Redes Neurais Artificiais

• A prendizado a partir de dados, sem necessidade de Engenheiro de Conhecimentos • Capacidade de generalização • Capacidade de tratar multicolinearidade• Obtenção de modelos a partir de dados ruidosos • Obtenção de modelos a partir de dados incompletos• Permite tratar modelos não lineares• Permite tratar dados discontínuos• Sem dependência do tipo de distribuição • Computação simples em arquitetura massivamente paralela• Processamento rápido no modo de aplicação• Apresenta conhecimento distribuído• Tolerante a falhas nos nós• Pode ser dinâmico

EE-214/2011

Page 12: Neurônio

• Dificuldade de interpretação (caixa preta) • Dificuldade de debug, por causa da representação distribuída • Treinamento pode ser lento • Dificuldade em definir topologia• Treinamento pode falhar por captura em um mínimo local• O problema pode não ser descritível em termos de números

Principais Desvantagens de Redes Neurais Artificiais

Caixa Preta

Entradas Saídas

EE-214/2011

Page 13: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

EE-214/2011

Page 14: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo

manuscrito) representado por um vetor de caracteristicas.

EE-214/2011

Page 15: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

• O agrupamento (clustering) consiste em colocar os padrões similares em um mesmo grupo.

EE-214/2011

Page 16: Neurônio

Estrutura XORClasses

Não-ConvexasConfigurações

Possíveis

1 camada

2 camadas

3 camadas

A

AB

B

A

AB

B

A

AB

B

BA

BA

BA

Estruturas de RNA Requeridas para Separação

EE-214/2011

Page 17: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

Dado um conjunto de N pares entrada-saída, (x1, y1), (x2,y2), ..., (xN,yN), gerados por uma função desconhecida f(x), sujeito a ruído, a tarefa da

aproximação de função é achar uma estimativa, fRNA(x,W).

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4Pol. grau = 30 (Pol. orig. grau = 5), No de pontos = 31

yk

xk

f(x) + ruído

fRNA(x,W)

EE-214/2011

Page 18: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

Dado um conjunto de N amostras (y(t1), y(t2), ..., y(tN)) de uma sequência no tempo, estimar o valor de y(tN+k), k > 0.

0 5 10 15 20 25 300.5

1

1.5

2

2.5

3

3.5

4

4.5

5

x

yPrevisão

y

t

EE-214/2011

Page 19: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

O problema de otimização consiste em selecionar um ponto de um conjunto (de pontos viáveis) que resulta no melhor valor de uma função objetivo.

O ponto pode pertencer a Rn ou em espaço de funções como L2 (controle ótimo).A função objetivo J(.) pode ser custo (min) ou retorno (max).O conjunto de pontos viáveis é caracterizado por equações h(x) ou inequações g(x).

min J(x)

s.a.

h(x) = 0g(x) 0

x X

EE-214/2011

Page 20: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

Pelo Endereço

EndereçoConteúd

o

0000 1010110

0001 1100101

0010 1000111

0011 0010100

...

1111 0101111

Endereço Conteúdo

0000 1010110

0001 1100101

0010 1000111

0011 0010100

...

1111 0101111

Pelo Conteúdo

10xx111Existe algum dado do tipo ?

EE-214/2011

Page 21: Neurônio

EE-214/2011

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

Pelo Endereço

EndereçoConteúd

o

0000 1010110

0001 1100101

0010 1000111

0011 0010100

...

1111 0101111

Endereço Conteúdo

0000 1010110

0001 1100101

0010 1000111

0011 0010100

...

1111 0101111

Pelo Conteúdo

10xx111Existe algum dado do tipo ?

Search

EE-214/2011

Page 22: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

Dado um sistema dinâmico descrito por

onde u(t) é a entrada do sistema e y(t) é a saída, o problema de controle consiste em obter uma lei de controle u(t) que faça o sistema evoluir conforme especificações desejadas.

)t,u,x(hy

x)t(x

t,u,xfdt

dx

00

Mecanismode Ajuste

Plantar1

r2

u1

u2

y1

y2

+––

+

Controlador

EE-214/2011

Page 23: Neurônio

EE-214/2011

Métodos de Treinamento (Aprendizado)

Page 24: Neurônio

• Particionar os dados em:– Conjunto de Treinamento– Conjunto de Teste– Conjunto de Validação

• Ajustar os Pesos– Variar os pesos de modo que resultem em diminuição do erro na saída

para o dados do conjunto de treinamento.– Se o erro na saída para o dados do conjunto de teste começar a

aumentar, terminar o treinamento.– Verificar se a rede obtida produz bons resultados para o cojunto de

validação.• Overfitting: A rede ajustou-se ao ruído• Generalização: Produz resultados adequados para dados não utilizados no

treinamento (por exemplo, os do conjunto de teste).

Treinamento Supervisionado de RNA

EE-214/2011

Page 25: Neurônio

Métodos de Otimização

• Back Propagation (mais utilizado)• Método dos Momentos• Métodos Superlineares (Newton, Kalman)• Algoritmos Bioinspirados (p.ex., Genético)• Poliedros Flexíveis• Otimização Multi-Objetivos• ...

EE-214/2011

Page 26: Neurônio

Algoritmo Back-Propagation

1. Inicializar os pesos da rede (por exemplo, aleatoriamente)2. While (not_critério_parada)

For i = 1:Num_Amostras_Entrada_Saída

forward pass: Calcular saída Oi para entrada Xi

Calcular ei = (Ti - Oi) onde Ti é o target

backward pass: Calcular wj,i para cada camada j end

atualizar pesos

EE-214/2011

Page 27: Neurônio

Aplicações de RNA

• Classificação• Agrupamento • Aproximação de funções• Previsão• Otimização• Memória endereçável por conteúdo• Controle• outros ...

EE-214/2011

Page 28: Neurônio

EE-214/2011

Previsão de Séries Temporais

Page 29: Neurônio

Previsão de Séries Temporais

Dado um conjunto de N amostras (y(t1), y(t2), ..., y(tN)) de uma sequência no tempo, estimar o valor de y(tN+k), k > 0.

0 5 10 15 20 25 300.5

1

1.5

2

2.5

3

3.5

4

4.5

5

x

y

Previsão

y

t

EE-214/2011

Page 30: Neurônio

Propriedade de Aproximação Universal: Dada uma função f(x) sobre umdomínio X Rm e > 0, é possível construir fRNA(x,W) de modo que:

| f(x) - fRNA(x,W) | < , x X

RedeNeural

x1x2xn

yRNA = fRNA(x,W)

W

FunçãoAlvo

x1x2xn

y = f (x) x y

Propriedade de Aproximação Universal

EE-214/2011

Page 31: Neurônio

EE-214/2011

Propriedade de Aproximação Universal

•Barron, A. R.: Universal approximation bounds for superpositions of a sigmoidal function, IEEE Transactions on Information Theory, 39, 1993, pp. 930-945. •Cybenko, G.: Approximation by superposition of a sigmoidal function, Mathematics of Control, Signals, and Systems, 2, 1989, pp. 303-314. •K. Funahashi, On the approximate realization of continuous mappings by neural networks, Neural Networks, v.2 n.3, 1989, pp.183-192.•Hecht-Nielsen, R.: Kolmogorov's mapping neural network existence theorem, In: International Conference on Neural Networks, vol. 3, IEEE, Washington DC, 1989, pp. 11-14. •K. Hornik , M. Stinchcombe , H. White, Multilayer feedforward networks are universal approximators, Neural Networks, v.2 n.5, 1989 , pp.359-366.•J. Park , I. W. Sandberg, Universal approximation using radial-basis-function networks, Neural Computation, v.3, n.2, Summer 1991, pp.246-257.•F. Scarselli , A. C. Tsoi, Universal approximation using feedforward neural networks: a survey of some existing methods, and some new results, Neural Networks, v.11 n.1, jan, 1998, pp.15-37.

Page 32: Neurônio

EE-214/2011

% Se x é nx1 e há N pares (x,y)%% Fornecer entradas P na forma% [x1(1) x1(2) ... x1(N) ; ... ; xn(1) xn(2) ... xn(N)]%% Fornecer saida ou target T na forma% [y(1) ... y(N)]

P=...;T=...;

% Especificar estrutura da rede: no caso ‘new feed forward’net = newff(minmax(P),[2 15 1]);% Treinamento com as entradas P e saidas Tnet.trainParam.epochs = 200;net = train(net,P,T);% Calcula saidas da rede para as entradas PY = sim(net,P);

Alternativa 1 para Previsão de Séries TemporaisAproximação de Funções

Page 33: Neurônio

EE-214/2011

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4Pol. grau = 30 (Pol. orig. grau = 5), No de pontos = 31

Alternativa 1 para Previsão de Séries TemporaisAproximação de Funções

Page 34: Neurônio

EE-214/2011

% Supondo que os pares y(k),x(k) já estão definidos

> coef = polyfit(x,y,10)

> plot(x,y,’r’)

> hold on

> ychapeu = polyval(coef,x)

> plot(x,ychapeu)

Alternativa 2 para Previsão de Séries TemporaisAjuste de Polinômio

Page 35: Neurônio

yk = fRNA (yk-1,yk-2,...,yk-n,xk,xk-1,xk-2,...,xk-m)

z-1 z-1 z-1

z-1 z-1 z-1

xk xk-

1

xk-2 xk-

n

xk-n+1

RedeNeural

yk

yk-

1

yk-

2

yk-

n

yk-

n+1

Alternativa 3 para Previsão de Séries TemporaisNARMA via RNA

EE-214/2011

Page 36: Neurônio

EE-214/2011

Alternativa 4 para Previsão de Séries TemporaisARMA

ARMAX Computes the prediction error estimate of an ARMAX model. M = ARMAX(Z,[na nb nc nk]) or M = ARMAX(Z,'na',na,'nb',nb,'nc',nc,'nk',nk) M : returns the estimated model in an IDPOLY object format along with estimated covariances and structure information. For the exact format of M see also help IDPOLY. Z : The estimation data in IDDATA object format. See help IDDATA [na nb nc nk] are the orders and delays of the ARMAX model A(q) y(t) = B(q) u(t-nk) + C(q) e(t) If the data have several inputs, nb and nk are row vectors with lengths equal to the number of input channels.

Page 37: Neurônio

EE-214/2011

Agrupamento eClassificaçãode Padrões

Page 38: Neurônio

Agrupamento e Classificação

A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo

manuscrito) representado por um vetor de caracteristicas.

A

V

TACMOT

J,B

BAT

Imot

,

EE-214/2011

Page 39: Neurônio

Agrupamento e Classificação

A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo

manuscrito) representado por um vetor de caracteristicas.

A

V

TACMOT

J,B

BAT

Imot

,

Imot

E

B

C

Q

T

TT

EE

EE

NN

N

N

N

BB B

B

C

Q QQ

Q

E – Escova com RN – NominalB – Bateria com VC – CurtoT – Eixo TravadoQ – Eixo Quebrado

Imot

E

B

C

Q

T

TT

EE

EE

NN

N

N

N

BB B

B

C

Q QQ

Q

Imot

E

B

C

Q

T

TT

EE

EE

NN

N

N

N

BB B

B

C

Q QQ

Q

E – Escova com RN – NominalB – Bateria com VC – CurtoT – Eixo TravadoQ – Eixo Quebrado

EE-214/2011

Page 40: Neurônio

EE-214/2011

% Agrupamento Hierárquico - Dendrograma>> y=pdist(x,'euclidean');>> z=linkage(y,'average');>> dendrogram(z)

% k-means>> [idx,c]=kmeans(x,2)

% Fuzzy c-means>> [CENTER, U, OBJ_FCN] = FCM(x,N_CLUSTER)

% Expectation-Maximization>> [W,M,V,L] = EM_GM(x,3,[],[],1,[])

% Competitive Network >> net=newc([0 10 ; 0 20],3);>> net=train(net,x’);>> xsim = sim(net,x’);>> Yc = vec2ind(xsim);

% SOM>> net=newsom([0 10;0 20],[13],'gridtop','dist',0.9,200,0.01,0); >> net.trainParam.epochs=100;>> net=train(net,x’);

Alternativas para Agrupamento: Métodos já vistos

Page 41: Neurônio

EE-214/2011

0 1 2 3 4 5 6 7 8 92

4

6

8

10

12

14

16

x1

x2

-2 0 2 4 6 8 102

4

6

8

10

12

W(i,1)

W(i,2

)

Weight Vectors

0 1 2 3 4 5 6 7 8 92

4

6

8

10

12

14

16

x1

x2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x1-norm

x2-n

orm

Page 42: Neurônio

EE-214/2011

Muito Obrigado!