Universidade Federal do Rio de Janeiro Núcleo de Computação Eletrônica

28 

Full text

(1)

Inteligência Computacional

Aula 7 - Perceptron

2003/ 2

Universidade Federal do Rio de Janeiro Núcleo de Computação Eletrônica

Prof. A. C. G. Thomé, PhD – thome@nce.ufrj.br

(2)

Roteiro

• Modelo Perceptron

• Treinamento

(3)

Neurônio Artificial

O Neurônio artificial é função matemática que associa pesos às entradas.

.

.

.

Entradas

Pesos

W

W

W

f

f

Sinal

(4)

Neurônio Artificial

O neurônio geralmente é dividido em duas funções, função de ativação e propagação.

Função de A tivação

Função de Propagação

w1

w2

wn

x1

x2

xn

y

(

X

W

)

P

(

A

(

X

W

)

)

f

y

=

,

=

,

(5)

História

1943: trabalho pioneiro de McCulloch e Pitts

– McCulloch: psiquiatra e neuroanatomista – Pitts: matemático

– descrição do modelo formal de um neurônio, nodos MCP – acreditavam 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

(6)

Perceptron

O perceptron originalmente consiste em uma rede de três camadas, sendo que só a última camada possui pesos ajustáveis.

Camada de entrada ou retina

∑ θ

∑ θ

∑ θ

∑ θ

Camada de associação

y

(7)

Perceptron

Arquitetura básica do Perceptron

Ativação

=

=

m i i ix w net 1

Propagação

      ≤ > =

θ

θ

net net se se y 0 1

Onde:

θ

é o limiar

Σ

Σ

x1

xm w m w1

net

(8)

Treinamento

O treinamento de uma rede neural consiste em ajustar os seus parâmetros livres, que no caso do perceptron são os pesos w1, w2,..., wm e o limiar θ.

Porém a função de propagação pode ser reescrita da seguinte forma: net > θ → net - θ > 0.

E se além disso o termo -θ for incorporado ao net, chegaremos as seguintes funções de ativação e propagação:

Propagação

      ≤ > = 0 0 0 1 net se net se y

Ativação

=

=

m i i ix w net 0

(9)

Treinamento

Pode-se imaginar que o peso w0 está associado a uma entrada x0 cujo valor é sempre 1.

Σ

Σ

x1

xm w m w1

net

y

w0

1

(10)

Treinamento

Durante o treinamento cada padrão de entrada é apresentado ao perceptron e seus pesos são ajustados seguindo a regra criada por Rosenblatt (1958).

Seja xi o i-ésimo padrão de treinamento, yi a resposta do perceptron para xi e di o valor desejado como resposta. Caso di = yi o algoritmo de treinamento não irá fazer nenhum

ajuste aos pesos do neurônio, caso contrário o algoritmo deve considerar duas possibilidades:

1) di = 1 e yi = 0 2) di = 0 e yi = 1

(11)

Treinamento

1) di = 1 e yi = 0

Onde:

xi – vetor de entrada

wt – vetor de pesos do perceptron no instante t.

α é o menor ângulo entre os vetores xi e wt.

O algoritmo de treinamento deve, neste caso, modificar o vetor w de forma que α < 900

( )

≤ ⇒ ⋅ ≤ ⇒ =0 i 0 i t 0

i então net x x w

y

Como r r r

0 90 0 ) cos( 0 )

cos( ≤ ⇒ ≤ ⇒ ≥

⋅ ⋅

⇒ t

α

α

α

i w

(12)

Treinamento

1) di = 1 e yi = 0 (continuação)

Onde: ∆wi é um vetor proporcional a xi, ou seja, ∆w = η∗xi wt+1 é o vetor wt após o ajuste, ou seja, wt+1= wt + ∆w

η é um escalar positivo que indica o quanto o vetor de pesos será modificado na direção e sentido do vetor xi. Este escalar é conhecido como taxa de aprendizado.

Xi wt

α

Xi wt

∆w

(13)

Treinamento

2) di = 0 e yi = 1 ⇒ α < 900

∆w = -η∗xi w = w + ∆w

Xi wt

α

Xi wt+1

∆w

(14)

Treinamento

Resumo do treinamento: Se di = yi então ∆w = 0

Se di = 1e yi = 0 então ∆w = η∗xi Se di = 0 e yi = 1então ∆w = -η∗xi w = w + ∆w

Se chamarmos e = di – yi a atualização dos pesos pode ser escrita de forma mais compacta:

(15)

Treinamento

Algoritmo de treinamento

η ← taxa de aprendizado Inicialize w

Repita

Para cada padrão xi faça

yi ← valor de saída do perceptron para o padrão xi e ← di – xi

w ← w + e ∗ η ∗ xi fim

(16)

Treinamento

Exemplo de treinamento.

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

1 1

X

Lúcia

1 0

X

Maria

0 1

X

Paulo

0 0

X

José

codificação

masculino

(17)

Treinamento

Exemplo (cont.)

• condições de disparo

– se net > 0 y = 1 (feminino)

se net 0 y = 0 (masculino)

• início do treinamento

b = 0 (termo independente ou w0)

w1 = 0

w2 = 0

(18)

Treinamento

Exemplo (cont.)

• apresentação do primeiro elemento à rede neural

net = b1 + w1 0 + w2 0

net = 01 + 00 + 00 = 0

y = 0 e d = 0 (resposta correta)

w1

(19)

Treinamento

Exemplo (cont.)

• apresentação do segundo elemento à rede neural

net = b1 + w1 0 + w2 1

net = 01 + 00 + 01 = 0

y = 0 e d = 0 (resposta correta)

w1

(20)

Treinamento

Exemplo (cont.)

– apresentação do terceiro elemento à rede neural

net = b1 + w1 1 + w2 0

net = 01 + 01 + 00 = 0

y = 0 e d = 1 (resposta incorreta)

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

w1 = w1 + 1 = 0 + 1 = 1 net = 1 1 + 11 + 00 = 2

w2 = w2 + 0 = 0 + 0 = 0 y = 1 e d = 1 (resposta

correta)

w1

(21)

Treinamento

Exemplo (cont.)

• apresentação do quarto elemento à rede neural

net = b1 + w1 1 + w2 1

net = 11 + 11 + 01 = 2

y = 1 e d = 1 (resposta correta)

w1

(22)

Interpretação Geométrica

Como a função ativação (net) é linear, ela descreve um hiperplano em uma dimensão do Rn. O que a função de propagação faz é disparar se o net for maior que 0.

O que é equivalente a traçar a curva, ou superfície de nível net = 0, e verificar de que lado da curva se encontra o vetor de entrada.

(23)

Interpretação Geométrica

Exemplo: Seja x1 e x2 as duas dimensões do vetor de entrada. O gráfico abaixo mostra 3 curvas de nível do net para algum

vetor de pesos w.

net = -1 x1

x2

(24)

Interpretação Geométrica

Exemplo (continuação)

x1

x2

net = 0 Todos os pontos que ficam deste lado da

(25)

Limitações

O perceptron só é capaz de separar classes através de funções lineares. Mas para que ele consiga isso é necessário que as classes sejam linearmente separáveis, o que é uma condição não garantida para a maioria dos problemas de classificação.

(26)

Limitações

O perceptron é capaz de pode funcionar como uma porta ou, já que o ou é linearmente separável.

Função ou

x2 x1 1 1 1 1 1 1 0 1 1 1 0 0 0 0

x1 ou x2 x2

(27)

Limitações

O ou exclusivo não é linearmente separável, então o perceptron não

pode funcionar como esta porta lógica.

Função ou exclusivo

x2 x1 1 1 0 1 1 1 0 1 1 1 0 0 0 0

x1 xor x2 x2

(28)

História

1962: Rosenblatt demonstra que o algoritmo de treinamento do Perceptron sempre converge se as classes forem

linearmente separáveis (Teorema de Convergência do Perceptron).

1969: Minsky e Papert demonstram as limitações do

Perceptron – Como o perceptron trata apenas de problemas linearmente separáveis e não existe um algoritmo de

Figure

Updating...

References

Updating...

Related subjects :