Você está na página 1de 22

Rede Perceptron

Capítulo 3

Rede Perceptron

É a forma mais simples de configuração de uma RNA (idealizada por Rosenblatt, 1958)

•

Constituída de apenas uma camada, tendo-se ainda somente um neurônio nesta única camada.

•

Seu propósito inicial era implementar um modelo computacional inspirado na retina, objetivando-se então um elemento de percepção eletrônica de sinais.

•

Suas aplicações consistiam de identificar padrões geométricos.

Concepção inicial do elemento Perceptron

Modelo ilustrativo do Perceptron para reconhecimento de padrões

ilustrativo do Perceptron para reconhecimento de padrões 1. Sinais elétricos advindos de fotocélulas mapeando

1. Sinais elétricos advindos de fotocélulas mapeando padrões geométricos eram ponderados por resistores sintonizáveis.

2. Os resistores eram ajustados durante o processo de treinamento.

3. Um somador efetuava a composição de todos os sinais.

Aspectos topológicos

Ilustração da rede Perceptron

Aspectos topológicos • Ilustração da rede Perceptron • Sinais de entrada: {x 1 , x 2

Sinais de entrada: {x 1 , x 2 , …, x n }

Pesos sinápticos: {w 1 , w 2 , …, w n }

Combinador linear: {Ʃ} Limiar de ativação: {θ}

Potencial de ativação: {u}

Função de ativação: {g}

Sinal de saída: {y}

1. Embora seja uma rede simples, o Perceptron teve potencial de atrair, quando de sua proposição, diversos pesquisadores que aspiravam investigar essa promissora área de pesquisa

2. Recebeu especial atenção da comunidade científica que também trabalhava com Inteligência Artificial.

Perceptron

A simplicidade da rede Perceptron está associada à sua condição de ser constituída de apenas uma camada neural, tendo somente um neurônio artificial nesta única camada.

•

A rede Perceptron pertence à arquitetura feedforward de camada única, pois o fluxo de informações em sua estrutura reside sempre no sentido da camada de entrada em direção à camada neural de saída, sem qualquer tipo de realimentação de valores produzidos pelo seu único neurônio.

Princípio de funcionamento do Perceptron

Passos para obtenção da resposta (saída):

n

i = 1

u

=

w

i

x

(

y = g u

)

1. Cada uma das entradas {x i } representam informações sobre o comportamento do processo a ser mapeado

i

θ

2. Cada entrada é inicialmente ponderada pelos pesos sinápticos {w i }.

3. Obtenção do potencial de ativação produzido pela soma ponderada dos sinais de entrada, subtraindo-se o limiar de ativação.

4. Aplicação de uma função de ativação apropriada, tendo-se como objetivo limitar a saída do neurônio.

Princípio de funcionamento

Devido às suas características estruturais, as funções de ativação usadas no Perceptron são a “degrau” ou “degrau bipolar”.

•

Assim, independente da função de ativação a ser utilizada, tem-se apenas duas possibilidades de valores a serem produzidos pela sua saída: 0 ou 1 (função de ativação degrau) ou ainda -1 ou 1(função de ativação bipolar)

Função degrau

0 ou 1 (função de ativação degrau) ou ainda -1 ou 1(função de ativação bipolar) Função
0 ou 1 (função de ativação degrau) ou ainda -1 ou 1(função de ativação bipolar) Função

Função bipolar

0 ou 1 (função de ativação degrau) ou ainda -1 ou 1(função de ativação bipolar) Função

Parâmetros característicos do Perceptron

Parâmetro

Variável

Tipo característico

representativa

Entradas

x i (i-ésima entrada)

Reais ou binárias (advindas externamente)

Pesos sinápticos

w i (associado a x i )

Reais (iniciados aleatoriamente)

Limiar

θ

Real (iniciado aleatoriamente)

Saída

y

Binária

Função de ativação

g(.)

Degrau ou degrau bipolar

Processo de treinamento

----

Supervisionado

Regra de aprendizado

----

Regra de Hebb

Regra de aprendizado ---- Regra de Hebb • Sinais de entrada: {x 1 , x 2

Sinais de entrada: {x 1 , x 2 , …, x n }

Pesos sinápticos: {w 1 , w 2 , …, w n }

Combinador linear: {Ʃ} Limiar de ativação: {θ}

Potencial de ativação: {u}

Função de ativação: {g}

Sinal de saída: {y}

Mapeamento de problemas de classificação de padrões

Para problemas de classificação dos sinais de entrada, tem-se então duas classes possíveis, denominadas de classe A e classe B;

Paralelamente, como se tem também “duas possibilidades” de valores a serem produzidos na saída do Perceptron, tem-se as seguintes associações:

Degrau

Bipolar

g u (
g u
(

) =

1,

0,

 1, g u ( ) =  − 
 1,
g u
(
) =

1,

se u

se u

0 ⇒ ∈

x < 0 ⇒ ∈

x

Classe A

ClasseB

se u

0 ⇒ ∈

x

Classe A

se u

< 0 ⇒ ∈

x

ClasseB


Análise matemática do Perceptron

Para mostrar o que ocorre internamente, assume-se aqui um Perceptron com apenas duas entradas:

assume-se aqui um Perceptron com apenas duas entradas: • Conclusão: o Perceptron é um classificador linear

assume-se aqui um Perceptron com apenas duas entradas: • Conclusão: o Perceptron é um classificador linear
Conclusão: o Perceptron é um classificador linear que pode ser usado para classificar duas classes
Conclusão: o Perceptron é um classificador
linear que pode ser usado para classificar duas
classes linearmente separáveis.

Usando

como ativação a função sinal, a saída do Perpectron será

dada por

duas classes linearmente separáveis. Usando como ativação a função sinal, a saída do Perpectron será dada
duas classes linearmente separáveis. Usando como ativação a função sinal, a saída do Perpectron será dada
duas classes linearmente separáveis. Usando como ativação a função sinal, a saída do Perpectron será dada

Classificação de padrões usando o Perceptron

Da conclusão anterior, observamos que as desigualdades são representadas por uma expressão de primeiro grau (linear).

A fronteira de decisão para esta instância (Perceptron de duas entradas) será então uma reta cuja equação é definida por:

será então uma reta cuja equação é definida por: • Assim, temos a seguinte representação gráfica

Assim, temos a seguinte representação gráfica para a saída do Perceptron:

uma reta cuja equação é definida por: • Assim, temos a seguinte representação gráfica para a
uma reta cuja equação é definida por: • Assim, temos a seguinte representação gráfica para a

Classificação de padrões usando o Perceptron

de padrões usando o P e r c e p t r o n • O

O Perceptron consegue dividir duas classes linearmente separáveis

Se a saída for 1, significa que os padrões (Classe A) estão localizados acima da fronteira (reta) de separação;consegue dividir duas classes linearmente separáveis Se a saída for -1, indica que os padrões (Classe

estão localizados acima da fronteira (reta) de separação; Se a saída for -1, indica que os

Se a saída for -1, indica que os padrões (Classe B) estão abaixo desta fronteira.(Classe A) estão localizados acima da fronteira (reta) de separação; Exemplo de fronteira não linearmente separável.

for -1, indica que os padrões (Classe B) estão abaixo desta fronteira. Exemplo de fronteira não

Exemplo de fronteira não linearmente separável.

Alguns aspectos

Perceptron fosse constituído de três entradas (três dimensões):

A fornteira de separação seria representada por um plano.

Perceptron constituído de dimensões superiores:

tais fronteiras seriam hiperplanos.

•

Conclusão:

A condição para que o Perceptron de camada simples possa ser utilizado como um classificador de padrões consiste em que as classes do problema a ser mapeado sejam linearmente separáveis. (Teorema de Convergência do Perceptron – Minskky & Paper, 1958)

Processo de treinamento

O ajuste dos pesos {w i } e limiar {θ} do Perceptron, visando propósitos de classificação de padrões que podem pertencer a uma das duas únicas classes possíveis, é realizado por meio da regra de aprendizado de Hebb.

•

Se a saída produzida pelo Perceptron está coincidente com a saída desejada, os pesos sinápticos e limiares da rede serão incrementados (ajuste excitatório) proporcionalmente aos valores de suas entradas.

•

Se a saída produzida pela rede é diferente do valor desejado, os pesos sinápticos e limiar serão decrementados (ajuste inibitório).

•

Este processo é repetido sequencialmente para todas as amostras de treinamento, até que a saída produzida pelo Perceptron seja similar à saída desejada de cada amostra.

Processo de treinamento

Em termos matemáticos, temos:

Processo de treinamento • Em termos matemáticos, temos: A escolha de η deve ser realizada com

A escolha de η deve ser realizada com cautela para evitar instabilidades no processo de treinamento.

w j são os pesos sinápticos.

▫ θ é limiar do neurônio.

x (k) é o vetor contendo a k-ésima amostra de treinamento.

d (k) é a saída desejada para a k-ésima amostra de treinamento.

y é a saída do Perceptron.

▫ η é a taxa de aprendizagem da rede.

do Perceptron. ▫ η é a taxa de aprendizagem da rede. • A taxa de aprendizagem

A taxa de aprendizagem {η} exprime o quão rápido o processo de treinamento da rede estará sendo conduzido rumo à sua convergência.

Processo de treinamento do Perceptron

Em termos de implementação computacional, torna-se mais conveniente tratar as expressões anteriores em sua forma vetorial.

•

Como a mesma regra de ajuste é aplicada tanto para os pesos w i como para o limiar θ, pode-se então inserir θ dentro do vetor de pesos:

θ , pode-se então inserir θ dentro do vetor de pesos: De fato, o valor do

De fato, o valor do limiar é também uma variável a ser ajustada a fim de se realizar o treinamento do Perceptron.

•

Portanto, tem-se:

ajustada a fim de se realizar o treinamento do Perceptron. • Portanto, tem-se: Formato de cada

Formato de cada amostra de treinamento:

ajustada a fim de se realizar o treinamento do Perceptron. • Portanto, tem-se: Formato de cada
ajustada a fim de se realizar o treinamento do Perceptron. • Portanto, tem-se: Formato de cada

Processo de treinamento - exemplo

Supõe-se que um problema a ser mapeado pelo Perceptron tenha três entradas {x 1 , x 2 , x 3 }.

Assume-se que o conjunto de treinamento seja composto de apenas quatro amostras, constituídas dos seguintes valores:

Amostra

Entrada

Saída desejada

1

[0.1 0.4 0.7]

1

2

[0.3 0.7 0.2]

-1

3

[0.6 0.9 0.8]

-1

4

[0.5 0.7 0.1]

1

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

os mesmos possam ser usados no treinamento do Perceptron: Geralmente as amostras de treinamento são disponibilizadas
os mesmos possam ser usados no treinamento do Perceptron: Geralmente as amostras de treinamento são disponibilizadas

Geralmente as amostras de treinamento são disponibilizadas em sua forma matricial por meio de arquivo texto ou planilha.

Pseudocódigo Perceptron - fase de treinamento

Pseudocódigo Perceptron - fase de treinamento Época de treinamento : é cada apresentação completa de todas

Época de treinamento: é cada apresentação completa de todas as amostras pertencentes ao subconjunto de treinamento, visando, sobreturo, o ajuste dos pesos sinápticos e limiares de seus neurônios.

Pseudocódigo Perceptron - fase de operação

Pseudocódigo Perceptron - fase de operação  A “Fase de Operação” é usada somente após a

A “Fase de Operação” é usada somente após a fase de treinamento, pois aqui a rede já está apta para ser usada no processo



A “Fase de Operação” é então utilizada para realizar a tarefa de

classificação de padrões frente às novas amostras que serão apresentadas em suas entradas.

Processo de treinamento

Pode-se abstrair que o processo de treinamento do Perceptron tende a mover continuamente o hiperplano de classificação até que seja alcançada uma fronteira de separação que permite dividir as duas classes.

Ex: Seja uma rede composta de duas entradas {x 1 e x 2 }.

uma rede composta de duas entradas {x 1 e x 2 }.  Após a primeira

Após a primeira época de treinamento (1), constata-se que o hiperplano está ainda bem longínquo da fronteira de separabilidade das classes.

A distância tende ir cada vez mais decrescendo nabem longínquo da fronteira de separabilidade das classes. medida em que se transcorre as épocas de

medida em que se transcorre as épocas de treinamento.

Quando o Perceptron já estiver convergido, istona medida em que se transcorre as épocas de treinamento. estará então significando que tal fronteira

estará então significando que tal fronteira foi

finalmente alcançada.

Região de separabilidade

Observa-se ainda a possibilidade de se ter diversas retas que permitam separar as duas classes envolvidas com o problema.

•

O número de épocas também pode variar de treinamento para treinamento.

as duas classes envolvidas com o problema. • O número de épocas também pode variar de

Questões

O que acontece com o algoritmo do Perceptron se o problema for não-linearmente separável? 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?

Exercícios 6 a 10 do livro.