Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução Ao Perceptron - UVA
Introdução Ao Perceptron - UVA
Resumo. Este artigo faz uma breve apresentação do Perceptron, um tipo de rede neural desenvolvida em
1957 por Frank Rossemblatt no Laboratório de Aeronáutica de Cornell. O objetivo é prover um texto
didático para que alunos de graduação possam compreender facilmente os conceitos fundamentais do
Perceptron.
1 Introdução
A rede Perceptron é um tipo de rede neural artificial inventada em 1957 no Laboratório de
Aeronáutica de Cornell por Franck Rosenblatt [1]. Trata-se de um classificador binário, pois dado
um conjunto de dados pertencente a duas classes, é possível configurar um perceptron para
reconhecer a classe de qualquer elemento do conjunto, desde que o conjunto de dados seja
linearmente separável. Isso significa que se os dados podem ser separados por meio de um
hiperplano2 quando dispostos em um espaço, então a rede Perceptron pode ser treinada de modo a
gerar um hiperplano que divide o espaço adequadamente em duas regiões correspondentes às duas
classes. A seguir, a rede Perceptron será apresentada em termos de suas unidades constituintes:
neurônios de McCulloc e Pitts.
A perceptron consiste em uma rede composta por neurônios baseados no modelo de neurônio
artificial proposto por McCulloc & Pitts [2], que foram os primeiros a proporem um modelo
matemático de um neurônio artificial. Apesar de seu poder computacional restrito, o estudo do
Perceptron aborda os principais elementos para a compreensão mais geral das redes neurais
artificiais, que são:
1. pesos de conexões, que proveem a plasticidade da rede (capacidade de se adaptar ao
ambiente);
2. uma função objetivo, a ser aprendida;
3. uma regra de atualização de pesos;
4. um algoritmo que procura minimizar o erro na saída de acordo com uma regra de
atualização de pesos.
Portanto, este trabalho apresenta os fundamentos do Perceptron, levando-se em conta um público-
alvo de graduação e que o material foi produzido como complemento da disciplina de Inteligência
Artificial do Curso de Ciência da Computação da Universidade Vale do Acaraú (UVA).
Para melhor compreensão do assunto abordado, o artigo foi organizado da seguinte forma: Na
Seção 2, será abordado os fundamentos do modelo neural de McCulloc e Pitts; na Seção 3, os
fundamentos do Perceptron e do algoritmo de treinamento do Perceptron são apresentados;
finalmente, na Seção 4, é mostrado uma descrição de como o algoritmo de treinamento do
Perceptron pode ser implementado.
1 Gilzamir F. Gomes é Professor Auxiliar I da Universidade Estadual Vale do Acaraú (UVA) e Mestre em Ciência da
Computação pela Universidade Estadual do Ceará (UECE).
2 Em um espaço Rn , um hiperplano é um objeto Rn−1 . Por exemplo, uma reta é um hiperplano do plano (
2 1 2 3
R ), dado que a reta é um objeto R . Um plano ( R ) é um hiperplano do espaço R .
2 Modelo Neural de McCulloc & Pits (Neurônio MCP)
O modelo neural de McCulloc e Pitts ou neurônio MCP (McCulloc e Pitts) representa um neurônio
artificial, que nada mais é do que uma função matemática. Um neurônio MCP é constituído por
n unidades de entrada x 1, x 2, ... , x n tal que cada entrada x i é ponderada por um peso w i
correspondente. As entradas ponderadas são somadas e o resultado é avaliado de acordo com uma
função de limiar. O somatório das entradas é como mostrado na Equação (I).
∑in=1 x i⋅wi (I)
Caso o somatório ponderado das entradas seja maior ou igual a um limiar θ , o neurônio produz
1 como saída, caso contrário, produz 0 , como mostrada a Equação II.
n
f ( ∑i=1 xi⋅w i)=1 se ≥θ (II)
0 se<θ
Pode-se, por exemplo, utilizar o modelo MCP para representar uma função lógica. Seja a função
lógica OU , tal que retorna 0 somente se suas entradas são iguais a 0, caso contrário, é
retornado 1 . Supondo-se θ=1 , w 1=1 e w 2=1 , teríamos o neurônio como ilustrado na
Figura 1.
x2
W2
=1
.0
f {0,1}
.0
=1
W1
x1
Figura 1: Modelo de McCulloc & Pitts.
3 Perceptron
A rede Perceptron é uma rede neural composta de neurônios MCP. A entrada de um neurônio do
perceptron pode ser representada por um vetor x e os pesos das conexões de entrada, por um
vetor w . A soma ponderada das entradas é equivalente ao produto vetorial de x por w , ou
seja, x⋅w . Agora a equação II para um neurônio MCP pode ser reescrita como:
Na Seção 2 foi mostrado como uma rede pode ser configurada para representar a função lógica OU.
Imagine que precisássemos de uma função que, dada uma imagem equivalentes às letra T,
retornasse 1 caso a letra T estivesse presente. Nesse caso a letra seria representada por uma matriz
de pixels. Cada pixel aceso corresponde na matriz de duas cores a 1 (cor de frente ou branco). Cada
pixel apagado correspondente a 0 (cor de fundo ou preto). Em uma matriz n×n , haveria
m=n⋅n pixels. Assim, seria interessante configurar o neurônio com m entradas e uma saída.
Neste caso, o neurônio produz 1 se a matriz de pixels apresentada na entrada contiver a letra T e 0,
caso contrário. Neste caso, qual o valor que deve ser atribuído aos pesos da rede para que a rede
seja reconhecida? Encontrar estes valores manualmente não é nada ameno, por isso, seria
interessante lançarmos mão de um algoritmo que automaticamente altera os pesos da rede para que
esta reconheça a letra T . Mas a partir do que o algoritmo poderia se basear a alteração do peso
das redes? A resposta é simples, por meio de exemplos.
Como uma pessoa passa a reconhecer um ônibus? A resposta é a mesma, por meio de exemplos. Ao
ser apresentado diversas vezes para um ônibus e ter escutado alguém falar que aquilo é um ônibus,
as pessoas aprendem a reconhecer ônibus em muitas diferentes situações, situações inclusive que
não havia visto anteriormente. Alguém que mora em uma cidade e nunca tenha ido tão longe, está
acostumado a ver ônibus na rua. Em uma viagem de férias, provavelmente no deserto, poderia se
deparar com a imagem de um ônibus próximo a uma grande duna de areia. Provavelmente seria um
ônibus diferente do ônibus de cidade, algo adaptado para o deserto, mas a pessoa ainda assim
reconheceria que aquele objeto sobre a areia ainda assim é um ônibus.
Portanto, os exemplos servem para que a rede consiga aprender um padrão. A partir do momento em
que o padrão é aprendido, a rede pode ser utilizada para situações diferentes das condições do
aprendizado. Um exemplo seria, dessa forma, um par ( x i , d ) , onde x i é uma entrada
conhecida para a rede e d , a resposta esperada para a entrada x i . No caso, um conjunto
Γ={(x i , d i )}np=1 de treinamento é apresentado para a rede, que após ser treinada, espera-se que
mapeie corretamente não apenas os exemplos do conjunto de treinamento, mas entradas que não
foram apresentadas para a rede. A função real a ser aprendida é denominada função objetivo. Em
problemas realmente difíceis (que são a maioria dos problemas interessantes do mundo real), a
função objetivo é desconhecida e o objetivo do aprendizado é encontrar uma função h que
aproxima a função objetivo. Cada função h possível é denominada de hipótese. No aprendizado
com redes neurais, as funções possíveis são aquelas resultantes da atribuição de diferentes valores
para os pesos das conexões.