Sunteți pe pagina 1din 13

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO

Departamento de Engenharia de Computao e Sistemas Digitais






















Redes Neurais Multicamadas
Seminrio de Inteligncia Artificial


















Autores:
Andr Kenji Horie
Hugo Brizard
Ricardo Henrique Gracini Guiraldelli
Data de Emisso:
13/11/2008
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 2 -
ndice

ndice ...................................................................................................................................2
1. Introduo.....................................................................................................................3
1.1. Redes Neurais Biolgicas ................................................................................................................ 3
1.2. Redes Neurais Artificiais .................................................................................................................. 3
1.3. Tipos de Problemas ......................................................................................................................... 4
1.4. Exemplos de Aplicaes .................................................................................................................. 4
2. Redes Neurais Multicamadas.......................................................................................5
2.1. O que so Multicamadas?................................................................................................................ 5
2.2. Feed-Forward................................................................................................................................... 6
2.3. Back-Propagation............................................................................................................................. 6
2.4. Redes Neurais Recorrentes............................................................................................................. 7
3. Back-Propagation .........................................................................................................8
3.1. Descrio Matemtica...................................................................................................................... 8
3.2. Algoritmo .......................................................................................................................................... 9
3.3. Exemplo.......................................................................................................................................... 10
4. Concluso...................................................................................................................12
Referncias........................................................................................................................13

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 3 -
1. Introduo

1.1. Redes Neurais Biolgicas
Na neurocincia, uma rede neural descreve
uma populao de neurnios interligados
fisicamente. A comunicao entre neurnios
frequentemente envolve um processo eletroqumico,
e a interface atravs da qual eles se interagem
consiste de vrios dendritos (conexes de entrada),
que so interligados atravs de sinapses com outros
neurnios, e um axnio (conexo de sada). Se a
soma dos sinais de entrada ultrapassa um
determinado limiar, o neurnio envia uma ao
potencial (AP), e o axnio transmite este sinal
eltrico.

1.2. Redes Neurais Artificiais
Uma rede neural artificial (ANN), frequentemente denominada apenas "rede neural"
(NN), um modelo matemtico ou computacional baseado em redes neurais biolgicas.
Consiste de um grupo interligado de neurnios artificiais que processa informao
utilizando uma abordagem computacional. Na maioria dos casos, uma ANN um sistema
adaptativo que muda sua estrutura interna ou externa baseada na informao que flui
atravs da rede, durante a fase da aprendizagem.
Em termos mais prticos, redes neurais so
ferramentas no-lineares para modelagem de
dados estatsticos. Elas podem ser usadas para
modelar as relaes complexas entre entradas e
sadas, ou para encontrar padres em dados.
Pode-se afirmar que as redes neurais
biolgicas e artificiais so semelhantes por vrias
causas. Primeiro, se um indivduo coloca a mo no
fogo, a dor ser quase instantnea. So as
reaes da rede neural. Semelhante com as redes
neurais artificiais, o indivduo aprender que fazer
isso no d um resultado feliz. As redes neurais
artificiais podem treinar com o tempo para otimizar
Figura 1.1: Rede neural biolgica
Figura 1.2: Rede neural artificial
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 4 -
os resultados, para no cometer erros novamente, ou para minimizar ao mximo esses
erros.
Segundo, a estrutura das redes so muito parecidas: ambas possuem ligaes de
entrada e de sada, com clculos que decidem o resultado. Na verdade, as redes neurais
artificiais foram criadas para melhor entender as redes neurais biolgicas. Depois, muitas
aplicaes diferentes foram criadas. Alguns exemplos sero providos posteriormente.
Existem vrios tipos de redes neurais artificiais, com suas vantagens e
desvantagens, considerando-se os resultados obtidos e o tempo exigido para o
processamento.

1.3. Tipos de Problemas
A utilidade do modelo das redes neurais artificiais reside no fato que elas podem
ser usadas para inferir uma funo a partir de observaes. Isto particularmente til em
aplicaes nas quais a complexidade das tarefas ou dos dados a serem processados
torna a modelagem de tal funo impraticvel.
As redes neurais multi-camadas so normalmente utilizadas para tipos de
problemas particulares. So eles:
Classificao: A rede neural treinada atravs de amostras de dados de cada
grupo e instrues de como realizar a classificao, fazendo com que a rede
aprenda as caractersticas prprias de cada grupo.
Funo aproximao (ou anlise de regresso): Inclui previso e modelagem de
sries temporais.
Reconhecimento de padres: uma forma de classificao. Redes neurais so
largamente utilizadas para este intuito.
Otimizao: Problemas como montagem de circuitos, alocao de recursos,
entre outros.
Outras reas de aplicao incluem: sistema de identificao e controle (controle
veicular, de processos, entre outros), tomada de decises em jogos (gamo, xadrez,
corridas), diagnsticos mdicos, aplicaes financeiras (sistemas de negociao
automticos), Data Mining (descoberta de conhecimento nas bases de dados, ou KDD),
visualizao e filtragem de spam de e-mail.

1.4. Exemplos de Aplicaes
Reconhecimento de escrita (http://neurovision.sourceforge.net/).
Predio de localizao (http://sourceforge.net/projects/smith-project/).
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 5 -
2. Redes Neurais Multicamadas

2.1. O que so Multicamadas?
As redes neurais de camada nica possibilitam apenas a resoluo de problemas
linearmente separveis, i.e., as diversas solues (booleanas) para os problemas esto
separados por um plano. As redes neurais multicamadas, por outro lado, possibilitam a
resoluo de um espectro maior de problemas atravs da adio das camadas
escondidas, incluindo problemas discretos e regresses no-lineares, aumentando o
espao de hipteses que a rede pode representar e possibilitando grande poder
computacional.
Por exemplo, na figura 2.1a abaixo, temos a sada de um perceptron com uma
funo de ativao sigmoidal. Combinando-se duas sigmides voltadas para direes
opostas, obtm-se um cume, ilustrado na figura em 2.1b. Por fim, combinando-se dois
cumes, o resultado a figura 2.1c.


Figura 2.1: Sadas de perceptrons com funo de ativao sigmoidal.

Este aumento de poder computacional no se d apenas ao fato de se aumentar o
nmero de camadas da rede. Dadas as funes de ativao como a funo geradora da
sada de cada unidade da rede, possvel provar por lgebra Linear que se esta funo
de ativao for linear em todos os neurnios, esta rede pode ser reduzida para uma rede
neural de uma nica camada.
Assim, o que difere a rede multicamadas so suas funes no-lineares, como por
exemplo a funo de Heaviside ou uma funo sigmoidal (figura 2.2). Observa-se
preferncia para as sigmides por elas serem normalizveis e diferenciveis.

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 6 -

Figura 2.2: (a) Funo Heaviside, (b) Funo Sigmoidal

De acordo com o Teorema de Cybenko
[4]
, qualquer funo contnua pode ser
uniformemente aproximada por uma rede neural contnua de apenas uma camada interna
e com uma sigmoidal contnua no-linear arbitrria. De fato, qualquer funo descontnua
pode ser aproximada com duas camadas escondidas
[1]
. Infelizmente, para uma dada
estrutura de rede, muito difcil caracterizar as funes que podem ser representadas.

2.2. Feed-Forward
Redes que podem ser representadas por grafos direcionados acclicos so
chamadas de feed-forward. Em outras palavras, as sadas de todas as unidades do
perceptron vo para as camadas posteriores, no havendo assim loops de feedback. As
redes feed-forward representa uma funo da entrada atual e, portanto, no tem um
estado interno alm dos pesos pr-definidos.

Figura 2.3: Exemplo grfico de Feed-Forward.

2.3. Back-Propagation
Sabe-se que para as redes neurais de camada nica, o aprendizado realizado
facilmente devido simplicidade no clculo do erro de comparao entre a sada
esperada e a sada da rede. Contudo, nas redes multicamadas no possvel calcular
diretamente o erro para as unidades escondidas, uma vez que no so definidas as
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 7 -
sadas destas. Assim, sem uma tcnica de aprendizado, redes neurais multicamadas
tornam-se inteis.
Para solucionar esse problema, em 1986, foi proposto por Rumelhart, Hinton e
Williams
[6]
o algoritmo (ou mtodo) de back-propagation. Este algoritmo tem como idia
principal propagar o erro da sada do perceptron de volta para as camadas anteriores, de
forma que todas as unidades da rede possam aprender com o erro.
A definio matemtica, algoritmo e um exemplo sero apresentados no captulo
seguinte.

Figura 2.4: Exemplo grfico de Feed-Forward com Back-Propagation.

2.4. Redes Neurais Recorrentes
As redes neurais recorrentes (RNN) formam uma classe de redes neurais na qual
as conexes entre as unidades formam um grafo direcionado cclico, criando assim um
estado interno que exibe comportamento temporal dinmico. Este comportamento pode
ser tanto estvel, como oscilante e at mesmo catico.
Uma das principais motivaes para as RNNs provem do fato que as chamadas
RNNs analgicas (ARNN) so equivalentes s mquinas de
Turing
[5]
. Mais que isso: enquanto muitos sistemas dinmicos e
caticos no podem ser descritos por uma mquina de Turing,
eles podem ser capturados por ARNNs, suportando assim a
proposio que estas descrevem a computao analgica da
mesma forma que as TMs descrevem a computao digital
[7] [8]
[9]
. Esta expanso do modelo de Turing pode ser vista tambm
como uma mudana da computao esttica para a adaptativa,
sendo denominada de poder de computao de super-Turing
ou hipercomputao. Figura 2.5: RNN de Hopfield
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 8 -
3. Back-Propagation

3.1. Descrio Matemtica
Para cada elemento (perceptron ou neurnio da rede), definimos sua soma
ponderada como , onde x
j
j-sima entrada no neurnio i e w
ij
o peso
da respectiva entrada neste neurnio.
A sada do neurnio, yi, definida por uma funo contnua diferencivel de si, i:
, onde yi assume um dos seguintes valores:
Funo logstica: ou
Funo tangente hiperblica: .
Vamos, para fins de deduo, estudar uma rede de trs camadas, sendo uma
camada de entrada, uma camada escondida (hidden layer) e uma camada de sada,
conforme figura a seguir:

Figura 3.1: Rede neural de trs camadas.

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 9 -
Definindo cada uma das sadas da camada escondida como
e cada sada da camada de sada como
, procuremos minimizar o erro quadrtico da sada da rede.
Dado que o erro quadrtico da rede (camada de sada)
, sendo a sada ideal (valor alvo) e p determinado
padro, calculamos a derivada de E
p
(a respeito de um determinado w) para tentarmos
minimizar o erro:

Se um dos pesos da camada de sada:

Se um dos pesos da camada escondida (hidden layer):

Dado esses resultados, definimos , onde a taxa de
apredendizado, que deve ser somado ao peso para ajuste de seu aprendizado
( ).

3.2. Algoritmo
1- Defina o nmero de camadas ocultas e o nmero de neurnios em cada
camada.
2- Defina valores iniciais, possivelmente randmicos, para os pesos.
3- Escolha um par de padres (x
p
, t
p
) e faa as condies iniciais x
p
.
4- Calcule as somas ponderadas e as sadas dos neurnios, y, propagando os
valores para as camadas da frente.
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 10 -
5- Calcule os erros entre o valor das sadas reais e alvo/objetivo.
6- Faa a minimizao dos erros, calculando as derivadas.
7- Calcule os valores de para os pesos de cada camada.
8- Faa para cada peso.
9- Repita os passos de 3-8 para todo o corpo de treinamento.
10- Repita os passos 3-9 at que a rede tenha um resultado satisfatrio.

3.3. Exemplo
Dada a funo de ativao logstica
, o perceptron ao lado, e os seguintes
padres a serem aprendidos:
Para entradas 0 e 1, a sada deve ser 0;
Para entradas 1 e 1, a sada deve ser 1.
A taxa de aprendizado da rede ser de 0,25.

Inicialmente, devemos aplicar o Feed-Forward
atravs da soma das entradas levando em
considerao os pesos apresentados e a funo de
ativao. Desta forma, para a camada escondida,
teremos:
Entrada do neurnio escondido 1:
55 , 0 55 , 0 1 62 , 0 0
0
= + = =

=
N
j
j j i
x wi s

Entrada do neurnio escondido 2:
17 , 0 ) 17 , 0 ( 1 42 , 0 0
0
= + = =

=
N
j
j j i
x wi s

Sada do neurnio escondido 1:
634135591 0
1
1
1
1
55 , 0
,
e e
y
i
s
i
=
+
=
+
=


Sada do neurnio escondido 2:
457602059 0
1
1
1
1
17 , 0
,
e e
y
i
s
i
=
+
=
+
=



Figura 3.2: Perceptron do exemplo
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 11 -
Desta forma, a sada do sistema obtida ser:
643962658 0 643962658 0 0
643962658 0
1
1
1
1
592605124 , 0 81 , 0 457602059 0 35 , 0 634135591 , 0
592605124 , 0
0
, , E Erro
,
e e
y
. x wi s
i
s
i
N
j
j j i
= = =
=
+
=
+
=
= + = =

=




Agora, iniciaremos o Back-Propagation. Para este caso, o novo valor de cada peso
ser dado por
i j ji ji
y y E z w w + , onde w
ji
o peso, a taxa de aprendizado,
z a sada da rede, E o erro na sada da rede, y
j
a sada do n que origina a transio
referente ao peso e y
i
a sada do n no qual a transio termina.
Considerando a matriz de pesos nmero 2 (entre a camada escondida e a camada
de sada), temos respectivamente:
(i)
i j ji ji
y y E z w w +
[ ]
326593362 0 ) 023406638 , 0 ( 35 , 0
) 643962658 0 1 ( 643962658 0 634135591 0 ) 643962658 0 ( 25 0 35 , 0
, w
, , , , . w
ji
ji
= + =
+ =

(ii)
i j ji ji
y y E z w w +
[ ]
793109407 0 ) 016890593 0 ( 35 , 0
) 643962658 0 1 ( 643962658 0 457602059 0 ) 643962658 0 ( 25 0 35 , 0
, , w
, , , , . w
ji
ji
= + =
+ =

Por fim, para a matriz de pesos nmero 1 (entre a entrada e a camada escondida),
temos:
(i)
i j ji ji
y y E z w w +
[ ] 62 , 0 ) 634135591 0 1 ( 634135591 0 0 ) 643962658 0 ( 25 0 62 , 0 = + = , , , . w
ji

(ii)
i j ji ji
y y E z w w +
[ ] 42 , 0 ) 457602059 0 1 ( 457602059 0 0 ) 643962658 0 ( 25 0 42 , 0 = + = , , , . w
ji

(iii)
i j ji ji
y y E z w w +
[ ]
512648936 , 0 ) 037351064 , 0 ( 55 , 0
) 634135591 0 1 ( 634135591 0 0 ) 643962658 0 ( 25 0 55 , 0
= + =
+ =
ji
ji
w
, , , . w

(iv)
i j ji ji
y y E z w w +
[ ]
209958271 0 ) 039958271 0 ( 17 , 0
) 457602059 0 1 ( 457602059 0 0 ) 643962658 0 ( 25 0 17 , 0
. , w
, , , . w
ji
ji
= + =
+ =


O mesmo procedimento deve ser aplicado para os prximos valores de
aprendizado, mas agora utilizando os pesos novos.
ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 12 -
4. Concluso

As redes neurais possibilitam multicamadas apresentam uma evoluo no poder
computacional em relao s redes de camada nica devido sua maior capacidade de
representao, esta explicada pelo uso de camadas escondidas e de funes de ativao
no-lineares. Embora nas multicamadas o erro no seja to evidente, ele possvel de
ser calculado atravs de tcnicas como o Back-Propagation, permitindo assim o
aprendizado por treinamento, principal caracterstica das redes neurais.
Observou-se as diversas aplicaes nas quais possvel utilizar esta tcnica de
Inteligncia Artificial e tambm a analogia entre as RNNs e a mquina de Turing.

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO
Departamento de Engenharia de Computao e Sistemas Digitais



Inteligncia Artificial Redes Neurais Multi-Camadas

- Pgina 13 -
Referncias

[1] RUSSEL, S. J.; NORVIG, P. Artificial Intelligence: A Modern Approach. 2 edio. New Jersey:
Prentice Hall, 2002. 1132 p.
[2] http://neurovision.sourceforge.net/ (acessado em 10/11/2008).
[3] http://sourceforge.net/projects/smith-project/ (acessado em 10/11/2008).
[4] CYBENKO, G. V. Approximation by Superpositions of a Sigmoidal function. Mathematics of Control,
Signals and Systems, vol. 2 no. 4 pp. 303-314. 1989.
[5] HYOTYNIEMI, H. Turing Machines are Recurrent Neural Networks. 1996.
[6] RUMELHART, D. E.; HINTON, G. E.; WILLIAMS, R. J. Learning Internal Representations by Error
Propagation. In Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Vol.
1: Foundations, D. E. Rumelhart and J. L. McClelland, Eds. Mit Press Computational Models Of
Cognition And Perception Series. MIT Press, Cambridge, MA, 318-362. 1986.
[7] SIEGELMANN, H. T. Neural and Super-Turing Computing. Minds Mach. 13, 1, 103-114. 2003.
[8] SIEGELMANN, H. T. The Simple Dynamics of Super-Turing Theories. Theor. Comput. Sci. 168, 2,
461-472. 1996.
[9] http://binds.cs.umass.edu/anna_cp.html (acessado em 10/11/2008).
[10] BODEN, M. A. Artificial Intelligence. 1st. Morgan Kaufmann Publishers Inc. 1996.
[11] NILSSON, N. J. 1998 Artificial Intelligence: a New Synthesis. Morgan Kaufmann Publishers Inc.
1998.

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