Sunteți pe pagina 1din 7

Redes Neurais Articiais: Perceptron de Uma e Mltiplas

Camadas
Murilo Teixeira Silva Lurimar Smera Batista

1 Introduo
A neurocomputao, um dos ramos de estudo da inteligncia articial, surgiu no meio acadmico em
1943, atravs de um artigo elaborado pelo matemtico Walter Pitts e pelo neurocientista Warren McCul-
loch. Neste artigo, foi elaborada a primeira modelagem matemtica baseada em um neurnio biolgico,
resultando no conceito de neurnio articial. Com base nestes estudos, e nas teorias de neurocincia
biolgica sobre o aprendizado apresentadas por Hebb, foi elaborada a primeira rede neural, em 1957, por
Frank Rosenbalt, rede esta batizada de Perceptron. (Batista, 2012)
Desde ento, o uso de redes neurais para soluo de problemas de dados estatsticos no-lineares e para
o reconhecimento de padres vem sendo um dos grandes ramos de ao da inteligncia articial, aplicando
estes conhecimentos em linhas de produo, na etapa de vericao de qualidade, no desenvolvimento de
sistemas especialistas para o monitoramento e controle industrial, soluo numrica de equaes diferen-
ciais, de forma que este conhecimento permeia tanto o meio cientco como industrial. Para o correto
funcionamento de uma rede neural, esta deve ser treinada com dados externos para a formao de co-
nexes sinpticas corretas para a resoluo de problemas. Assim, quando a rede for submetida a dados
reais, esta possa fazer uma deciso acertada.
O presente trabalho apresenta as teorias para a construo de Redes Neurais Articiais do tipo
Perceptron, para uma camada e mltiplas camadas.

2 Estrutura de uma Rede Neural


2.1 Neurnio Articial
A inteligncia articial, ou IA, o campo da cincia que tenta entender as entidades inteligentes, criando
modelos de comportamentos a serem reproduzidos atravs de sistemas computacionais. Pela complexidade
da tarefa de traduzir a inteligncia em uma estrutura programada, existem diversas abordagens possveis
para o estudo da inteligncia articial. Dentre os diversos campos de estudo, a abordagem para o
desenvolvimento de sistemas inteligentes pode-se dividir em cognitiva e conexionista. Na abordagem
cognitiva, o enfoque dos sistemas a criao de algoritmos baseados na forma em que o ser humano
raciocina, tentando buscar explicaes para comportamentos inteligentes atravs de aspectos psicolgicos.
A abordagem conexionista tem como base o modelo de funcionamento do crebro humano, dos neurnios
e das conexes neurais. Com esta abordagem, o modelo com maior destaque o modelo das redes neurais
articiais. (Fernandes, 2005)
As redes neurais articiais (RNA) so modelos computacionais inspirados no sistema nervoso dos seres
vivos, concebidos de forma a emular em um computador a funcionalidade e a estrutura do crebro. A
estrutura bsica de uma rede neural, assim como no crebro humano, o neurnio, com a diferena que
na rede neural, o neurnio o nome dado ao modelo matemtico do seu homnimo biolgico.
O neurnio biolgico tem como funo bsica conduzir impulsos eltricos advindos de reaes fsico-
qumicas, sob determinadas condies de operao. A estrutura fsica de um neurnio resumida nos
seguintes componentes:
Dendritos, que tm como funo captar continuamente os estmulos vindos de outros neurnios;
Corpo celular, onde so processadas as informaes advindas dos dendritos, produzindo um poten-
cial eltrico dentro da clula que, quando atinge um determinado valor de limiar, envia um pulso
eltrico, ou potencial de ao, atravs do axnio;
Axnio, formado por uma bra tubular que transporta os estmulos eltricos para outros neurnios,
atravs de ramicaes chamadas de terminaes sinpticas.

1
Figura 1: Estrutura bsica de um Neurnio Articial

Baseando-se em um neurnio biolgico, desenvolveu-se o neurnio articial, um modelo matemtico que


possui um tratamento de informaes similar ao de um neurnio biolgico. As principais caractersticas
de uma rede neural biolgica so o paralelismo e a alta conectividade, conceitos estes que foram passados
para as redes neurais articiais. A estrutura bsica de um neurnio est expressa na Figura 1. O ndice
j encontrado na gura identica o neurnio dentro da rede neural.
A partir da Figura 1, so identicadas as seguintes estruturas:
x1 , x2 , x3 , . . . , xn : Sinais de entrada advindos do meio externo, representando valores assumidos
pelas variveis de uma aplicao especca;
w1j , w2j , w3j , . . . , wnj : Funes peso, com o objetivo de ponderar cada uma das entradas da rede;
: Combinador linear, com a funo de agregar cada um dos sinais de entrada ponderados pelos
pesos sinpticos, com o objetivo de gerar um potencial de ativao;
netj : Sinal resultante da combinao linear ponderada dos sinais de entrada no neurnio;
: Funo de ativao, com o objetivo de normalizar o potencial de ativao, dentro de valores
razoveis, a serem assumidos pela imagem da funo;
j : Limiar de ativao, varivel especca que determina o patamar apropriado para que o sinal
produzido pelo combinador linear possa produzir um sinal de saida do neurnio;
oj : Sinal de saida do neurnio, com base nos sinais de entrada especicados.
Com base nas informaes apresentadas, um neurnio com a estrutura da Figura 1 pode ser matema-
ticamente representado pelas Equaes 1 e 2.
n
(1)
X
netj = wij xi
i=1

oj = (netj ) (2)
Portanto, observando as Equaes 1 e 2, um sinal s ser propriamente transmitido se a combinao
linear dos sinais ponderados superar o limiar de ativao do neurnio. Portanto, para que o neurnio
seja devidamente projetado, a funo e o limiar de ativao devem ser propriamente escolhidos. Alm
disso, os modelos de redes neurais em geral possuem algum tipo de regra de treinamento, que ajusta o
peso de suas conexes a depender dos padres apresentados, ou seja, dados os exemplos, uma rede neural
aprende o melhor caminho de conexes.
Com o objetivo de aumentar a entrada lquida da funo de ativao da rede neural, adiciona-se um
sinal constante entrada do sistema, sinal este conhecido como bias, simbolizado por bk . O uso do bias
tem o efeito de aplicar uma transformao am sada do combinador linear, deslocando a funo de
sada do combinador linear netj , em relao sada do combinador linear, de forma que mesmo que no
haja nenhuma entrada no neurnio, ou que a combinao linear entre os valores de entrada resulte em
um valor nulo, o valor do bias para esta situao permanece o mesmo, fazendo com que netj no se
anule. Em termos prticos, o bias pode ser considerado como uma entrada xa, anexando-se ao vetor
x = [x1 , x2 , . . . , xn ]T , gerando assim o vetor X = [x1 , x2 , . . . , xn , bk ]T . Em geral, bk = 1. (Haykin, 2001)
(Rojas, 1996)

2
2.2 Funes de Ativao
A funo de ativao () de uma neurnio pode assumir diversas formas, dependendo da aplicao
da rede neural da qual ele faz parte. Existem diversos tipos de funo de ativao, contudo aqui sero
apresentadas as duas mais comuns: a Funo de Limiar ou de Heaviside e a Funo Logstica ou Sigmide.
Dene-se matematicamente a Funo de Heaviside como apresentado na Eq. (3). O neurnio que
apresenta esta funo de ativao conhecido como modelo de McCulloch e Pitts, pois este foi o modelo
utilizado por eles em seu artigo seminal sobre as redes neurais articiais. (Haykin, 2001).
(
1, se v 0
(v) = (3)
0, se v < 0
Neste modelo de neurnio, ele pode assumir apenas dois estados, o de conduo ou o de bloqueio.
Este modelo apresenta dois inconvenientes, que cam mais evidentes quando em sua aplicao para redes
multicamadas. Primeiramente, o este modelo no inclui a fase refratria de um neurnio, onde este
nem conduz nem bloqueia o sinal. Alm disso, como ser visto posteriormente, a funo de ativao
de uma rede deve ser preferencialmente uma funo diferencivel, j que a retropropagao depende da
diferenciao desta funo. Contudo, para perceptrons de uma nica camada, a Funo de Heaviside
apresenta bons resultados para domnios linearmente separveis.
J a Funo Logstica, ou Sigmide, denida matematicamente pela Eq. (4), onde a o parmetro
de inclinao da funo logstica.
1
(v) = (4)
1 + exp(av)
Ao contrrio da funo de Heaviside, a Sigmide apresenta um comportamento refratrio, com limites
determinados pelo parmetro de inclinao da funo logstica. Quanto maior o valor de a, menor o in-
tervalo de valores para os quais o neurnio nem conduz, nem bloqueia. Alm do comportamento refratrio
apresentado pela sigmide, a sua principal vantagem a diferenciabilidade, alm da fcil implementao
computacional desta, dispensando novos clculos. A derivada da funo logstica apresentada na Eq.
(5). Como se faz notar, no necessrio obter computacionalmente um valor para a derivada da funo
sigmide, pois esta depende apenas do valor da funo sigmide no ponto.
d(v) exp(av)
= 0 (v) = = (v)(1 (v)) (5)
dv (1 + exp(av))2
Conhecendo os neurnios, possvel analisar as arquiteturas disponveis para montar uma rede neural.

2.3 Arquiteturas de Redes Neurais


A arquitetura de uma rede neural a forma em que os neurnios so organizados para obter um resultado.
Em geral, existem trs arquiteturas bsicas para uma rede neural: Camada nica, Mltiplas Camadas e
Recorrente.
A arquitetura de camada nica a forma mais simples de rede neural. Ela consiste basicamente na
apresentao de dados a um neurnio e, a partir do ajuste dos seus pesos, visa-se obter uma sada desejada.
Em uma rede neural de uma camada, o neurnio que recebe os dados o mesmo que retorna o resultado,
no havendo camadas intermedirias de processamento, nem realimentao do resultado da rede para os
valores de entrada. Este foi o tipo de rede neural apresentada como Perceptron por Rosemblatt em 1958,
contudo, suas limitaes foram apresentadas por Minsky e Papert em 1969. A principal limitao de um
perceptron de uma camada que s possvel classicar dados linearmente separveis. (Haykin, 2001)
A segunda arquitetura a de mltipla camada. Assim como a de camada nica, no h realimentao
do sinal de sada para a entrada do sistema, contudo, camadas intermedirias entre a entrada e a sada
da rede so adicionadas, de forma a obter classicaes de dados com separabilidade de ordem superior.
As camadas de uma rede neural de mltiplas camadas so classicadas em trs grupos:
Camada de entrada, por onde os padres e sinais de entrada so apresentados rede;
Camadas Ocultas, onde a maior parte do processamento realizada, atravs de conexes pondera-
das;
Camada de sada, onde o resultado concludo e apresentado.

3
A ltima arquitetura apresentada a recorrente. Nesta arquitetura, os dados obtidos na sada em um
instante de tempo
A forma em que as camadas se associam, bem como o mtodo de treinamento da rede e ajuste
de conexes entre neurnios denem as diferentes tcnicas de redes neurais. Dentre as arquiteturas
apresentadas, as mais populares so a os Perceptrons de uma camada e de mltiplas camadas. Em geral
estas arquiteturas esto associadas a um processo de aprendizagem especco, de forma que determinada
regra de aprendizado mais empregada ou mais adequada a uma arquitetura. A tcnica apresentada
a seguir a mais comum para redes do tipo perceptron de uma e mltipla camada, que a tcnica de
retropropagao de erro, ou error backpropagation.

3 Aprerendizagem em Redes Neurais


3.1 Aprendizagem Hebbiana
Uma rede neural uma unio de estruturas simples que devido a processos matemticos capaz de
responder adequadamente a estmulos e generalizar, a partir de determinadas tcnicas de aprendizado.
interessante, antes de introduzir propriamente as tcnicas de aprendizado, entender como uma rede
neural aprende.
Um neurnio articial uma estrutura matemtica que simula um neurnio biolgico, como explicado
anteriormente. Determinados neurnios no crebro humano possuem especializaes bastante denidas,
como o nervo tico entre outros. Para estes neurnios, o nervo tico por exemplo, um comando de
movimentao dos dedos no uma informao relevante, portanto suas conexes neurais com a parte
do crebro que lida com este tipo de informao no to forte como, por exemplo o processamento de
imagens. Esta teoria de aprendizado aqui apresentada a base do que cou conhecido como aprendizado
Hebbiano ou teoria conexionista.
Esta teoria pode ser apresentada em dois postulados: (Haykin, 2001)
1. Se em uma sinapse, os dois neurnios so simultaneamente ativados, a conexo sinptica entre estes
neurnios seletivamente aumentada
2. Se dois neurnios em uma sinapse so assincronamente ativados, esta conexo sinptica enfraque-
cida.
Transportando esta tcnica para as redes neurais, para que uma rede aprenda determinado conheci-
mento que lhe apresentada, as conexes neurais devem se alterar com a sucesso de pocas de treina-
mento, de forma que para aquele estmulo, determinado grupo de neurnios sejam ativados. Para isso, os
pesos sinpticos, que representam a fora da conexo entre neurnios, devem ser alterados seguindo estes
padres do aprendizado Hebbiano a cada n poca, onde cada o set de treinamento reapresentado a rede,
de forma a obter um menor erro entte o valor de sada e o valor desejado para esta. Muitos algoritmos
foram escritos para esta funo e entre eles o de retropropagao de erro (Error Backpropagation ) o mais
popular. Assim, o aprendizado de uma rede neural nada mais do que o ajuste dos pesos sinpticos em
sucessivas pocas para que a resposta dela se adque a uma situao. Esta situao pode ser previamente
conhecida ou no, constituindo assim um aprendizado supervisionado ou no-supervisionado.

3.2 Aprendizagem Supervisionada versus No Supervisionada


Existem diversas tcnicas de aprendizado disponveis no estudo de redes neurais, contudo, estas podem
ser divididas em dois grupos principais: As tcnicas de aprendizado supervisionado e no supervisionado.
O aprendizado supervisionado, ou aprendizado com professor, como o prprio nome diz, uma tcnica
aplicada quando existe um conhecimento prvio do comportamento do sistema em questo. O aprendi-
zado supervisionado indicado para situaes em que se deseja padronizar um comportamento ou ao
atravs do uso de uma rede neural, onde h um par entrada-sada desejado para cada situao. Um
exemplo claro uma rede utilizada para aproximar ou interpolar funes, conhecendo-se alguns pon-
tos do domnio. Um exemplo de uso deste paradigma de aprendizado no reconhecimento de padres,
como alguns sistesmas de Optical Character Recognition (OCR) que utilizam uma rede neural treinada
para o reconhecimento tico de caracteres. Neste caso, a rede foi previamente treinada com caracteres
conhecidos e, em seguida, colocada para a leitura de um texto, funcionando como a alfabetizao de
uma criana. importante constatar que a rede possui uma capacidade de generalizao, de forma que
uma rede neural treinada com determinados caracteres pode identicar os mesmos caracteres em fontes

4
diferentes. Esta capacidade de generalizao tambm pode fazer com que a rede incorra em erro. Em
resumo, Redes Neurais Supervisionadas so redes treinadas para uma determinada funo, com base
em um conjunto pr-denido de pares estmulo-resposta previamente conhecido, ainda possuindo uma
capacidade de generalizao.
Contudo, nem sempre possvel conhecer previamente um determinado conjunto de pares entrada-
sada para o sistema. Nestas situaes, o crebro humano cona apenas em suas informaes prvias
sobre o evento ou o ambiente e em sua capacidade de generalizao. Uma vez conhecido este novo evento,
forma-se uma espcie de "resposta padro"para aquele evento, gerando assim o par entrada-sada para
esta situao. Para simular esta capacidade em uma rede neural, o processo de aprendizado utilizado o
aprendizado no supervisionado. Neste paradigma, no existe um par predenido de entrada-sada para a
rede responder. Com base em suas observaes anteriores ou informaes a priori existentes na memria
da rede, a rede neural utiliza processos estatsticos e matemticos para obter um resultado aceitvel
para a situao apresentada. Este tipo de rede requer um conhecimento mais apurado de matemtica
e estatstica e mais complexa em sua implementao. Redes deste tipo so altamente especializadas e
constituem a fronteira do conhecimento em redes neurais.
As tcnicas aqui apresentadas so tcnicas de aprendizado supervisionado aplicadas em redes neurais
articiais do tipo Perceptron de uma e mltiplas camadas.

3.3 Retropropagao de Erro


Para que uma rede neural esteja plenamente treinada, ela deve responder corretamente a um conjunto
de estmulos a ela apresentados, em outras palavras, deve haver um erro mnimo entre a resposta da rede
e a sada correspondente entrada. Utilizando o conceito de aprendizado Hebbiano, os pesos devem ser
devidamente ajustados para que a rede alcance este erro mnimo. Assim, os pesos devem ser ajustados
de forma ao erro da funo ser minimizado. Uma das tcnicas para que estes pesos sejam corretamente
ajustados a retropropagao do erro encontrado na camada de sada, tcnica conhecida como error
backpropagation.
Na operao normal de uma rede tipo perceptron de mltiplas camadas, o sinal parte da camada de
entrada, se propaga pelas camadas ocultas, alcanando a camada de sada, onde os sinais de sada so
comparados com a referncia. Este passo de propagao do sinal de entrada conhecido como passo para
frente ou feedforward.
Matematicamente, dene-se o feedforward da seguinte maneira. Dado a camada de entrada j com
um neurnio, que recebe um vetor com os dados de entrada x = [x1 , x2 , . . . , xp ]0 . Adiconando um bias
bk a este vetor, obtm-se um vetor x = [x1 , x2 , . . . , xp , bk ]0 , de ordem (p + 1), 1. Os sinais de entrada do
neurnio ento so operados linearmente, multiplicados por seus respectivos pesos sinpticos wij , com
i = 1, 2, . . . , p + 1, gerando assim a funo de sada do combinador linear netj . A operao resultante
est descrita na Eq.(6), onde xi cada elemento do vetor de entrada x e o sobrescrito em wij representa
a camada a qual este se refere.
p+1
(1)
(6)
X
netj = wij xi
i=1

Para obter netj matricialmente, deve-se ento multiplicar o vetor x por um vetor linha Wj , que contm
os pesos referentes ao neurnio j. Para que a multiplicao seja correta, Wj = [w1j , w2j , . . . , wpj , wbj ],
ou seja, com ordem 1, (p + 1). Uma vez computado netj , este passar pela funo de ativao varphi,
gerando o sinal de sada do neurnio j . Considerando uma entrada com apenas um neurnio, a sada desta
camada estar representada pelo vetor o(1) j = oj . Para uma camada com mais neurnios, a dimenso do
vetor o(1)
j ser m, 1 , onde m o nmero de neurnios da camada j. Vetorialmente, o(1)
j pode ser calculado
como na Eq.(7).

o(1) = (xWj ) (7)


Uma vez computados os resultados de todos os neurnios da camada, estes se tornam o vetor de
entrada da prxima camada, propagando o sinal de entrada por todas as camadas, at alcanar a camada

de sada. Assim, o passo feedforward pode-se denir, aps a primeira camada, pela Eq. (8), onde o(k1)
o vetor de sada da camada anterior k, adicionando do valor do bias como o ultimo elemento deste.

o(k) = (o(k1) Wk ) (8)

5
Evidentemente, as matrizes para os pesos sinpticos deve ser dimensionada de forma a atender o
nmero de entradas para cada camada. Uma vez que o sinal chegue camada de sada, todos os sinais
sero comparados com suas respectivas sadas esperadas, resultando em uma funo de erro, descrita pela
Eq. (9), considerando uma camada de sada n com p neurnios e onde ti a sada esperada para cada
neurnio. Esta funo descreve o erro quadrtico mdio entre a sada da rede e o valor esperado para
esta.
p
1 X (n)
E= ko ti k2 (9)
2 i=1 i
Levando em considerao a teoria conexionista, nota-se que cada conexo sinptica deve ser tratada
de forma diferente, com os pesos sinpticos alterados de forma condizente. Para tal, deve-se perceber
qual a parcela do erro total cabe a cada peso sinptico. Assim, deve-se obter um gradiente de erro para
cada conexo sinptica, como apresentado na Eq. (10)
 
E E E
E = , ,..., (10)
w11 w12 wij
Uma vez conhecidos os valores de erro para cada um dos pesos sinpticos, pode-se obter o valor a
ser ajustado para cada peso na rede neural, denido na Eq. (11). No clculo de wij , a taxa de
aprendizado para a rede, um parmetro que dene o tamanho do passo para cada iterao na direo
do gradiente negativo. O ajuste do parmetro importante, pois em funes onde existem muitos
mnimos e com pouca signicncia, um grande passo pode fazer com que o programa tenha diculdades
em convergir.
E
wij = (11)
wij
Portanto, ao encontrar o erro E aps o nal do passo feedforward, deve-se encontrar a derivada
parcial do erro em relao a cada peso sinptico para que seja obtido o valor para a atualizao dos
pesos sinpticos. Este o objetivo da etapa de retropropagao do erro, determinar os valores do erro
retropropagado de forma a atualizar as funes peso. Desta forma, preciso descobrir o valor de wE
ij
.
Considerando o valor de sada para cada neurnio oi constante para o passo de retropropagao, obtm-se
a equao (12)
E E
= oi (12)
wij oi wij
O erro retropropagado no n j apresentado como o gradiente local j , que descrito na Eq. (13).
E
j = (13)
oi wij
Assim, o erro retropropagado dado pela Eq. (14).
E
= oi j (14)
wij
O clculo para obter o valor do gradiente local depende da topologia da rede. Considerando uma rede
neural de mltiplas camadas com funo de ativao sigmide, o gradiente local pode assumir dois valores
possveis, apresentados a seguir, onde n a camada em questo, ej o erro associado a cada neurnio
da ltima camada(ej = (onj tj ), e q = 1, 2, . . . , m cada neurnio da camada seguinte: (Haykin, 2001)
(Rojas, 1996)

tj )oj (1 oj ), quando o erro retropropagado na ltima camada;


(n) (n) (n) (n)
j = ej 0j (netj ) = (oj
(n) (n) (n) (n) (n) (n+1) (n+1)
, quando o erro retropropagado
Pm
= 0j (netj )
P
j k k wkj = oj (1 oj ) q=1 wjq q
nas camadas ocultas.
Observa-se que j depende apenas do erro calculado na camada de sada, dos valores de sada e dos
gradientes locais de camadas posteriores, j calculados. Portanto, o algoritmo de retropropagao segue
as seguintes etapas.

6
1. Propagao do sinal de entrada at a sada (feedforward )
2. Clculo o erro quadrtico mdio na sada (E ) e do erro para cada neurnio da ltima camada (ej )

3. Clculo do gradiente local na ltima camada (j(n) )

4. Clculo do gradiente local em cada uma das camadas ocultas (j(n) )


5. Atualizao dos pesos sinpticos wij )
Desta forma, dene-se o algoritmo de retropropagao de erro para perceptrons de mltipla camada.
Observando-se que o caso do perceptron de uma camada o caso particular em que a camada de entrada
e de sada so as mesmas, pode-se ento realizar o algoritmo de retropropagao do erro para o caso de
um perceptron de uma nica camada eliminando-se a etapa de clculo do gradiente local nas camadas
ocultas, j que estas no existem, calculando-se diretamente a atualizao dos pesos com o j da camada
de sada. Assim, o novo peso sinptico wij dado pela equao (15), onde n a representao da poca
em que foi calculado o erro.

wij (n + 1) = wij (n) + wi j(n) (15)

4 Concluso
No desenvolvimento da Inteligncia Articial, as redes neurais ganharam destaque devido sua versa-
tilidade e aplicabilidade em problemas prticos, como aproximao de funes, classicao de padres
e em alguns casos de controle adaptativo. Neste artigo foi apresentado um contexto terico do uso de
redes neurais, apresentando o perceptron de mltiplas camadas, uma das redes mais populares e versteis
utilizadas na computao, engenharia, entre outros ramos. Percebe-se que a rede neural de uma camada
um caso particular da rede neural de mltiplas camadas, esta segunda com vastas aplicaes.
Em trabalhos futuros visa-se demonstrar o uso de redes neurais no supervisionadas, explorando
outras topologias mais adequadas a problemas de classicao e identicao de padres.

Referncias
Brigida Cristina Fernandes Batista. Solues de Equaes Diferenciais Usando Redes Neurais de Mltiplas
camadas com os mtodos da Descida mais ngreme e Levenberg-Marquardt. PhD thesis, 2012.
Anita Maria da Rocha Fernandes. Inteligncia Articial: noes gerais. Visual Books, 2005.
Simon Haykin. Redes neurais. Grupo A, 2001.
R Rojas. Neural networks. a systematic approach, 1996.

S-ar putea să vă placă și