Page 1

Inteligência Computacional Redes Neurais Artificiais

Roteiro da Aula • Histórico das redes neurais • Modelo do neurônio artificial • Arquiteturas de redes neurais • Representação do Conhecimento • Aprendizado

Antonio C. G. Thomé – thome@nce.ufrj.br Eugênio Silva – eugenio@posgrad.nce.ufrj.br

• Perceptron • ADALINE / MADALINE

Histórico • 1943: trabalho pioneiro de McCulloch e Pitts – McCulloch: psiquiatra e neuroanatomista

Histórico (cont.) • 1949: Hebb publica o livro The Organization of Behavior – formulação da primeira regra de aprendizagem

– Pitts: matemático – descrição do modelo formal de um neurônio – acreditava-se que um número suficiente de neurônios atuando de forma adequada poderiam, a princípio, computar qualquer função computável

• 1958: Rosemblat propõe o Perceptron como um método inovador de aprendizagem supervisionada – demonstração do teorema da convergência

Histórico (cont.) • 1960: Widrow e Hoff descrevem o ADALINE (ADAptative LINear Element ) – formulação da regra delta

• 1969: Minsky e Papert demonstram as limitações do Perceptron – aplicável apenas a problemas linearmente separáveis

Histórico (cont.) • década de 1970: adormecimento das pesquisas em redes neurais – livro de Minsky e Papert

• 1982: Hopfield publicou um estudo sobre as propriedades associativas das redes neurais – relação entre redes recorrentes e sistemas físicos

1


Histórico (cont.)

Um Paralelo com o Cérebro

• 1986: Rumelhart, Hinton e Williams desenvolvem o

den

os dr i t

algoritmo backpropagation w

axônio

• 1988: Broomhead e Lowe descrevem um procedimento

y

f (.)

__ >_

– formulação da regra delta generalizada corpo celular

para o projeto de redes utilizando funções de base radial

Modelo Artificial Modelo Biológico

Capacidade Cerebral

Modelo Matemático do Neurônio x1

interconexões / seg

100 bilhões de neurônios

w1

Homem (1014,1016)

1018 1015

x2

1012

função de ativação

w2 .

109

função de propagação

y

. .

106 103

função de transferência

wn

Sanguessuga

b

y = f(X,W) = P(A(X,W))

xn 106

103

109

+1

1012

número de interconexões

Componentes do Neurônio

Funções de Propagação • sinal

• função de ativação m

net = ∑ wi xi xi ∈ {0,1}

1 se x > 0 y= 0 se x ≤ 0

  

 1 se x > 0 y= - 1 se x ≤ 0

  

1

0

i =0

• degrau

• propagação 1 se net >θ  y=  0 se net ≤ θ 

onde:

θ

é o limiar (threshold)

1

-1

2


Funções de Propagação (cont.) • linear

Funções de Propagação (cont.) • logística

y = ax 0

1

1 y= 1 + e(-ax) 0

• semi-linear

 a se x ≥ a  y =  x se - a < x < a - a se x ≤ - a 

• tangente hiperbólico 1

a

    

0 -a

Arquiteturas de RN’s • quanto ao número de camadas

y=

2

-1

Arquiteturas de RN’s (cont.) • quanto ao tipo de conexão

x1

– redes de camada única

x2

x1

– feedforward (acíclica)

x3

x2

x1

– feedback (cíclica)

• quanto ao tipo de conectividade x1

– parcialmente conectada

x2 x3 x1

– completamente conectada

x2 x3

x2 x3

x3

Arquiteturas de RN’s (cont.)

x2 x3

x1

– redes de múltiplas camadas

0

(1 + e(-2ax) ) - 1

Representação do Conhecimento “Conhecimento se refere à informação armazenada ou a modelos utilizados por uma pessoa ou máquina para interpretar, prever e responder apropriadamente ao mundo exterior”. • características – que informação é realmente tornada explícita – como a informação é codificada para o uso subseqüente – uma boa solução depende de uma boa representação

3


Tarefas da Rede Neural

Processos de Aprendizagem

• aprender um modelo do mundo (ambiente) no qual ela está inserida

• manter o modelo suficientemente consistente com o mundo real a fim de atender os objetivos especificados pela aplicação de interesse

“Aprendizagem é o processo pelo qual os parâmetros livres de uma rede neural são adaptados através da estimulação pelo ambiente no qual a rede está inserida.” • passos do processo de aprendizagem – a rede neural é estimulada por um ambiente – a rede neural sofre modificações nos seus parâmetros livres – a rede neural responde de uma maneira nova ao ambiente

Aprendizagem Supervisionada • o professor tem conhecimento sobre o ambiente, sendo o conhecimento representado por um conjunto de exemplos de entrada-saída ambiente

estado do ambiente

professor

sistema de aprendizagem

e(t) = d(t) - y(t) W(t + 1) = W(t) + ηe(t)X(t)

-

Σ

Aprendizagem Não-Supervisionada • não há um professor para supervisionar o processo de aprendizagem, ou seja, não há exemplos rotulados da função a ser aprendida pela rede

estado do ambiente

• procura minimizar a diferença entre a soma ponderada das entradas pelos pesos e a saída desejada

+

sinal de erro

ambiente

Aprendizagem por Correção de Erro

sistema de aprendizagem

• esta expressão consiste na regra de aprendizado tanto do Perceptron quanto do ADALINE

Aprendizagem Hebbiana • o postulado de aprendizagem de Hebb é a mais antiga e mais famosa de todas as regras de aprendizado

• recebe este nome em homenagem ao neuropsicólogo Donald Hebb

4


Aprendizagem Hebbiana (cont.)

Aprendizagem Competitiva

• o postulado de aprendizagem de Hebb – se dois neurônios em ambos os lados de uma sinapse são ativados simultaneamente, então a força daquela sinapse é

• dado um padrão de entrada, as unidades competem entre si para decidir qual delas será a vencedora

seletivamente aumentada – se dois neurônios em ambos os lados de uma sinapse são ativados assincronamente, então aquela sinapse é

• a unidade vencedora tem a sua saída ativada e seus pesos são atualizados no treinamento

seletivamente enfraquecida ou eliminada

Aprendizagem Competitiva (cont.) • algoritmo

• objetivo: – classificar corretamente o conjunto de estímulos aplicados externamente em uma de duas classes

1 – apresentar um vetor de entrada 2 – calcular a ativação inicial de cada unidade de saída 3 – deixar as unidades de saída competirem até que apenas uma fique ativa 4 – aumentar os pesos sobre as conexões entre a unidade de saída ativa e as unidades de entrada ativas

Arquitetura Básica do Perceptron x1 w1

Σ xm wm

net

y

– aprendizado supervisionado – representação binária – apenas uma camada de pesos ajustáveis

Fronteira de Decisão • atribuir o ponto representado pelas entradas x1, x2, ..., xn à classe C1 se a saída y do Perceptron for igual a 1 ou à classe C2 se ela for 0 x2

classe C2

+1 m

• características

w0

Ativação

net = ∑ wi xi xi ∈ {0,1} i =0

Perceptrons

Propagação

1 se net >θ  y=  0 se net ≤ θ  onde: θ é o limiar (threshold)

classe C1 x1 fronteira de decisão

w1x1 + w2x2 + b = 0

5


Limitações do Perceptron

Dedução da Regra do Perceptron

– não admite mais de uma camada de pesos ajustáveis

seja {x, d} um par de treinamento

– aprendizado nem sempre ocorre – as duas classes C1 e C2 devem ser linearmente separáveis

o erro na saída do neurônio é dado por: e = d – y

y ∈ {0,1} e d ∈ {0,1}

onde classe C1

classe C2

classe C1

logo, para e ≠ 0 existem duas situações possíveis classe C2

d=1 e y=0

1a Situação d=1 e y=0 ⇒ e=1 W(t) ⇒ W·X < 0 ⇒ ||W||·||X||·cos(W,X) < 0 ⇒ cos(W,X) < 0 W ⋅ X ⋅ cos(W, X ) ⇒ α(W,X) > 90° ∆W = η·X ⇒ W(t +1) = W(t) + η·X como e = 1, então W(t +1) = W(t) + η·e·X

ou

d=0 e y=1

2a Situação ηX

W(t+1)

α X

Teorema da Convergência • se os vetores de um conjunto de treinamento pertencem a duas classes linearmente separáveis, o processo de atualização dos pesos leva a uma solução em um tempo finito.

d=0 e y=1 -ηX ⇒ e = -1 W(t+1) ⇒ W·X ≥ 0 ⇒ ||W||·||X||·cos(W,X) ≥ 0 ⇒ cos(W,X) ≥ 0 W ⋅ X ⇒ α(W,X) ≤ 90° ∆W = -η·X ⇒ W(t +1) = W(t) - η·X como e = -1, então W(t +1) = W(t) + η·e·X

W(t)

α ⋅ cos(W, X )

X

Treinamento do Perceptron • algoritmo 1 – inicializar η e o vetor de pesos W 2 – repetir

3 – para cada par do conjunto de treinamento Γ = {(x i , ydi )}i =1 p

• demonstração – págs: 38 – 41 (livro do Braga) – págs: 163 – 168 (livro do Haykin)

3.1 – atualizar o vetor de pesos para cada um dos nodos da rede segundo a regra W(t + 1) = W(t) + η·e·X(t) 4 – até e = 0 para todos os p elementos do conjunto de treinamento em todos os neurônios da rede

6


Treinamento do Perceptron (cont.)

Separabilidade Linear • Porta “E”

x0 w0

net

Σ

xm w m

x x y

y

∆Wi

0 0 1 1

+

x λ

yd

+

0 1 0 1

z 0 0 0 1

• Porta “OU” x

5 9

y

y

5

masculino

codificação

X

0

X

0

4 .5 5

y

y

z

5x + 5y = 4

x

x

• início do treinamento – b=0

0

1

X

1

0

– w1 = 0

Lúcia

X

1

1

– w2 = 0

Exemplo (cont.)

Exemplo (cont.)

• apresentação do primeiro elemento à rede neural +1 b

• apresentação do segundo elemento à rede neural

0 w1

0 w2

– net = b ∗ 1 + w1 ∗ 0 + w2 ∗ 1

– net = 0 ∗ 1 + 0 ∗ 0 + 0 ∗ 0 = 0

– net = 0 ∗ 1 + 0 ∗ 0 + 0 ∗ 1 = 0

– y=0 e d=0

– y=0 e d=0

(resposta correta)

.5 5

• condições de disparo – se net > 0 y = 1 (feminino) – se net ≤ 0 y = 0 (masculino)

Maria

– net = b ∗ 1 + w1 ∗ 0 + w2 ∗ 0

1 1 1 0

0 1 0 1

Exemplo (cont.)

• considere um conjunto de pessoas (4 elementos) formado por homens e mulheres. Treinar uma rede Perceptron, que seja capaz de reconhecer o sexo das pessoas.

Paulo

0 0 1 1

x

Exemplo

feminino

z

x

∆Wi= λ.(yd-y).X

José

x y

5x + 5y = 9

onde: λ é a taxa de aprendizado

nome

z

+1 b

0 w1

1 w2

(resposta correta)

7


Exemplo (cont.)

Exemplo (cont.)

• apresentação do terceiro elemento à rede neural +1 b

– net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 0

1 w1

• apresentação do quarto elemento à rede neural 0

w2

– net = 0 ∗ 1 + 0 ∗ 1 + 0 ∗ 0 = 0 – y = 0 e d = 1 (resposta incorreta)

1 w1

1 w2

– net = 1 ∗ 1 + 1 ∗ 1 + 0 ∗ 1 = 2 – y=1 e d=1

(resposta correta)

net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 0

– b=b+1=0+1=1 – w1 = w1 + 1 = 0 + 1 = 1

net = 1 ∗ 1 + 1 ∗ 1 + 0 ∗ 0 = 2

– w2 = w2 + 0 = 0 + 0 = 0

y = 1 e d = 1 (resposta correta)

ADALINE • características – tem seus pesos ajustados em função do erro de sua saída linear, antes da aplicação da função de propagação – continua com o problema de uma única camada de pesos ajustáveis – a função de custo a ser minimizada é quadrática nos pesos de entrada, e a minimização é feita pelo método do gradiente

Dedução da Regra Delta (cont.) • o ajuste é feito na direção contrária do gradiente ∆W (t ) ∝ −∇E ∂E ∂E ∂y = ∂wi ∂y ∂wi

∂E = − xi (d − (w0 + w1 x1 K + wn xn )) ∂wi

Dedução da Regra Delta • atualização dos pesos pelo método do gradiente

– ADALINE e Perceptron surgiram quase que simultaneamente

∂E = − xi e ∂wi

+1 b

– net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 1

– o ajuste ocorre quando e ≠ 0 ⇒ ∆W ≠ 0

• função de erro a ser minimizada E=

• objetivo

2

Treinamento do ADALINE x0 w0

∆wi ∝ exi

W (t + 1) = W (t ) + ηeX (t )

)

– obter a direção do ajuste a ser aplicado ao vetor de pesos de forma a caminhar em direção à solução ótima

Σ

xm w m

∆wi = ηexi

(

1 p i ∑ d − yi 2 i =1

net

∆Wi

+

x

y

+

yd

λ

∆Wi= λ.(yd - net).X

8


Madaline

Exemplo (OU-exclusivo)

• uma das primeiras redes neurais em camadas treináveis com múltiplos elementos adaptativos • uma camada composta por ADALINE´s é conectada a um ADALINE com parâmetros fixos

MAIORIA [0 1]

maj [0 0]

• critérios de decisão:

OU

E

[1 1]

[1 0]

MAIORIA

9

Redes neurais artificiais