Você está na página 1de 22

Rede Perceptron

Captulo 3
Rede Perceptron
a forma mais simples de configurao de uma
RNA (idealizada por Rosenblatt, 1958)

Constituda de apenas uma camada, tendo-se ainda


somente um neurnio nesta nica camada.

Seu propsito inicial era implementar um modelo


computacional inspirado na retina, objetivando-se
ento um elemento de percepo eletrnica de
sinais.

Suas aplicaes consistiam de identificar padres


geomtricos.
Concepo inicial do elemento
Perceptron
Modelo ilustrativo do Perceptron para reconhecimento de padres

1. Sinais eltricos advindos de fotoclulas mapeando padres


geomtricos eram ponderados por resistores sintonizveis.
2. Os resistores eram ajustados durante o processo de treinamento.
3. Um somador efetuava a composio de todos os sinais.
4. Em consequncia, o Perceptron poderia reconhecer diversos
padres geomtricos, tais como letras e nmeros.
Aspectos topolgicos
Ilustrao da rede Perceptron Sinais de entrada: {x1, x2, , xn}
Pesos sinpticos: {w1, w2, , wn}
Combinador linear: {}
Limiar de ativao: {}
Potencial de ativao: {u}
Funo de ativao: {g}
Sinal de sada: {y}

1. Embora seja uma rede simples, o Perceptron teve potencial de


atrair, quando de sua proposio, diversos pesquisadores que
aspiravam investigar essa promissora rea de pesquisa
2. Recebeu especial ateno da comunidade cientfica que tambm
trabalhava com Inteligncia Artificial.
3. O Perceptron tipicamente utilizado em problemas de
Classificao de Padres
Perceptron

A simplicidade da rede Perceptron est associada


sua condio de ser constituda de apenas uma
camada neural, tendo somente um neurnio
artificial nesta nica camada.

A rede Perceptron pertence arquitetura


feedforward de camada nica, pois o fluxo de
informaes em sua estrutura reside sempre no
sentido da camada de entrada em direo camada
neural de sada, sem qualquer tipo de realimentao
de valores produzidos pelo seu nico neurnio.
Princpio de funcionamento do Perceptron
Passos para obteno da resposta (sada):

u = wi xi
i =1
y = g (u )

1. Cada uma das entradas {xi} representam informaes sobre o


comportamento do processo a ser mapeado
2. Cada entrada inicialmente ponderada pelos pesos sinpticos {wi}.
3. Obteno do potencial de ativao produzido pela soma ponderada
dos sinais de entrada, subtraindo-se o limiar de ativao.
4. Aplicao de uma funo de ativao apropriada, tendo-se como
objetivo limitar a sada do neurnio.
5. Compilao da sada a partir da aplicao da funo de ativao
neural em relao ao seu potencial de ativao.
Princpio de funcionamento
Devido s suas caractersticas estruturais, as funes de ativao
usadas no Perceptron so a degrau ou degrau bipolar.

Assim, independente da funo de ativao a ser utilizada, tem-se


apenas duas possibilidades de valores a serem produzidos pela sua
sada: 0 ou 1 (funo de ativao degrau) ou ainda -1 ou 1(funo de
ativao bipolar)

Funo degrau Funo bipolar


Parmetros caractersticos do Perceptron
Parmetro Varivel Tipo caracterstico
representativa
Entradas xi (i-sima entrada) Reais ou binrias (advindas
externamente)
Pesos sinpticos wi (associado a xi) Reais (iniciados
aleatoriamente)
Limiar Real (iniciado aleatoriamente)
Sada y Binria
Funo de ativao g(.) Degrau ou degrau bipolar
Processo de treinamento ---- Supervisionado
Regra de aprendizado ---- Regra de Hebb
Sinais de entrada: {x1, x2, , xn}
Pesos sinpticos: {w1, w2, , wn}
Combinador linear: {}
Limiar de ativao: {}
Potencial de ativao: {u}
Funo de ativao: {g}
Sinal de sada: {y}
Mapeamento de problemas de classificao
de padres
Para problemas de classificao dos sinais de entrada, tem-se ento duas
classes possveis, denominadas de classe A e classe B;
Paralelamente, como se tem tambm duas possibilidades de valores a
serem produzidos na sada do Perceptron, tem-se as seguintes associaes:
Degrau
1, se u 0 x Classe A
g (u ) =
0 , se u < 0 x Classe B

Bipolar

1, se u 0 x Classe A
g (u ) =
1, se u < 0 x Classe B
Anlise matemtica do Perceptron
Para mostrar o que ocorre internamente, assume-se aqui um
Perceptron com apenas duas entradas:

Concluso: o Perceptron um classificador


linear que pode ser usado para classificar duas
classes linearmente separveis.
Usando como ativao a funo sinal, a sada do Perpectron ser
dada por
Classificao de padres usando o
Perceptron
Da concluso anterior, observamos que as desigualdades so
representadas por uma expresso de primeiro grau (linear).
A fronteira de deciso para esta instncia (Perceptron de duas
entradas) ser ento uma reta cuja equao definida por:

Assim, temos a seguinte representao grfica para a sada do


Perceptron:
Classificao de padres usando o
Perceptron O Perceptron consegue dividir
duas classes linearmente
separveis

Se a sada for 1, significa que os


padres (Classe A) esto
localizados acima da fronteira
(reta) de separao;

Se a sada for -1, indica que os


padres (Classe B) esto abaixo
desta fronteira.

Exemplo de fronteira no linearmente separvel.


Alguns aspectos
Perceptron fosse constitudo de trs entradas (trs
dimenses):
A fornteira de separao seria representada por um
plano.
Perceptron constitudo de dimenses superiores:
tais fronteiras seriam hiperplanos.

Concluso:
A condio para que o Perceptron de camada simples
possa ser utilizado como um classificador de padres
consiste em que as classes do problema a ser mapeado
sejam linearmente separveis. (Teorema de
Convergncia do Perceptron Minskky & Paper, 1958)
Processo de treinamento
O ajuste dos pesos {wi} e limiar {} do Perceptron, visando
propsitos de classificao de padres que podem pertencer a uma
das duas nicas classes possveis, realizado por meio da regra de
aprendizado de Hebb.

Se a sada produzida pelo Perceptron est coincidente com a sada


desejada, os pesos sinpticos e limiares da rede sero
incrementados (ajuste excitatrio) proporcionalmente aos
valores de suas entradas.

Se a sada produzida pela rede diferente do valor desejado, os


pesos sinpticos e limiar sero decrementados (ajuste inibitrio).

Este processo repetido sequencialmente para todas as amostras de


treinamento, at que a sada produzida pelo Perceptron seja similar
sada desejada de cada amostra.
Processo de treinamento
Em termos matemticos, temos:

A escolha de deve ser realizada com


wj so os pesos sinpticos. cautela para evitar instabilidades no
limiar do neurnio. processo de treinamento.
x(k) o vetor contendo a k-sima amostra de treinamento.
d(k) a sada desejada para a k-sima amostra de treinamento.
y a sada do Perceptron.
a taxa de aprendizagem da rede.

A taxa de aprendizagem {} exprime o quo rpido o processo de


treinamento da rede estar sendo conduzido rumo sua convergncia.
Processo de treinamento do Perceptron
Em termos de implementao computacional, torna-se mais conveniente
tratar as expresses anteriores em sua forma vetorial.

Como a mesma regra de ajuste aplicada tanto para os pesos wi como para o
limiar , pode-se ento inserir dentro do vetor de pesos:

De fato, o valor do limiar tambm uma varivel a ser ajustada a fim de se


realizar o treinamento do Perceptron.

Portanto, tem-se:

Formato de cada amostra de treinamento:


Processo de treinamento - exemplo
Supe-se que um problema a ser mapeado pelo Perceptron tenha
trs entradas {x1, x2, x3}.
Assume-se que o conjunto de Amostra Entrada Sada desejada
treinamento seja composto de
apenas quatro amostras, 1 [0.1 0.4 0.7] 1
constitudas dos seguintes 2 [0.3 0.7 0.2] -1
valores: 3 [0.6 0.9 0.8] -1
4 [0.5 0.7 0.1] 1

Ento, pode-se converter tais sinais para que os mesmos possam ser usados no
treinamento do Perceptron:

Geralmente as amostras de treinamento so


disponibilizadas em sua forma matricial por
meio de arquivo texto ou planilha.
Pseudocdigo Perceptron - fase de treinamento

poca de
treinamento:
cada apresentao
completa de todas as
amostras
pertencentes ao
subconjunto de
treinamento, visando,
sobreturo, o ajuste
dos pesos sinpticos e
limiares de seus
neurnios.
Pseudocdigo Perceptron - fase de operao

A Fase de Operao usada somente aps a fase de treinamento, pois


aqui a rede j est apta para ser usada no processo

A Fase de Operao ento utilizada para realizar a tarefa de


classificao de padres frente s novas amostras que sero apresentadas
em suas entradas.
Processo de treinamento
Pode-se abstrair que o processo de treinamento do Perceptron tende
a mover continuamente o hiperplano de classificao at que seja
alcanada uma fronteira de separao que permite dividir as
duas classes.
Ex: Seja uma rede composta de duas entradas {x1 e x2}.

Aps a primeira poca de treinamento (1),


constata-se que o hiperplano est ainda bem
longnquo da fronteira de separabilidade das
classes.

A distncia tende ir cada vez mais decrescendo na


medida em que se transcorre as pocas de
treinamento.

Quando o Perceptron j estiver convergido, isto


estar ento significando que tal fronteira foi
finalmente alcanada.
Regio de separabilidade
Observa-se ainda a possibilidade de se ter diversas retas que
permitam separar as duas classes envolvidas com o problema.

O nmero de pocas tambm pode variar de treinamento para


treinamento.
Questes

O que acontece com o algoritmo do Perceptron


se o problema for no-linearmente separvel? O
que poderia ser feito para tratar este problema?
O que acontece se usarmos valores muito altos
para a taxa de aprendizagem? E se usarmos
valores muito pequenos?
Exerccios 6 a 10 do livro.

Você também pode gostar