Em 1943, Warren McCulloch juntamente com o fisiologista Walter Pitts lançaram as bases do modelo matemático do funcionamento do neurônio. O neurônio de McCulloch era um dispositivo binário: a sua saída poderia ser pulso ou não pulso, e suas várias entradas tinham ganho arbitrário e poderiam ser excitatórias ou inibitórias. Para determinar a saída do neurônio, calculava-se a soma ponderada das entradas com os respectivos ganhos como fatores de ponderação, positivos nos casos excitatórios e negativos nos casos inibitórios. Se este resultado fosse maior ou igual a um certo limiar então a saída do neurônio era pulso, e caso contrário era não pulso.
Em termos matemáticos a definição da unidade fundamental é realizada por uma regra de propagação (estado de ativação) definida pela equação (2.1) e por uma função de ativação definida pela equação (2.2).
netj w xji i n i = =
∑
1 ( 2.1 )Onde wj1 , wj2 , .... , wjn corresponde aos pesos das conexões e x1 , x2 , ... , xn os
valores de entrada para a unidade de processamento j. Especificamente um sinal xi na
entrada da sinapse conectado ao neurônio j é multiplicado pelo peso sináptico wji. É
importante notar a maneira nas quais os subscritos dos pesos sinápticos são escritos wji. O
primeiro refere-se ao neurônio em questão ( j ) e o segundo refere - se ao terminal de entrada ( i ).
Como visto, o valor netj determina a soma ponderada (o produto interno) entre os valores fornecidos como entrada e os valores dos pesos representados nas conexões de entrada da unidade de processamento; o que caracteriza uma combinação linear.
A função de ativação é definida matematicamente através da equação (2.2), como função do valor netj obtido e de outra variável θj , chamada de limiar de ativação. Uma
forma simples e conveniente de entender o limiar θj é interpretá-lo como um valor
adicionado negativamente às entradas do neurônio, a partir do qual o neurônio dispara (é ativado com valor positivo) e, abaixo do qual, permanece em estado de inércia.
(
)
oj = f netj j −θj (2.2)
Nos vários modelos de neurônios artificiais propostos a função de ativação fj tem
sido aproximada pôr uma variedade de funções que tem como principais características o comportamento monotônico sobre uma faixa do argumento netj −θj, conhecida como
faixa dinâmica, e a saturação fora desta faixa. No neurônio de McCulloch a aproximação é
através de um degrau unitário onde apenas a saturação é preservada.
(
)
(
)
o f net f net j j j j j j j = ⇒ − > ⇒ − < 1 0 0 0 θ θ (2.3)Conclui-se então que o neurônio de McCulloch pode ser modelado por um caso particular de discriminador linear cujas entradas são binárias. A expressão 2.2 representa um hiperplano que divide o espaço euclidiano ℜn
, de dimensão n, em duas regiões A e B. Assim, um vetor xr de componentes {x1, x2, …,xn} estará em uma destas regiões na
medida em que se verificar:
(
)
(
)
r r x A f net x B f net j j j j j j ∈ ⇒ − > ∈ ⇒ − < θ θ 0 0 (2.4) enquanto o valor da saída oj será:oj = 1 se
r
x ∈ A e oj = 0 se
r
x ∈ B
O resultado da combinação das duas variáveis, a regra de propagação e a função de ativação, determina o comportamento da unidade de processamento cuja representação pode ser ilustrada através do diagrama de blocos da Figura 2.5.
Uma característica interessante das RNA’s é sua capacidade de generalização, ou seja, elas conseguem interpolar, a partir dos exemplos usados no treinamento, uma relação mais geral que contém o relacionamento definido pelos dados dos exemplos. Trabalhando em um domínio em que entradas semelhantes são mapeadas para saídas semelhantes, a RNA com seu algoritmo de treinamento interpolará quando receber entradas que nunca tenha visto antes. A generalização ajudará a superar ruídos indesejáveis na entrada. As RNA’s podem manipular dados incompletos e imperfeitos, sendo tal capacidade bastante importante uma vez que, no mundo real, a informação se encontra impregnada de ruído.
PERCEPTRONS
O pioneiro na simulação das redes neurais artificiais em computadores digitais foi Frank Rosenblatt (1962). Rosenblatt em seu livro Principles of Neurodynamics, forneceu várias idéias a respeito dos Perceptrons. Este modelo foi proposto para ser empregado em tarefas de reconhecimento de padrões e teve uma grande influência no desenvolvimento histórico da área.
O Perceptron em si consiste nos pesos, no processador de soma e no processador de limite ajustável. A operação do Perceptron é descrita conforme o neurônio do tipo proposto por McCulloch - Pitts. Uma combinação linear das suas entradas aplicadas aos pesos das suas conexões ( netj w xji
i i
=
∑
), seguida de uma função limiar:(
)
oj = f netj j − θ j
O objetivo do neurônio é classificar o estímulo de entrada em uma entre duas classes C1 e C2 dependendo do valor da soma ponderada das suas entradas. Se oj é
positivo então a entrada é classificada como pertencente à classe C1 e o neurônio produz
uma saída igual a + 1. Se netj é negativo então pertence à classe C2 e a resposta do
O aspecto mais importante sobre a operação do Perceptron é como os conjuntos de pesos são encontrados. Uma linha que separa corretamente as instâncias de treinamento corresponde a um Perceptron de funcionamento perfeito (Figura 2.6).
Figura 2.6 – Sistema Classificador com uma fronteira de decisão linear.
A superfície de decisão é definida através da função de ativação netj, ou seja, é
definida pelo produto interno entre o vetor de entrada e o vetor peso. O produto interno de dois vetores é um número real e sendo φ o ângulo entre os vetores xr e wr, xr ≠ 0 e wr ≠ 0
tem-se:
• Produto interno entre xr e. wr > 0 ⇔ 0o ≤ φ < 90o
• Produto interno entre xr e. wr < 0 ⇔ 90o ≤ φ < 180o
• Produto interno entre xr e. wr = 0 ⇔ φ = 90o
onde xr é o padrão e wr é o vetor pesos.
O cos φ varia entre ± 1, logo qualquer alteração de φ entre 90o modificará o sinal de saída de netj . Então a superfície de decisão é normal ao vetor peso, logo, todo conjunto de
pesos especifica alguma superfície de decisão.
O problema de aprendizado do Perceptron, recai numa localização da superfície de decisão, ou seja, de colocar um sistema em posição onde ele possa solucionar melhor os problemas.
Como exemplo será demonstrada a implementação da função lógica binária AND no Perceptron.
• Função AND:
Figura 2.7 - Região de decisão: Função AND.
Dados valores para x1 e x2, quer-se treinar um Perceptron para produzir 1 se ele
achar que a entrada pertencente à classe dos pontos brancos (classe 1) e 0 se ele achar que a entrada pertence à classe dos pontos pretos (classe 2). Pode-se modelar o Perceptron conforme a Figura 2.8 para a classificação dos padrões apresentados.
Figura 2.8 - Porta lógica AND implementada no Perceptron.
Para casos simples como a implementação das funções booleanas AND e OR de duas variáveis é relativamente trivial escolher os ganhos sinápticos e o valor do limiar,
conforme já mostrado acima. Porém, para a implementação de uma função discriminatória arbitrária esta escolha é não trivial e, dependendo do número de variáveis envolvidas, sem a existência de algum método, beira o impossível.
Sistemas nervosos biológicos possuem a essencial propriedade de serem capazes de
aprender uma função. Poderia-se portanto imaginar uma maneira de ensinar a rede
artificial até que esta aprendesse a função desejada. Tal problema, Rosenblatt propôs resolver, definindo um método de aprendizagem para o Perceptron.
Por este método, são apresentados exemplos de comportamento à rede, isto é, para um estímulo ( padrão xrp ) a saída deve ser tp. Os exemplos são repassados até que a rede
aprenda o comportamento correto, ou seja, até que implemente corretamente a função tp = f
(xrp) para todos os exemplos. O discriminador linear é inicializado com parâmetros
arbitrários {wr0,
r
θ0} e os vetores dos exemplos de treinamento são aplicados seqüencialmente à sua entrada. Utilizando-se o algoritmo de aprendizado para ajuste dos parâmetros {wr,
r
θ} procura-se convergir para valores {wr*,
r
θ*} tais que as saídas do
discriminador coincidam com as saídas especificadas no conjunto de treinamento para todos os exemplos.